blob: f8cfddbef920900f95171baf739da383f14c0a3d (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
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
|