Add Airbrake support

This commit is contained in:
galfert 2012-03-06 15:51:59 +01:00
parent 9d124ce48a
commit c1d9ac39ba
4 changed files with 30 additions and 1 deletions

View File

@ -3,6 +3,7 @@ source "http://rubygems.org"
gem "sinatra"
gem "sinatra-contrib"
gem "riak-client"
gem "airbrake"
group :test do
gem 'rake'

View File

@ -1,6 +1,12 @@
GEM
remote: http://rubygems.org/
specs:
activesupport (3.2.2)
i18n (~> 0.6)
multi_json (~> 1.0)
airbrake (3.0.9)
activesupport
builder
backports (2.3.0)
beefcake (0.3.7)
builder (3.0.0)
@ -38,6 +44,7 @@ PLATFORMS
ruby
DEPENDENCIES
airbrake
purdytest
rake
riak-client

View File

@ -19,6 +19,7 @@ Gem::Specification.new do |s|
s.add_dependency('sinatra')
s.add_dependency('sinatra-contrib')
s.add_dependency('riak-client')
s.add_dependency('airbrake')
s.files = Dir.glob("{bin,lib}/**/*") + Dir['*.rb']
# s.executables = ['config.ru']

View File

@ -11,12 +11,13 @@ class LiquorCabinet < Sinatra::Base
def self.config=(config)
@config = config
configure_airbrake
end
def self.config
return @config if @config
config = File.read(File.expand_path('config.yml', File.dirname(__FILE__)))
@config = YAML.load(config)[ENV['RACK_ENV']]
self.config = YAML.load(config)[ENV['RACK_ENV']]
end
configure :development do
@ -44,6 +45,10 @@ class LiquorCabinet < Sinatra::Base
"Ohai."
end
get "/airbrake" do
raise "Ohai, exception from Sinatra app"
end
get "/:user/:category/:key" do
get_data(@user, @category, @key)
end
@ -61,4 +66,19 @@ class LiquorCabinet < Sinatra::Base
halt 200
end
private
def self.configure_airbrake
if @config['airbrake'] && @config['airbrake']['api_key']
require "airbrake"
Airbrake.configure do |airbrake|
airbrake.api_key = @config['airbrake']['api_key']
end
use Airbrake::Rack
enable :raise_errors
end
end
end