Class: Tengine::Job::Structure::Visitor::TraceEdge
- Inherits:
-
Object
- Object
- Tengine::Job::Structure::Visitor::TraceEdge
- Defined in:
- lib/tengine/job/structure/visitor.rb
Instance Method Summary collapse
-
#initialize(&block) ⇒ TraceEdge
constructor
A new instance of TraceEdge.
- #visit(obj) ⇒ Object
Constructor Details
#initialize(&block) ⇒ TraceEdge
Returns a new instance of TraceEdge.
53 54 55 |
# File 'lib/tengine/job/structure/visitor.rb', line 53 def initialize(&block) @block = block end |
Instance Method Details
#visit(obj) ⇒ Object
57 58 59 60 61 62 63 64 |
# File 'lib/tengine/job/structure/visitor.rb', line 57 def visit(obj) @block.call(obj) if obj.respond_to?(:destination) obj.destination.accept_visitor(self) elsif obj.respond_to?(:next_edges) obj.next_edges.each{|edge| edge.accept_visitor(self) } end end |