mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
27 lines
495 B
Ruby
27 lines
495 B
Ruby
class TrafficLight < ActiveRecord::Base
|
|
include ActiveRecord::StateMachine
|
|
|
|
state_machine do
|
|
state :off
|
|
|
|
state :red
|
|
state :green
|
|
state :yellow
|
|
|
|
event :red_on do
|
|
transitions :to => :red, :from => [:yellow]
|
|
end
|
|
|
|
event :green_on do
|
|
transitions :to => :green, :from => [:red]
|
|
end
|
|
|
|
event :yellow_on do
|
|
transitions :to => :yellow, :from => [:green]
|
|
end
|
|
|
|
event :reset do
|
|
transitions :to => :red, :from => [:off]
|
|
end
|
|
end
|
|
end
|