Working through the Refactoring: Ruby Edition book by Martin Fowler