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