state_machine
https://github.com/pluginaweek/state_machine
Ruby
Adds support for creating state machines for attributes on any Ruby class
StateMachine::Branch#draw
Draws a representation of this branch on the given graph. This will draw an edge between every state this branch matches *from* to either the configured to state or, if none specified, then a loopback to the from state. For example, if the following from states are configured: * +idling+ * +first_gear+ * +backing_up+ ...and the to state is +parked+, then the following edges will be created: * +idling+ -> +parked+ * +first_gear+ -> +parked+ * +backing_up+ -> +parked+ Each edge will be labeled with the name of the event that would cause the transition.
Edit
git clone [email protected]:pluginaweek/state_machine.git
cd state_machine
open lib/state_machine/branch.rb
Contribute
# Make a new branchgit checkout -b -your-name--update-docs-StateMachine--Branch-draw-for-pr
# Commit to gitgit add lib/state_machine/branch.rbgit commit -m "better docs for StateMachine::Branch#draw"
# Open pull requestgem install hub # on a mac you can `brew install hub`
hub fork
git push <your name> -your-name--update-docs-StateMachine--Branch-draw-for-pr
hub pull-request
# Celebrate!