Bad news. The server hosting The Ruby Toolbox went bust on the evening of June 7th. While I do have backups, the original source code is in a very outdated state so I currently don't feel it makes sense to try and get it running again.

For the time being, here is a very stripped down version of the Ruby Toolbox's contents.

Update June 13th: I'd like to invite you to join the discussion on the future of the Toolbox on github. You can also get in touch directly on Twitter.

 Score 6.02

State machine

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

 Score 3.51


AASM is a continuation of the acts-as-state-machine rails plugin, built for plain Ruby objects.

 Rubygem aasm
 Github aasm/aasm
 Score 1.36


Workflow is a finite-state-machine-inspired API for modeling and interacting with what we tend to refer to as 'workflow'. * nice DSL to describe your states, events and transitions * robust integration with ActiveRecord and non relational data stores * various hooks for single transitions, entering state etc. * convenient access to the workflow specification: list states, possible events for particular state

 Rubygem workflow
 Github geekq/workflow
 Score 0.67


A statesmanlike state machine library

 Rubygem statesman
 Score 0.61


Lightweight state machine extracted from ActiveModel

 Score 0.52


ruote is an open source Ruby workflow engine

 Rubygem ruote
 Github jmettraux/ruote
 Score 0.48


There are many finite state machine implementations for Ruby, and they all provide a nice DSL for declaring events, exceptions, callbacks, and all kinds of niceties in general. But if all you want is a finite state machine, look no further: this has less than 50 lines of code and provides everything a finite state machine must have, and nothing more.

 Score 0.2


State machine that allows dynamic transitions for business workflows

 Rubygem stateflow
 Score 0.11



 Score 0.05


AlterEgo is a Ruby implementation of the State pattern as described by the Gang of Four. It differs from other Ruby state machine libraries in that it focuses on providing polymorphic behavior based on object state. In effect, it makes it easy to give an object different personalities depending on the state it is in.

 Rubygem alter-ego
 Github avdi/alter-ego

A simple DSL to decorate existing methods with state transition guards.

 Github mdh/ssm
 Score 0.03


A rich library for state-oriented programming with state machines / workflows

 Rubygem state-fu
 Score 0.01


ActiveRecord Model Status Manager

 Score 0.01


Adds finite state machine behaviour to Ruby classes. Meant as an alternative to acts_as_state_machine/AASM.

 Score 0.01


'State' Design Pattern from the Gang of Four book. Many other state machines focus on events and transitions. This state machine focuses on behavior and reducing conditional logic.

 Score 0.01


Stamina is an automaton and regular inference toolkit initially developped for the baseline of the Stamina Competition (

 Rubygem stamina