class Petri::Transition

Public Instance Methods

action() click to toggle source

@return [String, nil]

# File lib/petri/transition.rb, line 5
def action
  @data[:action].presence
end
automated?() click to toggle source
# File lib/petri/transition.rb, line 9
def automated?
  @data[:automated].present?
end
guard_arcs() click to toggle source

@return [Array<Arc>]

# File lib/petri/transition.rb, line 36
def guard_arcs
  ingoing_arcs.select { |arc| arc.guard.present? }
end
inhibitor_places() click to toggle source
# File lib/petri/transition.rb, line 13
def inhibitor_places
  ingoing_arcs.select(&:inhibitor?).map(&:from_node)
end
input_places() click to toggle source
# File lib/petri/transition.rb, line 17
def input_places
  input_nodes
end
inspect() click to toggle source
# File lib/petri/transition.rb, line 48
def inspect
  "Petri::Transition<#{identifier}>"
end
output_places() click to toggle source
# File lib/petri/transition.rb, line 21
def output_places
  output_nodes
end
places_to_reset() click to toggle source

@return [Array<Place>]

# File lib/petri/transition.rb, line 26
def places_to_reset
  reset_arcs.map(&:to_node)
end
reset_arcs() click to toggle source

@return [Array<Arc>]

# File lib/petri/transition.rb, line 31
def reset_arcs
  net.arcs.select { |arc| arc.from_node == self && arc.reset? }
end
timer_arc() click to toggle source
# File lib/petri/transition.rb, line 40
def timer_arc
  input_arcs.find { |arc| arc.timer_rule.present? }
end
timer_rule() click to toggle source
# File lib/petri/transition.rb, line 44
def timer_rule
  timer_arc.try!(:timer_rule)
end