state_machine

https://github.com/pluginaweek/state_machine

Ruby

Adds support for creating state machines for attributes on any Ruby class

StateMachine::Machine#sibling_machines

Looks up other machines that have been defined in the owner class and
are targeting the same attribute as this machine.  When accessing
sibling machines, they will be automatically copied for the current
class if they haven't been already.  This ensures that any configuration
changes made to the sibling machines only affect this class and not any
base class that may have originally defined the machine.

Source | Google | Stack overflow

Edit

git clone [email protected]:pluginaweek/state_machine.git

cd state_machine

open lib/state_machine/machine.rb

Contribute

# Make a new branch

git checkout -b -your-name--update-docs-StateMachine--Machine-sibling_machines-for-pr


# Commit to git

git add lib/state_machine/machine.rbgit commit -m "better docs for StateMachine::Machine#sibling_machines"


# Open pull request

gem install hub # on a mac you can `brew install hub`

hub fork

git push <your name> -your-name--update-docs-StateMachine--Machine-sibling_machines-for-pr

hub pull-request


# Celebrate!