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"
|
||||||
gem "sinatra-contrib"
|
gem "sinatra-contrib"
|
||||||
gem "riak-client"
|
gem "riak-client"
|
||||||
|
gem "airbrake"
|
||||||
|
|
||||||
group :test do
|
group :test do
|
||||||
gem 'rake'
|
gem 'rake'
|
||||||
|
@ -1,6 +1,12 @@
|
|||||||
GEM
|
GEM
|
||||||
remote: http://rubygems.org/
|
remote: http://rubygems.org/
|
||||||
specs:
|
specs:
|
||||||
|
activesupport (3.2.2)
|
||||||
|
i18n (~> 0.6)
|
||||||
|
multi_json (~> 1.0)
|
||||||
|
airbrake (3.0.9)
|
||||||
|
activesupport
|
||||||
|
builder
|
||||||
backports (2.3.0)
|
backports (2.3.0)
|
||||||
beefcake (0.3.7)
|
beefcake (0.3.7)
|
||||||
builder (3.0.0)
|
builder (3.0.0)
|
||||||
@ -38,6 +44,7 @@ PLATFORMS
|
|||||||
ruby
|
ruby
|
||||||
|
|
||||||
DEPENDENCIES
|
DEPENDENCIES
|
||||||
|
airbrake
|
||||||
purdytest
|
purdytest
|
||||||
rake
|
rake
|
||||||
riak-client
|
riak-client
|
||||||
|
@ -19,6 +19,7 @@ Gem::Specification.new do |s|
|
|||||||
s.add_dependency('sinatra')
|
s.add_dependency('sinatra')
|
||||||
s.add_dependency('sinatra-contrib')
|
s.add_dependency('sinatra-contrib')
|
||||||
s.add_dependency('riak-client')
|
s.add_dependency('riak-client')
|
||||||
|
s.add_dependency('airbrake')
|
||||||
|
|
||||||
s.files = Dir.glob("{bin,lib}/**/*") + Dir['*.rb']
|
s.files = Dir.glob("{bin,lib}/**/*") + Dir['*.rb']
|
||||||
# s.executables = ['config.ru']
|
# s.executables = ['config.ru']
|
||||||
|
@ -11,12 +11,13 @@ class LiquorCabinet < Sinatra::Base
|
|||||||
|
|
||||||
def self.config=(config)
|
def self.config=(config)
|
||||||
@config = config
|
@config = config
|
||||||
|
configure_airbrake
|
||||||
end
|
end
|
||||||
|
|
||||||
def self.config
|
def self.config
|
||||||
return @config if @config
|
return @config if @config
|
||||||
config = File.read(File.expand_path('config.yml', File.dirname(__FILE__)))
|
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
|
end
|
||||||
|
|
||||||
configure :development do
|
configure :development do
|
||||||
@ -44,6 +45,10 @@ class LiquorCabinet < Sinatra::Base
|
|||||||
"Ohai."
|
"Ohai."
|
||||||
end
|
end
|
||||||
|
|
||||||
|
get "/airbrake" do
|
||||||
|
raise "Ohai, exception from Sinatra app"
|
||||||
|
end
|
||||||
|
|
||||||
get "/:user/:category/:key" do
|
get "/:user/:category/:key" do
|
||||||
get_data(@user, @category, @key)
|
get_data(@user, @category, @key)
|
||||||
end
|
end
|
||||||
@ -61,4 +66,19 @@ class LiquorCabinet < Sinatra::Base
|
|||||||
halt 200
|
halt 200
|
||||||
end
|
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
|
end
|
||||||
|
Loading…
x
Reference in New Issue
Block a user