Refactoring Ruby Edition
(with Kent Beck)
This must be the easiest book I've ever written, since I didn't do very much work on it at all. The book began when co-authors Jay and Shane came to me and asked if they could my existing Refactoring book and re-work for Ruby. This was a lot of work on their part as they had to go through every line of the existing and rework it for a ruby context. Every code example in the book had to be changed. They also added some additional refactorings from their experience in Ruby, refactorings that are also useful for other dynamic languages. They are both experienced Ruby programmers who have also worked in Java and C#, so have the ideal background to do this.
This edition is the obvious choice for people who are more familiar with Ruby than they are with Java. It also exposes some of the issues you're likely to run into with a dynamic language.