micromachine 1.2.0
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.
Gemfile:
=
install:
=
Development Dependencies (1):
cutest
>= 0