Martin Fowler's example in Ruby