The worked example from Growing Object-Oriented Software, Guided By Tests, ported to Ruby