The Ruby Way: Solutions and Techniques in Ruby Programming (3rd Edition) (Addison-Wesley Professional Ruby Series)