A merb plugin for hoptoad notification
Ruby
Pull request Compare This branch is 20 commits ahead, 4 commits behind cv:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
lib
spec
.gitignore
LICENSE
README
Rakefile
TODO
merb_hoptoad_notifier.gemspec

README

merb_hoptoad_notifier
---------------------------------------------
This is merb plugin for exception notification with hoptoad. It should work with
any merb app that's based on merb 1.0 and higher

This plugin: http://github.com/atmos/merb_hoptoad_notifier/tree/master
The original: http://github.com/thoughtbot/hoptoad_notifier/tree/master

Usage:

1) Get your api key for your app from hoptoadapp.com

2) Add the api key to config/hoptoad.yml with a similar syntax as the following
---
:development: &defaults
  :api_key: ZOMGLOLROFLMAO

:rake:
  <<: *defaults

:test:
  <<: *defaults

:production:
  :api_key: UBERSECRETSHIT


3) Require hoptoad in init.rb
require 'merb_hoptoad_notifier'

4) Add the following method to your Exceptions controller.  Depending on your merb version you'll need to use the exceptions,standard_error, or internal_server error as the action name.  Kinda weak, but the API changed a lot in 0.9.x

class Exceptions < Merb::Controller
  if %w( staging production ).include?(Merb.env)
    def standard_error
      HoptoadNotifier.notify_hoptoad(request, session)
      render
    end
  end
end

5) Restart the server, trigger an error(in staging or prod) and check that it arrived at hoptoad :)


Multisite Support
-----------------
If you are running multiple sites and want to use a different key for each site, just set the
:api_key option in your config file as a hash, with a :default key plus any other keys you
wish to pass in. In your application, you can control key usage by passing a :site option
to warn_hoptoad, notify_hoptoad, and notify_hoptoad_exception.

Sample config:

---
:development: &defaults
  :api_key: 
    :default: ZOMGLOLROFLMAO
    site1:  IDENTIFIEDBYASTRING
    :site2: IDENTIFIEDBYASYMBOL

Initial multisite development funded by ALM Labs.


Filtering your post environment
-------------------------------
If you have environmental variables set in your ruby process that should not be sent to hoptoad,
there's a mechanism for filtering those attributes now.  Throw something like this in 
config/init.rb

Merb::BootLoader.after_app_loads do
  HoptoadNotifier.environment_filters = %w(^AWS ^EC2 SECRET PRIVATE KEY)
end

Each of these words will be compiled into a regex so you should be able to use anchors if needed.

Thanks to the following GitHubbers
----------------------------------
joakimk, fairchild and cv.