An implementation of the State Design Pattern in Ruby. The State Design Pattern allows an object to alter its behavior when its internal state changes.
Dwayne R. Crooks
MIT