class Tengine::Job::Structure::Visitor::TraceEdge

Public Class Methods

new(&block) click to toggle source
# File lib/tengine/job/structure/visitor.rb, line 53
def initialize(&block)
  @block = block
end

Public Instance Methods

visit(obj) click to toggle source
# 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