Module: HierarchicalDb::ClassMethods
- Defined in:
- lib/hierarchical_db.rb
Instance Method Summary collapse
Instance Method Details
#display_tree ⇒ Object
32 33 34 35 |
# File 'lib/hierarchical_db.rb', line 32 def display_tree instance_node = self.new self.where(:"#{instance_node.parent_key}" => nil).each{|n| n.display_subtree } end |
#is_sorted? ⇒ Boolean
13 14 15 16 17 18 19 |
# File 'lib/hierarchical_db.rb', line 13 def is_sorted? unless self.first.nil? !self.first.lft.nil? else false end end |
#sort_tree ⇒ Object
21 22 23 24 25 26 27 28 29 30 |
# File 'lib/hierarchical_db.rb', line 21 def sort_tree instance_node = self.new root_nodes = self.where(:"#{instance_node.parent_key}" => nil).to_a if root_nodes.length == 1 root_nodes[0].sort_subtree(1,1) else right = 2 root_nodes.each{|n| right = n.sort_subtree(right, 1) } end end |