Class: Metamorpher::Rewriter::Traverser
- Inherits:
-
Object
- Object
- Metamorpher::Rewriter::Traverser
- Defined in:
- lib/metamorpher/rewriter/traverser.rb
Instance Method Summary collapse
Instance Method Details
#traverse(tree) ⇒ Object
4 5 6 7 8 9 10 11 12 13 |
# File 'lib/metamorpher/rewriter/traverser.rb', line 4 def traverse(tree) Enumerator.new(count(tree)) do |yielder| waiting = [tree] until waiting.empty? current = waiting.shift yielder << current waiting.concat(children(current)) end end end |