class Lab42::StateMachine::DSL
Constants
- IllegalMonitorState
Attributes
current_state[R]
machine[R]
Public Class Methods
new(machine, &blk)
click to toggle source
# File lib/lab42/state_machine/dsl.rb, line 21 def initialize machine, &blk @machine = machine instance_eval(&blk) end
Public Instance Methods
state(designation, &blk)
click to toggle source
# File lib/lab42/state_machine/dsl.rb, line 8 def state designation, &blk @current_state = designation instance_eval(&blk) end
trigger(trigger_exp, new_state = nil, &blk)
click to toggle source
# File lib/lab42/state_machine/dsl.rb, line 13 def trigger trigger_exp, new_state = nil, &blk raise IllegalMonitorState unless current_state machine.add(current_state, trigger_exp, blk, new_state) end