After several refactorings to WikiController, finally the #special method isn’t pretending to be a traffic cop anymore (routing to other methods). Since it doesn’t have any other purpose now, I’m going to use remove method to toss it into the bit bucket. Before 1 2 3 4 5 6 7 8 9 10 class WikiController …
Category: Articles
Refactoring Redmine – Thanks
Normally a book will have an acknowledgments section where the author lists all of the people they want to thank. But that’s always seemed odd to me, since the only people who buy the book can actually see that section. Of those people, how many actually read through the acknowledgments section? I know I rarely …
Redmine Refactor #136: Extract Method date_index in WikiController#special
As a follow up to last Friday’s refactoring of WikiController#special, today I used extract method to remove the date_index method. Before 1 2 3 4 5 6 7 8 9 10 class WikiController 'export', :id => @project # Compatibility stub while refactoring return else # requested special page doesn't exist, redirect to default page redirect_to …
Redmine Refactor #135: Extract Method page_index in WikiController#special
With the #load_pages_grouped_by_date_without_content method extracted in WikiController#special from yesterday, I can now get back to splitting up #special. Before 1 2 3 4 5 6 7 8 9 10 class WikiController 'export', :id => @project # Compatibility stub while refactoring return else # requested special page doesn't exist, redirect to default page redirect_to :action => …
Redmine Refactor #134: Extract Method in WikiController#special to utility method
I’m still working on refactoring that case statement in WikiController#special but before I can extract the next actions (page_index,date_index), I need to refactor some of it’s inner logic. Before 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 class WikiController "#{WikiPage.table_name}.*, #{WikiContent.table_name}.updated_on", :joins => "LEFT JOIN #{WikiContent.table_name} ON …