The Refactoring Since creating the new KanbanPane class, there has been some wrapper methods to access Kanban’s private utility methods. This refactoring uses move method to move that utility method from Kanban to KanbanPane. Before 1 2 3 4 5 6 7 8 9 10 11 12 # app/models/kanban.rb class Kanban def missing_settings(pane, options={}) skip_status …
Tag: refactoring
Daily Refactor #52: Remove Middle Man Kanban#find
The Refactoring Now that everything has been refactored out of Kanban#find, there really is no use for it. All that it does is to wrap the constructor so it’s now useless code. Before 1 2 3 4 5 6 # app/models/kanban.rb class Kanban def self.find Kanban.new end end# app/models/kanban.rb class Kanban def self.find Kanban.new end …
Daily Refactor #51: Lazy Load Issues in Kanban
This change isn’t a strict refactoring since it’s adding a new feature, but since it was done with the intent of cleaning up the code I’m going to let it pass…. this time. The Refactoring The big problem with Kanban is that all callers have to use Kanban#find in order to setup the data. This …
Daily Refactor #50: Remove Middle Man methods in Kanban
In yesterday’s post I used Replace Data Value with Object to start converting much of the Kanban plugin’s code to be more object oriented. I finished up that refactoring in some other commits if you’re interested in how it went. The Refactoring As a result of this refactoring, I was left with a bunch of …
Daily Refactor #49: Replace Incoming Pane’s Data Value with Object
I’ve made a mistake. The last few refactorings I’ve been doing to the Kanban plugin have been useful but they haven’t really been improving the design of the plugin. I thought about it yesterday and discovered that I was just swapping out bits of procedural code for more procedural code. Once I saw this, I …