Sha256: 8c85fce7b237f3747c554d258010e22ed48ad5f1112caece88dba6169e83f0f5

Contents?: true

Size: 462 Bytes

Versions: 1

Compression:

Stored size: 462 Bytes

Contents

module FSM
  class Transition
    attr_accessor(:name, :from, :to, :event)
    def initialize(name, from, to, options = {})
      self.name = name
      self.from = from
      self.to = to
      self.event = Executable.new options[:event], true
    end
    
    def fire_event(target, args)
      self.event.execute(target, args)
    end    
    def to_s
      "Transition from #{self.from.name} -> #{self.to.name} with event #{self.event}"
    end    
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
simplificator-fsm-0.1.0 lib/fsm/transition.rb