From b43dad7487b20dfc6b245a5409c95b52a89ba72e Mon Sep 17 00:00:00 2001 From: Nate Berkopec Date: Mon, 21 Dec 2015 13:40:29 -0500 Subject: [PATCH] Rails 5 support --- .travis.yml | 11 +++++++++++ gemfiles/rails42.gemfile | 2 +- gemfiles/rails5.gemfile | 6 ++++++ lib/raven/integrations/rails.rb | 2 +- .../rails/middleware/debug_exceptions_catcher.rb | 4 +++- 5 files changed, 22 insertions(+), 3 deletions(-) create mode 100644 gemfiles/rails5.gemfile diff --git a/.travis.yml b/.travis.yml index de75d65c1..4d8e8c65b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -14,6 +14,7 @@ gemfile: - gemfiles/rails32.gemfile - gemfiles/rails41.gemfile - gemfiles/rails42.gemfile + - gemfiles/rails5.gemfile sudo: false @@ -39,3 +40,13 @@ matrix: gemfile: gemfiles/rails32.gemfile - rvm: ruby-head gemfile: gemfiles/rails32.gemfile + - rvm: 1.8.7 + gemfile: gemfiles/rails5.gemfile + - rvm: ree + gemfile: gemfiles/rails5.gemfile + - rvm: 1.9.3 + gemfile: gemfiles/rails5.gemfile + - rvm: 2.1.8 + gemfile: gemfiles/rails5.gemfile + - rvm: jruby-19mode + gemfile: gemfiles/rails5.gemfile diff --git a/gemfiles/rails42.gemfile b/gemfiles/rails42.gemfile index 09f198c80..0bb8ef50e 100644 --- a/gemfiles/rails42.gemfile +++ b/gemfiles/rails42.gemfile @@ -1,6 +1,6 @@ source "http://rubygems.org" -gem "rails", '4.2.0' +gem "rails", "~> 4.2.0" gem "rspec" gemspec :path => "../" diff --git a/gemfiles/rails5.gemfile b/gemfiles/rails5.gemfile new file mode 100644 index 000000000..9668a89e5 --- /dev/null +++ b/gemfiles/rails5.gemfile @@ -0,0 +1,6 @@ +source "http://rubygems.org" + +gem "rails", "5.0.0.beta2" +gem "rspec" + +gemspec :path => "../" diff --git a/lib/raven/integrations/rails.rb b/lib/raven/integrations/rails.rb index e324f72af..2cfaf24e8 100644 --- a/lib/raven/integrations/rails.rb +++ b/lib/raven/integrations/rails.rb @@ -3,7 +3,7 @@ module Raven class Rails < ::Rails::Railtie initializer "raven.use_rack_middleware" do |app| - app.config.middleware.insert 0, "Raven::Rack" + app.config.middleware.insert 0, Raven::Rack end initializer 'raven.action_controller' do diff --git a/lib/raven/integrations/rails/middleware/debug_exceptions_catcher.rb b/lib/raven/integrations/rails/middleware/debug_exceptions_catcher.rb index 757a0cf49..1d551f2d5 100644 --- a/lib/raven/integrations/rails/middleware/debug_exceptions_catcher.rb +++ b/lib/raven/integrations/rails/middleware/debug_exceptions_catcher.rb @@ -6,8 +6,10 @@ def self.included(base) base.send(:alias_method_chain, :render_exception, :raven) end - def render_exception_with_raven(env, exception) + def render_exception_with_raven(env_or_request, exception) + env = env_or_request.respond_to?(:env) ? env_or_request.env : env_or_request Raven::Rack.capture_exception(exception, env) + ensure render_exception_without_raven(env, exception) end end