Redefine rake routes to add your own custom tag in Rails

Written by Deepak on July 12, 2013, tagged under rake, rails, tips,

WTFs per minute

The only valid measurement of code quality is: WTFs/minute

Now Rails has this nifty rake task called rake notes. You can always see notes for a custom tag by:

~> rake notes:custom ANNOTATION=WTF

But rake notes by default only shows notes for OPTIMIZE, FIXME and TODO The Rakefile for changing those defaults is

# for re-defining the Rake task
# otherwise the previous Rake task is still called

desc "Enumerate all annotations
      (use notes:optimize, :fixme, :todo, :wtf for focus)"
task :notes do
  SourceAnnotationExtractor.enumerate "OPTIMIZE|FIXME|TODO|WTF",
                                      :tag => true

namespace :notes do
  task :wtf do
    SourceAnnotationExtractor.enumerate "WTF", :tag => true

Here we have redefined rake notes. The only gotcha is to remember to clear the old rake task by calling task(:notes).clear

For other customizations eg. search the spec folder also you will have to monkey-patch the SourceAnnotationExtractor class

PS: also check this Stackoverflow thread for some fun picks