class Petri::Arc

Attributes

from_node[R]
to_node[R]
type[R]

Public Class Methods

new(net, from: nil, to: nil, type: nil, guid: nil, production_rule: nil, guard: nil, timer_rule: nil) click to toggle source
Calls superclass method
# File lib/petri/arc.rb, line 5
def initialize(net, from: nil, to: nil, type: nil, guid: nil, production_rule: nil, guard: nil, timer_rule: nil)
  super(net, {guid: guid, production_rule: production_rule, guard: guard, timer_rule: timer_rule})
  @from_node = from
  @to_node = to
  @type = type.try(:to_sym) || :regular
end
normalize_guard(guard) click to toggle source
# File lib/petri/arc.rb, line 40
def self.normalize_guard(guard)
  return unless guard
  guard.to_s.gsub(/\s+/, ' ').strip
end

Public Instance Methods

guard() click to toggle source
# File lib/petri/arc.rb, line 28
def guard
  data[:guard]
end
inhibitor?() click to toggle source
# File lib/petri/arc.rb, line 20
def inhibitor?
  @type == :inhibitor
end
normalized_guard() click to toggle source
# File lib/petri/arc.rb, line 36
def normalized_guard
  self.class.normalize_guard(guard)
end
production_rule() click to toggle source
# File lib/petri/arc.rb, line 24
def production_rule
  data[:production_rule]
end
regular?() click to toggle source
# File lib/petri/arc.rb, line 16
def regular?
  @type == :regular
end
reset?() click to toggle source
# File lib/petri/arc.rb, line 12
def reset?
  @type == :reset
end
timer_rule() click to toggle source
# File lib/petri/arc.rb, line 32
def timer_rule
  data[:timer_rule]
end