Module | ActiveLdap::Acts::Tree |
In: |
lib/active_ldap/acts/tree.rb
|
# File lib/active_ldap/acts/tree.rb, line 4 4: def self.included(base) 5: base.class_eval do 6: extend(ClassMethods) 7: association_accessor(:children) do |target| 8: Association::Children.new(target, {}) 9: end 10: end 11: end
# File lib/active_ldap/acts/tree.rb, line 49 49: def parent 50: if base == self.class.base 51: nil 52: else 53: find(:first, :base => base, :scope => :base) 54: end 55: end
# File lib/active_ldap/acts/tree.rb, line 57 57: def parent=(entry) 58: if entry.is_a?(String) 59: base = entry 60: elsif entry.respond_to?(:dn) 61: base = entry.dn 62: if entry.respond_to?(:clear_association_cache) 63: entry.clear_association_cache 64: end 65: else 66: message = _("parent must be an entry or parent DN: %s") % entry.inspect 67: raise ArgumentError, message 68: end 69: destroy unless new_entry? 70: self.dn = "#{dn_attribute}=#{id},#{base}" 71: save 72: end