Refactoring In Ruby door William C. Wake & Kevin Rutherford