Class: Tree::TreeNode

Inherits:
Object
  • Object
show all
Defined in:
lib/stackprofiler/utils.rb

Instance Method Summary collapse

Instance Method Details

#reverse_depth_first(&blk) ⇒ Object



3
4
5
6
7
8
9
10
11
12
13
# File 'lib/stackprofiler/utils.rb', line 3

def reverse_depth_first &blk
  depths = Hash.new {|h, k| h[k] = [] }
  root.each {|n| depths[n.node_depth].push n }
  depths.delete 0
  keys = depths.keys.sort.reverse

  keys.each do |depth|
    nodes = depths[depth]
    nodes.each &blk
  end
end