module ActsAsTree::TreeView

def tree_view(label_method = :to_s, node = nil, level = -1)


|_ subchild4
|_ subchild3
|_ child2
| |_ subchild2
| |_ subchild1
|_ child1
root
Example:
show records in a tree view
def tree_view(label_method = :to_s,  node = nil, level = -1)
  if node.nil?
    puts "root"
    nodes = roots
  else
    label = "|_ #{node.send(label_method)}"
    if level == 0
      puts " #{label}"
    else
      puts " |#{"    "*level}#{label}"
    end
    nodes = node.children
  end
  nodes.each do |child|
    tree_view(label_method, child, level+1)
  end
end