Class: Tengine::Job::Edge::Closer
- Inherits:
-
Object
- Object
- Tengine::Job::Edge::Closer
- Defined in:
- lib/tengine/job/edge.rb
Instance Method Summary collapse
Instance Method Details
#visit(obj) ⇒ Object
132 133 134 135 136 137 138 139 140 141 142 143 144 145 |
# File 'lib/tengine/job/edge.rb', line 132 def visit(obj) if obj.is_a?(Tengine::Job::End) if parent = obj.parent (parent.next_edges || []).each{|edge| edge.accept_visitor(self)} end elsif obj.is_a?(Tengine::Job::Vertex) obj.next_edges.each{|edge| edge.accept_visitor(self)} elsif obj.is_a?(Tengine::Job::Edge) obj.close(nil) obj.destination.accept_visitor(self) else raise "Unsupported class #{obj.inspect}" end end |