examples from The Well-Grounded Rubyist, David A. Black, Manning