Since Redmine’s codebase was in a pretty poor shape I started a daily series to refactor it and show how I did it. This series ended up being used as the source for Refactoring Redmine (after a bunch of editing). Get the full ebook Daily Refactor #1: Extract Method in the BulkTimeEntriesController – saving a new TimeEntry Daily Refactor #2: Move Method in the BulkTimeEntriesController – saving a n