Sha256: 962a2fd5cc31e15c95c61249fdf6710a1c210cd1f95356f23e5621f62d0b3925

Contents?: true

Size: 721 Bytes

Versions: 54

Compression:

Stored size: 721 Bytes

Contents

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

54 entries across 54 versions & 7 rubygems

Version Path
joelind-state_machine-0.8.1 examples/vehicle.rb
pluginaweek-state_machine-0.7.6 examples/vehicle.rb
pluginaweek-state_machine-0.8.0 examples/vehicle.rb
state_machine-1.1.2 examples/vehicle.rb
state_machine-1.1.1 examples/vehicle.rb
state_machine-1.1.0 examples/vehicle.rb
state_machine-1.0.3 examples/vehicle.rb
hsume2-state_machine-1.0.5 examples/vehicle.rb
state_machine-1.0.2 examples/vehicle.rb
hsume2-state_machine-1.0.4 examples/vehicle.rb
hsume2-state_machine-1.0.3 examples/vehicle.rb
hsume2-state_machine-1.0.2 examples/vehicle.rb
hsume2-state_machine-1.0.1 examples/vehicle.rb
state_machine-1.0.1 examples/vehicle.rb
state_machine-1.0.0 examples/vehicle.rb
state_machine-0.10.4 examples/vehicle.rb
state_machine-0.10.3 examples/vehicle.rb
state_machine-0.10.2 examples/vehicle.rb
state_machine-0.10.1 examples/vehicle.rb
state_machine-0.10.0 examples/vehicle.rb