Class: DepthFirstSearchIterator

Inherits:
Object
  • Object
show all
Defined in:
lib/xml_command_handlers/models/depth_first_search_iterator.rb

Instance Method Summary collapse

Constructor Details

#initialize(node, node_visitor) ⇒ DepthFirstSearchIterator

Returns a new instance of DepthFirstSearchIterator.



2
3
4
5
# File 'lib/xml_command_handlers/models/depth_first_search_iterator.rb', line 2

def initialize(node, node_visitor)
  @node = node
  @node_visitor = node_visitor
end

Instance Method Details

#iterateObject



7
8
9
# File 'lib/xml_command_handlers/models/depth_first_search_iterator.rb', line 7

def iterate
  process(@node)
end

#process(node) ⇒ Object



11
12
13
14
15
# File 'lib/xml_command_handlers/models/depth_first_search_iterator.rb', line 11

def process(node)
  @node_visitor.process_before_children(node)
  node.children.each { |child| process(child) } unless node.is_a?(String)
  @node_visitor.process_after_children(node)
end