lib/micromachine.rb in soveran-micromachine-0.0.4 vs lib/micromachine.rb in soveran-micromachine-0.0.5

- old
+ new

@@ -2,29 +2,29 @@ # # Usage: # # fsm = MicroMachine.new(:new) # Initial state. # -# fsm.events[:confirm] = { :new => :confirmed } -# fsm.events[:ignore] = { :new => :ignored } -# fsm.events[:reset] = { :confirmed => :new, :ignored => :new } +# fsm.transitions_for[:confirm] = { :new => :confirmed } +# fsm.transitions_for[:ignore] = { :new => :ignored } +# fsm.transitions_for[:reset] = { :confirmed => :new, :ignored => :new } # -# fsm.fire(:confirm) #=> true -# fsm.fire(:ignore) #=> false -# fsm.fire(:reset) #=> true -# fsm.fire(:ignore) #=> true +# fsm.trigger(:confirm) #=> true +# fsm.trigger(:ignore) #=> false +# fsm.trigger(:reset) #=> true +# fsm.trigger(:ignore) #=> true # class MicroMachine - attr :events + attr :transitions_for attr :state def initialize initial_state @state = initial_state - @events = Hash.new + @transitions_for = Hash.new end - def fire event - if events[event][@state] - @state = events[event][@state] + def trigger event + if transitions_for[event][@state] + @state = transitions_for[event][@state] end end end