Method: Tree::Node::InstanceMethods#map

Defined in:
lib/tree_node.rb

#map(direction, collecting_object = [], &block) ⇒ Object



14
15
16
17
18
19
20
21
22
23
# File 'lib/tree_node.rb', line 14

def map(direction, collecting_object = [], &block)
  if direction == :down
    collecting_object << block.call(self)
    children.each { |child| child.map(direction, collecting_object, &block) }
  else
    parent.map(direction, collecting_object, &block) if parent
    collecting_object << block.call(self)
  end
  collecting_object
end