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.

Source | Google | Stack overflow

Edit

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

cd state_machine

open lib/state_machine/branch.rb

Contribute

# Make a new branch

git checkout -b -your-name--update-docs-StateMachine--Branch-draw-for-pr


# Commit to git

git add lib/state_machine/branch.rbgit commit -m "better docs for StateMachine::Branch#draw"


# 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--Branch-draw-for-pr

hub pull-request


# Celebrate!