= Acts As State Machine This act gives an Active Record model the ability to act as a finite state machine (FSM). Acquire via subversion at: http://elitists.textdriven.com/svn/plugins/acts_as_state_machine/trunk If prompted, use the user/pass anonymous/anonymous. == Example class Order < ActiveRecord::Base acts_as_state_machine :initial => :opened state :opened state :closed, :enter => Proc.new {|o| Mailer.send_notice(o)} state :returned event :close do transitions :to => :closed, :from => :opened end event :return do transitions :to => :returned, :from => :closed end end o = Order.create o.close! # notice is sent by mailer o.return!