Build Status Code Climate Test Coverage Inline docs Gem Version Gem Downloads Dependency Status License

Visualize State Machines using GraphViz


Stateoscope depends on GraphViz for generating the graphs. You need to make sure that GraphViz is properly installed on your system before you will be able to generate graphs. If you are on a Mac, you can install GraphViz via Homebrew

$ brew install graphviz

Add this line to your application's Gemfile:

gem 'stateoscope', group: :development

And then execute:

$ bundle


To generate a state machine visualization for your Model, run

rake 'stateoscope:visualize[Model]'

If you have multiple state machines defined on your model, you can pass the name of the state machine as second parameter

rake 'stateoscope:visualize[Model,specific_state_machine]'

In both cases, a PDF file containing the graph visualization will be saved to the current directory.


Stateoscope is currently integrated with the following state machine gems:


After checking out the repo, run bin/setup to install dependencies. Then, run rake spec to run the tests. You can also run bin/console for an interactive prompt that will allow you to experiment.

To install this gem onto your local machine, run bundle exec rake install. To release a new version, update the version number in version.rb, and then run bundle exec rake release, which will create a git tag for the version, push git commits and tags, and push the .gem file to


Bug reports and pull requests are welcome on GitHub at