No commit activity in last 3 years
No release in over 3 years
There's a lot of open issues
A base library for Airbrake error reporting
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

 Project Readme

Build Status

Deprecation warning: this library is outdated. Please use the new official Airbrake library instead.

A base library for Airbrake error reporting.

Toadhopper can be used to report plain old Ruby exceptions, or to build a framework-specific gem such as toadhopper-sinatra.

begin
  raise "Kaboom!"
rescue  => e
  require 'toadhopper'
  Toadhopper("YOURAPIKEY").post!(e)
end

You can install it via rubygems:

gem install toadhopper

Posting Notices Over SSL

Toadhopper can transport your messages over SSL.

To enable SSL, just specify a :notify_host with a https:// protocol.

Toadhopper.new("YOURAPIKEY", :notify_host => 'https://airbrake.io').post!(e)

Note: You must have a paid plan for Airbrake to accept your messages over SSL.

Example with :transport

Control freaks can customize a Net::HTTP to their liking with :transport.

require 'net/https'
require 'toadhopper'

def my_transport
  domain  = 'api.airbrake.io'
  port    = 443
  transport = Net::HTTP.new domain, port
  transport.set_debug_output $stderr # View verbose debugging
  transport.use_ssl       = true
  transport.ca_file       = Toadhopper::CA_FILE
  transport.verify_mode   = OpenSSL::SSL::VERIFY_PEER
  transport.open_timeout  = 7 # seconds
  transport.read_timeout  = 5 # seconds
  transport
end

def my_exception_handler(exception)
  api_key = 'YOURAPIKEY'
  Toadhopper.new(api_key, :transport => my_transport).post! exception
end

Deploy tracking

You can use Toadhopper to notify Airbrake of deployments:

Toadhopper('YOURAPIKEY').deploy!

The method accepts options to set the environment, SCM revision, etc.

There is Capistrano support for deploy tracking. Simply require toadhopper/capistrano in your deploy config and set the variable airbrake_api_key:

require 'toadhopper/capistrano'

set :airbrake_api_key, 'YOURAPIKEY'

Supported Capistrano Keys

  • :airbrake_notify_host
  • :airbrake_error_url
  • :airbrake_deploy_url
  • :airbrake_transport

Compatibility

Toadhopper is tested against and compatible with the following ruby platforms:

  • 1.8.7

  • 1.9.2

  • 1.9.3

  • ree 1.8.7-2012.02

  • jruby 1.6.7 in both 1.8 mode and 1.9 mode

  • rubinius 2.0.testing branch in both 1.8 mode and 1.9 mode

    For jruby support, you need to gem install jruby-openssl if you do not already have that gem. More info on why this is.

Development

Install Bundler 0.9.x, then:

% git clone git://github.com/toolmantim/toadhopper.git
% cd toadhopper
% bundle install
% bundle exec rake test

If you set a AIRBRAKE_API_KEY environment variable it'll test actually posting to the Airbrake API. For example:

% bundle exec rake test AIRBRAKE_API_KEY=abc123

Set AIRBRAKE_FULL_TEST to test integration operations that require a paid Airbrake plan such as posting over SSL, deploy tracking, and github integration. For example:

% bundle exec rake test AIRBRAKE_API_KEY=abc123 AIRBRAKE_FULL_TEST=1

Beware: Setting AIRBRAKE_FULL_TEST will record a bogus deployment in your Airbrake project and auto-resolve any pre-existing development errors.

To generate the docs:

% bundle exec yardoc

To build the gem:

% bundle exec rake build

Contributors