lib/macros4cuke/coll-walker-factory.rb in macros4cuke-0.5.09 vs lib/macros4cuke/coll-walker-factory.rb in macros4cuke-0.5.10
- old
+ new
@@ -10,17 +10,20 @@
# The walker performs a depth-first visit and yields visit events.
class CollWalkerFactory
# Structure used internally by the walker
StringNode = Struct.new(:event, :text, :extra)
+ # Factory method.
+ # @param aMacroCollection [MacroCollection] The collection of macros
+ # encountered so far
+ # @return [Enumerator]
def build_walker(aMacroCollection)
level = 0
collection = aMacroCollection
current_node = collection
backlog = collection.macro_steps.values
- visitor = Enumerator.new do
- |result_receiver| # 'result_receiver' is a Yielder
+ visitor = Enumerator.new do |result_receiver| # argument is a Yielder
loop do
case current_node
when MacroCollection
result_receiver << [:on_collection, level, current_node]
level += 1