Redefine rake routes to add your own custom tag in Rails

by Deepak,

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
task(:notes).clear

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

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

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

More articles

Getting Started with DeepAgents: Building Structured, Long-Running AI Agents

A practical introduction to LangChain’s Deep Agents—exploring planning, memory, iterative workflows, subagents, and how this framework enables long-horizon AI reasoning.

Read more

Operating Kafka in Rails with Karafka: Production Architecture, Consumers, and DLQs (Part 2)

In Part 2, we dive deep into the Sync-Out pipeline—how Rails publishes events to Kafka, how our legacy adapter writes to SQL Server 2009 using TinyTDS, and how Dead-Letter Queues (DLQs) became our lifeline during production incidents. This post covers transaction management, service objects, and operational workflows for handling failures.

Read more

Ready to Build Something Amazing?

Codemancers can bring your vision to life and help you achieve your goals