aboutsummaryrefslogblamecommitdiffstats
path: root/activerecord/test/models/traffic_light.rb
blob: f8cfddbef920900f95171baf739da383f14c0a3d (plain) (tree)


























                                                   
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