aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/test/models
diff options
context:
space:
mode:
authorEmilio Tagua <miloops@gmail.com>2009-08-05 14:52:07 -0300
committerEmilio Tagua <miloops@gmail.com>2009-08-05 14:52:07 -0300
commitae175a5354321fd64393b9e1f4080437ee3cdf74 (patch)
tree43a858b6f5c88ff418c97274f34abe833ff490ce /activerecord/test/models
parentf8eb4434d61fc1585c9b88dbb2d9159ea1f5b2fa (diff)
parentcfd421daa2b04216e27d666361eb4053020e027d (diff)
downloadrails-ae175a5354321fd64393b9e1f4080437ee3cdf74.tar.gz
rails-ae175a5354321fd64393b9e1f4080437ee3cdf74.tar.bz2
rails-ae175a5354321fd64393b9e1f4080437ee3cdf74.zip
Merge commit 'rails/master'
Diffstat (limited to 'activerecord/test/models')
-rw-r--r--activerecord/test/models/traffic_light.rb27
1 files changed, 27 insertions, 0 deletions
diff --git a/activerecord/test/models/traffic_light.rb b/activerecord/test/models/traffic_light.rb
new file mode 100644
index 0000000000..f8cfddbef9
--- /dev/null
+++ b/activerecord/test/models/traffic_light.rb
@@ -0,0 +1,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