State machines in Rails: how an object moves through its lifecycle
For readers who have not written Ruby, but want to understand how Rails apps describe the lifecycle of business objects - and why that almost always means a finite state machine. Examples are cut down to the essentials.