Programming Ruby 1.9: The Pragmatic Programmers' Guide (Facets of Ruby)