Returns list of ancestors, starting from parent until root.
subchild1.ancestors # => [child1, root]
# File lib/active_ldap/acts/tree.rb, line 22
22: def ancestors
23: node, nodes = self, []
24: nodes << node = node.parent while node.parent
25: nodes
26: 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) or entry.is_a?(DN)
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
Returns the root node of the tree.
# File lib/active_ldap/acts/tree.rb, line 29
29: def root
30: node = self
31: node = node.parent while node.parent
32: node
33: end
Disabled; run with --debug to generate this.
Generated with the Darkfish Rdoc Generator 1.1.6.