Add Airbrake support
This commit is contained in:
parent
9d124ce48a
commit
c1d9ac39ba
1
Gemfile
1
Gemfile
@ -3,6 +3,7 @@ source "http://rubygems.org"
|
||||
gem "sinatra"
|
||||
gem "sinatra-contrib"
|
||||
gem "riak-client"
|
||||
gem "airbrake"
|
||||
|
||||
group :test do
|
||||
gem 'rake'
|
||||
|
@ -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
|
||||
|
@ -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']
|
||||
|
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user