Sha256: f385fefcaf396732bc22b559bebd8cd11d0cb70ed52d80e33e2d635cf0af2f25
Contents?: true
Size: 746 Bytes
Versions: 14
Compression:
Stored size: 746 Bytes
Contents
require 'state_machine' class Vehicle state_machine :initial => :parked do event :park do transition [:idling, :first_gear] => :parked end event :ignite do transition :stalled => same, :parked => :idling end event :idle do transition :first_gear => :idling end event :shift_up do transition :idling => :first_gear, :first_gear => :second_gear, :second_gear => :third_gear end event :shift_down do transition :third_gear => :second_gear, :second_gear => :first_gear end event :crash do transition [:first_gear, :second_gear, :third_gear] => :stalled end event :repair do transition :stalled => :parked end end end
Version data entries
14 entries across 14 versions & 9 rubygems