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.



4
5
6
7
# File 'lib/glimmer/xml/depth_first_search_iterator.rb', line 4

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

Instance Method Details

#iterateObject



9
10
11
# File 'lib/glimmer/xml/depth_first_search_iterator.rb', line 9

def iterate
  process(@node)
end

#process(node) ⇒ Object



13
14
15
16
17
# File 'lib/glimmer/xml/depth_first_search_iterator.rb', line 13

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