I’m starting to refactor Redmine’s IssuesController again. It’s a very cluttered controller that hasn’t been refactored as it’s grown, so I’ll need to build up my confidence with it over the next few refactorings. To start I used extract method to pull out a new useful utility method to the ApplicationController. Before 1 2 3 …
Category: Articles
Redmine Refactor #83: Self Encapsulate Field in User
I wanted to do a refactoring that I noticed while working on my redmine_lock_users plugin. Redmine tracks the User status with a single integer field and provides some constants to access them. The problem with this is that every other class has to know and use those constants to change a status. By using self …
Redmine Refactor #82: Extract Method to shoulda Macro in AccountControllerTest
I’m starting on my daily refactors again but this time I’m going to focus on the Redmine core codebase. With Redmine’s recent 1.0 release, I now have the flexibility to make some major changes to it’s internal code to get it ready for some new features. To start, I wanted to use extract method to …
Redmine Remove Membership 0.1.0 released
Last week I created another Redmine plugin to setup staging and testing servers with Redmine called Redmine Remove Membership. It’s a simple plugin that adds a Rake task to Redmine that will revoke the membership of a user from all projects. My client is using this on their staging server to quickly setup a limited …
Redmine Lock Users 0.1.0 released
This past week I created a plugin for one of my Redmine clients called Redmine Lock Users. It’s a simple plugin that adds a Rake task to Redmine to make it easy to lock all of the user accounts in the system. We have been using this to lock down testing and staging servers. Since …