Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
middleware for posting exceptions to http://hoptoadapp.com
Ruby
branch: master

Merge pull request #3 from TonyStrauss/master

Upgrade to Airbrake
latest commit ba9a670619
Tony Strauss authored
Failed to load latest commit information.
lib/rack
spec Output an errors reported back via Toadhopper
.gitignore update to bundler 0.9.9 compat
Gemfile Conform to recent versions of bundler and rspec.
LICENSE initial import of the hoptoad notifier code. i'd really like to see t…
README.md Mention Airbrake in the README.
Rakefile Fix gemspec.
TODO
rack_hoptoad.gemspec

README.md

rack_hoptoad

A gem that provides exception notifications to hoptoad/airbrake as rack middleware.

Usage

Throw something like this in your config.ru to enable notifications.

require 'rack/hoptoad'

use Rack::Hoptoad, 'fd48c7d26f724503a0280f808f44b339fc65fab8'

You can also exclude certain sensitive environmental variables using the block syntax

use Rack::Hoptoad, 'fd48c7d26f724503a0280f808f44b339fc65fab8' do |notifier|
  notifier.environment_filters << %w(MY_SECRET_KEY MY_SECRET_TOKEN)
end

If you want to post exceptions in an environment other than staging or production(the defaults)

use Rack::Hoptoad, 'fd48c7d26f724503a0280f808f44b339fc65fab8' do |notifier|
  notifier.report_under << 'custom'
end

If you want to use an environmental variable other than RACK_ENV and still have it post

use Rack::Hoptoad, 'fd48c7d26f724503a0280f808f44b339fc65fab8', 'MERB_ENV' do |notifier|
  notifier.report_under        << 'custom'
  notifier.environment_filters << %w(MY_SECRET_KEY MY_SECRET_TOKEN)
end

Installation

% sudo gem install rack_hoptoad

Testing

You need bundler 0.9.12 installed

% sudo gem install bundler
% bundle install
% MY_HOPTOAD_API_KEY=XXXXX bundle exec rake

Sinatra Notes

In order for exceptions to propagate up to Rack in Sinatra you need to enable raise_errors

class MyApp < Sinatra::Default
  enable :raise_errors
end

Note that the errors block does not execute so you'll need to handle the 500 elsewhere. Normally this is done with a 500.html in the document root.

Something went wrong with that request. Please try again.