state_machine
https://github.com/pluginaweek/state_machine
Ruby
Adds support for creating state machines for attributes on any Ruby class
StateMachine::Transition#attributes
A hash of all the core attributes defined for this transition with their
names as keys and values of the attributes as values.
== Example
machine = StateMachine.new(Vehicle)
transition = StateMachine::Transition.new(Vehicle.new, machine, :ignite, :parked, :idling)
transition.attributes # => {:object => #<Vehicle:0xb7d60ea4>, :attribute => :state, :event => :ignite, :from => 'parked', :to => 'idling'}Edit
git clone [email protected]:pluginaweek/state_machine.git
cd state_machine
open lib/state_machine/transition.rb
Contribute
# Make a new branchgit checkout -b -your-name--update-docs-StateMachine--Transition-attributes-for-pr
# Commit to gitgit add lib/state_machine/transition.rbgit commit -m "better docs for StateMachine::Transition#attributes"
# Open pull requestgem install hub # on a mac you can `brew install hub`
hub fork
git push <your name> -your-name--update-docs-StateMachine--Transition-attributes-for-pr
hub pull-request
# Celebrate!