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