Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion gemfiles/rails32.gemfile
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
source "http://rubygems.org"

gem "rails", "~> 3.2.6"
gem "rake"
gem "rspec"
gem "simplecov"

Expand Down
2 changes: 0 additions & 2 deletions gemfiles/rails40.gemfile
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
source "http://rubygems.org"

gem "rails", "~> 4.0.0"
gem "rake"
gem "rspec"
gem "simplecov"
gem "sentry-raven", :path => "../"

gemspec :path => "../"
2 changes: 0 additions & 2 deletions gemfiles/rails41.gemfile
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
source "http://rubygems.org"

gem "rails", "~> 4.1.0"
gem "rake"
gem "rspec"
gem "simplecov"
gem "sentry-raven", :path => "../"

gemspec :path => "../"
11 changes: 3 additions & 8 deletions lib/raven/base.rb
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@
require 'raven/client'
require 'raven/event'
require 'raven/logger'
require 'raven/rack'
require 'raven/interfaces/message'
require 'raven/interfaces/exception'
require 'raven/interfaces/stack_trace'
Expand Down Expand Up @@ -207,13 +206,9 @@ def rack_context(env)

# Injects various integrations
def inject
require 'raven/integrations/delayed_job' if defined?(::Delayed::Plugin)
require 'raven/railtie' if defined?(::Rails::Railtie)
require 'raven/sidekiq' if defined?(Sidekiq)
if defined?(Rake)
require 'raven/rake'
require 'raven/tasks'
end
available_integrations = %w[delayed_job rails sidekiq rack rake]
integrations_to_load = available_integrations & Gem.loaded_specs.keys
integrations_to_load.each { |integration| require "raven/integrations/#{integration}" }
end

# For cross-language compat
Expand Down
2 changes: 2 additions & 0 deletions lib/raven/rack.rb → lib/raven/integrations/rack.rb
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
require 'time'
require 'rack'

module Raven
# Middleware for Rack applications. Any errors raised by the upstream
Expand All @@ -20,6 +21,7 @@ module Raven
#
# Use a standard Raven.configure call to configure your server credentials.
class Rack

def self.capture_exception(exception, env, options = {})
if env['requested_at']
options[:time_spent] = Time.now - env['requested_at']
Expand Down
10 changes: 5 additions & 5 deletions lib/raven/railtie.rb → lib/raven/integrations/rails.rb
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,14 @@
require 'rails'

module Raven
class Railtie < ::Rails::Railtie
class Rails < ::Rails::Railtie
initializer "raven.use_rack_middleware" do |app|
app.config.middleware.insert 0, "Raven::Rack"
end

initializer 'raven.action_controller' do
ActiveSupport.on_load :action_controller do
require 'raven/rails/controller_methods'
require 'raven/integrations/rails/controller_methods'
include Raven::Rails::ControllerMethods
end
end
Expand All @@ -22,17 +22,17 @@ class Railtie < ::Rails::Railtie

if Raven.configuration.catch_debugged_exceptions
if defined?(::ActionDispatch::DebugExceptions)
require 'raven/rails/middleware/debug_exceptions_catcher'
require 'raven/integrations/rails/middleware/debug_exceptions_catcher'
::ActionDispatch::DebugExceptions.send(:include, Raven::Rails::Middleware::DebugExceptionsCatcher)
elsif defined?(::ActionDispatch::ShowExceptions)
require 'raven/rails/middleware/debug_exceptions_catcher'
require 'raven/integrations/rails/middleware/debug_exceptions_catcher'
::ActionDispatch::ShowExceptions.send(:include, Raven::Rails::Middleware::DebugExceptionsCatcher)
end
end
end

rake_tasks do
require 'raven/tasks'
require 'raven/integrations/tasks'
end
end
end
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
module Raven
module Rails
class Rails
module ControllerMethods
def capture_message(message, options = {})
Raven::Rack.capture_message(message, request.env, options)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
module Raven
module Rails
class Rails
module Middleware
module DebugExceptionsCatcher
def self.included(base)
Expand Down
6 changes: 3 additions & 3 deletions lib/raven/rake.rb → lib/raven/integrations/rake.rb
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
require 'raven'
require 'rake'
require 'rake/task'
require 'raven/integrations/tasks'

module Rake
class Application
Expand All @@ -9,5 +10,4 @@ def display_error_message(ex)
orig_display_error_messsage(ex)
end
end
end

end
1 change: 1 addition & 0 deletions lib/raven/sidekiq.rb → lib/raven/integrations/sidekiq.rb
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
require 'time'
require 'sidekiq'

module Raven
class Sidekiq
Expand Down
File renamed without changes.
4 changes: 2 additions & 2 deletions lib/raven/interfaces/http.rb
Original file line number Diff line number Diff line change
Expand Up @@ -19,12 +19,12 @@ def initialize(*arguments)
end

def from_rack(env)
require 'rack'
req = ::Rack::Request.new(env)
self.url = req.url.split('?').first
self.url = req.scheme && req.url.split('?').first
self.method = req.request_method
self.query_string = req.query_string
env.each_pair do |key, value|
key = key.to_s #rack env can contain symbols
next unless key.upcase == key # Non-upper case stuff isn't either
if key.start_with?('HTTP_')
# Header
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
require 'spec_helper'
require 'raven/integrations/rack'

describe Raven::Rack do
it 'should capture exceptions' do
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
require 'spec_helper'
require 'raven'
require 'raven/rails/controller_methods'
require 'raven/integrations/rails/controller_methods'

describe Raven::Rails::ControllerMethods do
include described_class
Expand Down
File renamed without changes.