Module: HierarchicalDb::ClassMethods

Defined in:
lib/hierarchical_db.rb

Instance Method Summary collapse

Instance Method Details

#display_treeObject



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

Returns:

  • (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_treeObject



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