Big News, Rails Rumble is now Ruby Rampage!


Oct 06, 2008

Hey Rumblers! As we approach the start of the competition on 18 October, I wanted to draw your attention to a great, free resource to accelerate the development and debugging of your entries: HopToad by thoughtbot.

HopToad logoIn a nutshell, HopToad is a free service that takes the core functionality of the popular exception_notifier plugin (collecting and mailing uncaught exceptions) and adds a healthy dose of awesome. Instead of your inbox filling with exception notifications, HopToad will collate, count duplicates, and present your application exceptions by project, controller action, line number, and exception type. Details on any exception are just a click away and you can hide an exception type by marking it resolved.

Identification of duplicate exceptions by HopToad is worth the price of admission (free!) by itself. But wait, there's more! The fine folks at thoughtbot also provide an RSS feed of your notifications, digest summaries delivered to your inbox, and a slick, XML-based RESTful API that you can use to inject your own notifications (conveniently wrapped up in the notify_hoptoad method of the HopToad Notifier plugin) or pull out collected notifications. A cool example of the API in action is Brian Cooke's for OS X. screen capture


Installation of the HopToad Notifier plugin into your competition Rails app is super simple. Make sure you've signed up for an account and have an API key. Next, install the plugin via:

script/plugin install git://

You'll need to make some configuration changes in your app to start the flow of exceptions to HopToad. In config/initializers/hoptoad.rb:

HoptoadNotifier.configure do |config|  config.api_key = 'your_api_key_here'end

And in your ApplicationController:

include HoptoadNotifier::Catcher

Finally, you can test everything is working by sending a test notice to HopToad using:

rake hoptoad:test

... in your production environment.

Further Reading

Not yet convinced? Perhaps these fine links will sway you.