Class: TreeStand::BreadthFirstVisitor
- Inherits:
-
Object
- Object
- TreeStand::BreadthFirstVisitor
- Extended by:
- T::Sig
- Defined in:
- lib/tree_stand/breadth_first_visitor.rb
Overview
Breadth-first traversal through the tree, calling hooks at each stop.
Instance Method Summary collapse
- #around(node, &block) ⇒ Object
-
#initialize(node) ⇒ BreadthFirstVisitor
constructor
A new instance of BreadthFirstVisitor.
- #on(node) ⇒ Object
- #visit ⇒ Object
Constructor Details
#initialize(node) ⇒ BreadthFirstVisitor
Returns a new instance of BreadthFirstVisitor.
10 11 12 |
# File 'lib/tree_stand/breadth_first_visitor.rb', line 10 def initialize(node) @node = node end |
Instance Method Details
#around(node, &block) ⇒ Object
30 |
# File 'lib/tree_stand/breadth_first_visitor.rb', line 30 def around(node, &block) = yield |
#on(node) ⇒ Object
26 |
# File 'lib/tree_stand/breadth_first_visitor.rb', line 26 def on(node) = nil |
#visit ⇒ Object
18 19 20 21 22 |
# File 'lib/tree_stand/breadth_first_visitor.rb', line 18 def visit queue = [@node] visit_node(queue) while queue.any? self end |