Class: Glimmer::XML::DepthFirstSearchIterator

Inherits:
Object
  • Object
show all
Defined in:
lib/glimmer/xml/depth_first_search_iterator.rb

Instance Method Summary collapse

Constructor Details

#initialize(node, node_visitor) ⇒ DepthFirstSearchIterator

Returns a new instance of DepthFirstSearchIterator.



6
7
8
9
# File 'lib/glimmer/xml/depth_first_search_iterator.rb', line 6

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

Instance Method Details

#iterateObject



11
12
13
# File 'lib/glimmer/xml/depth_first_search_iterator.rb', line 11

def iterate
  process(@node)
end

#process(node) ⇒ Object



15
16
17
18
19
# File 'lib/glimmer/xml/depth_first_search_iterator.rb', line 15

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