rollbar 2.10.0 → 2.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.travis.yml +7 -2
- data/CHANGELOG.md +20 -0
- data/README.md +73 -16
- data/docs/configuration.md +10 -0
- data/gemfiles/rails30.gemfile +2 -0
- data/gemfiles/rails31.gemfile +2 -0
- data/gemfiles/rails32.gemfile +2 -0
- data/gemfiles/rails40.gemfile +2 -0
- data/gemfiles/rails41.gemfile +2 -0
- data/gemfiles/rails42.gemfile +2 -0
- data/gemfiles/rails50.gemfile +2 -0
- data/gemfiles/ruby_1_8_and_1_9_2.gemfile +43 -0
- data/lib/rollbar.rb +139 -353
- data/lib/rollbar/configuration.rb +4 -0
- data/lib/rollbar/item.rb +225 -0
- data/lib/rollbar/item/backtrace.rb +97 -0
- data/lib/rollbar/js.rb +0 -28
- data/lib/rollbar/language_support.rb +10 -0
- data/lib/rollbar/{js/middleware.rb → middleware/js.rb} +3 -4
- data/lib/rollbar/plugin.rb +63 -0
- data/lib/rollbar/plugins.rb +41 -0
- data/lib/rollbar/{active_job.rb → plugins/active_job.rb} +0 -0
- data/lib/rollbar/plugins/basic_socket.rb +16 -0
- data/lib/rollbar/plugins/delayed_job.rb +12 -0
- data/lib/rollbar/plugins/delayed_job/job_data.rb +16 -0
- data/lib/rollbar/{delayed_job.rb → plugins/delayed_job/plugin.rb} +1 -17
- data/lib/rollbar/plugins/goalie.rb +46 -0
- data/lib/rollbar/plugins/rack.rb +16 -0
- data/lib/rollbar/plugins/rails.rb +77 -0
- data/lib/rollbar/{rails → plugins/rails}/controller_methods.rb +0 -0
- data/lib/rollbar/plugins/rails/railtie30.rb +17 -0
- data/lib/rollbar/plugins/rails/railtie32.rb +18 -0
- data/lib/rollbar/plugins/rails/railtie_mixin.rb +33 -0
- data/lib/rollbar/plugins/rake.rb +45 -0
- data/lib/rollbar/plugins/sidekiq.rb +35 -0
- data/lib/rollbar/{sidekiq.rb → plugins/sidekiq/plugin.rb} +0 -18
- data/lib/rollbar/plugins/thread.rb +13 -0
- data/lib/rollbar/plugins/validations.rb +33 -0
- data/lib/rollbar/request_data_extractor.rb +30 -18
- data/lib/rollbar/scrubbers/params.rb +4 -2
- data/lib/rollbar/scrubbers/url.rb +30 -28
- data/lib/rollbar/util.rb +10 -0
- data/lib/rollbar/version.rb +1 -1
- data/spec/controllers/home_controller_spec.rb +4 -3
- data/spec/dummyapp/app/models/post.rb +9 -0
- data/spec/dummyapp/app/models/user.rb +2 -0
- data/spec/dummyapp/config/initializers/rollbar.rb +1 -0
- data/spec/fixtures/plugins/dummy1.rb +5 -0
- data/spec/fixtures/plugins/dummy2.rb +5 -0
- data/spec/rollbar/item_spec.rb +635 -0
- data/spec/rollbar/logger_proxy_spec.rb +4 -0
- data/spec/rollbar/{js/middleware_spec.rb → middleware/js_spec.rb} +32 -3
- data/spec/rollbar/plugin_spec.rb +147 -0
- data/spec/rollbar/{active_job_spec.rb → plugins/active_job_spec.rb} +0 -1
- data/spec/rollbar/{delayed_job → plugins/delayed_job}/job_data.rb +0 -0
- data/spec/rollbar/{delayed_job_spec.rb → plugins/delayed_job_spec.rb} +3 -6
- data/spec/rollbar/{middleware/rack/builder_spec.rb → plugins/rack_spec.rb} +2 -1
- data/spec/rollbar/{js/frameworks/rails_spec.rb → plugins/rails_js_spec.rb} +1 -1
- data/spec/rollbar/{rake_spec.rb → plugins/rake_spec.rb} +2 -1
- data/spec/rollbar/{sidekiq_spec.rb → plugins/sidekiq_spec.rb} +2 -1
- data/spec/rollbar/plugins/validations_spec.rb +43 -0
- data/spec/rollbar/plugins_spec.rb +68 -0
- data/spec/rollbar/request_data_extractor_spec.rb +56 -10
- data/spec/rollbar/scrubbers/params_spec.rb +13 -10
- data/spec/rollbar/scrubbers/url_spec.rb +17 -12
- data/spec/rollbar/sidekig/clear_scope_spec.rb +2 -1
- data/spec/rollbar/util_spec.rb +61 -0
- data/spec/rollbar_bc_spec.rb +10 -10
- data/spec/rollbar_spec.rb +57 -706
- data/spec/spec_helper.rb +8 -0
- data/spec/support/notifier_helpers.rb +1 -0
- data/spec/support/rollbar_api.rb +57 -0
- metadata +57 -33
- data/lib/rollbar/active_record_extension.rb +0 -14
- data/lib/rollbar/core_ext/basic_socket.rb +0 -7
- data/lib/rollbar/core_ext/thread.rb +0 -9
- data/lib/rollbar/goalie.rb +0 -33
- data/lib/rollbar/js/frameworks.rb +0 -6
- data/lib/rollbar/js/frameworks/rails.rb +0 -49
- data/lib/rollbar/js/version.rb +0 -5
- data/lib/rollbar/rack.rb +0 -9
- data/lib/rollbar/railtie.rb +0 -46
- data/lib/rollbar/rake.rb +0 -40
@@ -0,0 +1,41 @@
|
|
1
|
+
require 'rollbar/plugin'
|
2
|
+
|
3
|
+
module Rollbar
|
4
|
+
# Stores the available plugin definitions and loads them
|
5
|
+
class Plugins
|
6
|
+
attr_reader :collection
|
7
|
+
|
8
|
+
def initialize
|
9
|
+
@collection = []
|
10
|
+
end
|
11
|
+
|
12
|
+
def require_all
|
13
|
+
Dir.glob(plugin_files).each do |file|
|
14
|
+
require file.to_s
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
def plugin_files
|
19
|
+
File.expand_path('../plugins/*.rb', __FILE__)
|
20
|
+
end
|
21
|
+
|
22
|
+
def define(name, &block)
|
23
|
+
return if loaded?(name)
|
24
|
+
|
25
|
+
plugin = Rollbar::Plugin.new(name)
|
26
|
+
collection << plugin
|
27
|
+
|
28
|
+
plugin.instance_eval(&block)
|
29
|
+
end
|
30
|
+
|
31
|
+
def load!
|
32
|
+
collection.each(&:load!)
|
33
|
+
end
|
34
|
+
|
35
|
+
private
|
36
|
+
|
37
|
+
def loaded?(name)
|
38
|
+
collection.any? { |plugin| plugin.name == name }
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
File without changes
|
@@ -0,0 +1,16 @@
|
|
1
|
+
Rollbar.plugins.define('basic_socket') do
|
2
|
+
dependency { !configuration.disable_core_monkey_patch }
|
3
|
+
|
4
|
+
# Needed to avoid active_support (< 4.1.0) bug serializing JSONs
|
5
|
+
dependency { defined?(ActiveSupport::VERSION::STRING) }
|
6
|
+
|
7
|
+
execute do
|
8
|
+
require 'socket'
|
9
|
+
|
10
|
+
class BasicSocket
|
11
|
+
def as_json(*)
|
12
|
+
to_s
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
Rollbar.plugins.define('delayed_job') do
|
2
|
+
dependency { !configuration.disable_monkey_patch }
|
3
|
+
dependency do
|
4
|
+
defined?(Delayed) && defined?(Delayed::Worker) && configuration.delayed_job_enabled
|
5
|
+
end
|
6
|
+
|
7
|
+
execute do
|
8
|
+
require 'rollbar/plugins/delayed_job/plugin'
|
9
|
+
|
10
|
+
Rollbar::Delayed.wrap_worker
|
11
|
+
end
|
12
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
class JobData
|
2
|
+
attr_reader :job
|
3
|
+
|
4
|
+
def initialize(job)
|
5
|
+
@job = job
|
6
|
+
end
|
7
|
+
|
8
|
+
def to_hash
|
9
|
+
job_data = job.as_json
|
10
|
+
# Here job_data['handler'] is a YAML object comming
|
11
|
+
# from the storage backend
|
12
|
+
job_data['handler'] = job.payload_object.as_json
|
13
|
+
|
14
|
+
job_data
|
15
|
+
end
|
16
|
+
end
|
@@ -1,4 +1,5 @@
|
|
1
1
|
require 'delayed_job'
|
2
|
+
require 'rollbar/plugins/delayed_job/job_data'
|
2
3
|
|
3
4
|
module Rollbar
|
4
5
|
module Delayed
|
@@ -6,23 +7,6 @@ module Rollbar
|
|
6
7
|
attr_accessor :wrapped
|
7
8
|
end
|
8
9
|
|
9
|
-
class JobData
|
10
|
-
attr_reader :job
|
11
|
-
|
12
|
-
def initialize(job)
|
13
|
-
@job = job
|
14
|
-
end
|
15
|
-
|
16
|
-
def to_hash
|
17
|
-
job_data = job.as_json
|
18
|
-
# Here job_data['handler'] is a YAML object comming
|
19
|
-
# from the storage backend
|
20
|
-
job_data['handler'] = job.payload_object.as_json
|
21
|
-
|
22
|
-
job_data
|
23
|
-
end
|
24
|
-
end
|
25
|
-
|
26
10
|
class RollbarPlugin < ::Delayed::Plugin
|
27
11
|
callbacks do |lifecycle|
|
28
12
|
lifecycle.around(:invoke_job, &Delayed::invoke_job_callback)
|
@@ -0,0 +1,46 @@
|
|
1
|
+
Rollbar.plugins.define('goalie') do
|
2
|
+
dependency { !configuration.disable_monkey_patch }
|
3
|
+
dependency { defined?(Goalie) }
|
4
|
+
|
5
|
+
execute do
|
6
|
+
module Rollbar
|
7
|
+
module Goalie
|
8
|
+
def render_exception_with_rollbar(env, exception)
|
9
|
+
exception_data = nil
|
10
|
+
|
11
|
+
begin
|
12
|
+
controller = env['action_controller.instance']
|
13
|
+
request_data = controller.rollbar_request_data rescue nil
|
14
|
+
person_data = controller.rollbar_person_data rescue nil
|
15
|
+
exception_data = Rollbar.scope(:request => request_data, :person => person_data).error(exception, :use_exception_level_filters => true)
|
16
|
+
rescue => e
|
17
|
+
Rollbar.log_warning "[Rollbar] Exception while reporting exception to Rollbar: #{e}"
|
18
|
+
end
|
19
|
+
|
20
|
+
# if an exception was reported, save uuid in the env
|
21
|
+
# so it can be displayed to the user on the error page
|
22
|
+
if exception_data.is_a?(Hash)
|
23
|
+
env['rollbar.exception_uuid'] = exception_data[:uuid]
|
24
|
+
Rollbar.log_info "[Rollbar] Exception uuid saved in env: #{exception_data[:uuid]}"
|
25
|
+
elsif exception_data == 'disabled'
|
26
|
+
Rollbar.log_info "[Rollbar] Exception not reported because Rollbar is disabled"
|
27
|
+
elsif exception_data == 'ignored'
|
28
|
+
Rollbar.log_info "[Rollbar] Exception not reported because it was ignored"
|
29
|
+
end
|
30
|
+
|
31
|
+
# now continue as normal
|
32
|
+
render_exception_without_rollbar(env, exception)
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
execute do
|
39
|
+
Goalie::CustomErrorPages.class_eval do
|
40
|
+
include Rollbar::Goalie
|
41
|
+
|
42
|
+
alias_method :render_exception_without_rollbar, :render_exception
|
43
|
+
alias_method :render_exception, :render_exception_with_rollbar
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
Rollbar.plugins.define('rack') do
|
2
|
+
dependency { !configuration.disable_monkey_patch }
|
3
|
+
dependency { !configuration.disable_rack_monkey_patch }
|
4
|
+
|
5
|
+
execute do
|
6
|
+
if defined?(Rack::Builder)
|
7
|
+
require 'rollbar/middleware/rack/builder'
|
8
|
+
Rack::Builder.send(:include, Rollbar::Middleware::Rack::Builder)
|
9
|
+
end
|
10
|
+
|
11
|
+
if defined?(Rack::Test::Session)
|
12
|
+
require 'rollbar/middleware/rack/test_session'
|
13
|
+
Rack::Test::Session.send(:include, Rollbar::Middleware::Rack::TestSession)
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,77 @@
|
|
1
|
+
Rollbar.plugins.define('rails32-errors') do
|
2
|
+
dependency { defined?(Rails::VERSION) && Rails::VERSION::MAJOR >= 3 }
|
3
|
+
dependency { Gem::Version.new(Rails::VERSION::STRING) >= Gem::Version.new('3.2') }
|
4
|
+
|
5
|
+
execute! do
|
6
|
+
require 'rollbar/plugins/rails/railtie32'
|
7
|
+
end
|
8
|
+
end
|
9
|
+
|
10
|
+
Rollbar.plugins.define('rails30-errors') do
|
11
|
+
dependency { defined?(Rails::VERSION) && Rails::VERSION::MAJOR >= 3 }
|
12
|
+
dependency { Gem::Version.new(Rails::VERSION::STRING) < Gem::Version.new('3.2') }
|
13
|
+
|
14
|
+
execute! do
|
15
|
+
require 'rollbar/plugins/rails/railtie30'
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
Rollbar.plugins.define('rails-rollbar.js') do
|
20
|
+
dependency { defined?(Rails::VERSION) && Rails::VERSION::MAJOR >= 3 }
|
21
|
+
|
22
|
+
execute! do
|
23
|
+
module Rollbar
|
24
|
+
module Js
|
25
|
+
module Frameworks
|
26
|
+
# Adds Rollbar::Middleware::Js to the Rails middleware stack
|
27
|
+
# We need to delay the final insert to the last moment since
|
28
|
+
# this feature may be disable.
|
29
|
+
# But we need to prepare the middleware insert now because
|
30
|
+
# we need to use our Rails railtie initializer in case the
|
31
|
+
# customer is using SecureHeaders > 3.0
|
32
|
+
class Rails
|
33
|
+
def load(plugin)
|
34
|
+
plugin_execute = plugin_execute_proc(plugin)
|
35
|
+
|
36
|
+
return after_secure_headers(&plugin_execute) if secure_headers_middleware?
|
37
|
+
|
38
|
+
plugin_execute.call
|
39
|
+
end
|
40
|
+
|
41
|
+
def after_secure_headers(&block)
|
42
|
+
Rollbar::Railtie.initializer('rollbar.js.frameworks.rails', :after => 'secure_headers.middleware', &block)
|
43
|
+
end
|
44
|
+
|
45
|
+
def plugin_execute_proc(plugin)
|
46
|
+
proc do
|
47
|
+
plugin.execute do
|
48
|
+
return unless Rollbar.configuration.js_enabled
|
49
|
+
require 'rollbar/middleware/js'
|
50
|
+
|
51
|
+
config = {
|
52
|
+
:options => Rollbar.configuration.js_options,
|
53
|
+
:enabled => Rollbar.configuration.js_enabled
|
54
|
+
}
|
55
|
+
::Rails.configuration.middleware.use(::Rollbar::Middleware::Js, config)
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
59
|
+
|
60
|
+
def secure_headers_middleware?
|
61
|
+
begin
|
62
|
+
require 'secure_headers'
|
63
|
+
rescue LoadError
|
64
|
+
end
|
65
|
+
|
66
|
+
defined?(::SecureHeaders::Middleware)
|
67
|
+
end
|
68
|
+
end
|
69
|
+
end
|
70
|
+
end
|
71
|
+
end
|
72
|
+
end
|
73
|
+
|
74
|
+
execute! do
|
75
|
+
Rollbar::Js::Frameworks::Rails.new.load(self)
|
76
|
+
end
|
77
|
+
end
|
File without changes
|
@@ -0,0 +1,17 @@
|
|
1
|
+
require 'rails/railtie'
|
2
|
+
require 'rollbar/plugins/rails/railtie_mixin'
|
3
|
+
|
4
|
+
module Rollbar
|
5
|
+
class Railtie < ::Rails::Railtie
|
6
|
+
include Rollbar::RailtieMixin
|
7
|
+
|
8
|
+
initializer 'rollbar.middleware.rails' do |app|
|
9
|
+
require 'rollbar/middleware/rails/rollbar'
|
10
|
+
require 'rollbar/middleware/rails/show_exceptions'
|
11
|
+
|
12
|
+
app.config.middleware.insert_after ActionDispatch::ShowExceptions,
|
13
|
+
Rollbar::Middleware::Rails::RollbarMiddleware
|
14
|
+
ActionDispatch::ShowExceptions.send(:include, Rollbar::Middleware::Rails::ShowExceptions)
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
require 'rails/railtie'
|
2
|
+
require 'rollbar/plugins/rails/railtie_mixin'
|
3
|
+
|
4
|
+
module Rollbar
|
5
|
+
class Railtie < ::Rails::Railtie
|
6
|
+
include Rollbar::RailtieMixin
|
7
|
+
|
8
|
+
initializer 'rollbar.middleware.rails' do |app|
|
9
|
+
require 'rollbar/middleware/rails/rollbar'
|
10
|
+
require 'rollbar/middleware/rails/show_exceptions'
|
11
|
+
|
12
|
+
app.config.middleware.insert_after ActionDispatch::DebugExceptions,
|
13
|
+
Rollbar::Middleware::Rails::RollbarMiddleware
|
14
|
+
ActionDispatch::DebugExceptions.send(:include, Rollbar::Middleware::Rails::ShowExceptions)
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
@@ -0,0 +1,33 @@
|
|
1
|
+
require 'rollbar'
|
2
|
+
|
3
|
+
module Rollbar
|
4
|
+
module RailtieMixin
|
5
|
+
extend ActiveSupport::Concern
|
6
|
+
|
7
|
+
included do
|
8
|
+
rake_tasks do
|
9
|
+
require 'rollbar/rake_tasks'
|
10
|
+
end
|
11
|
+
|
12
|
+
initializer 'rollbar.configuration' do
|
13
|
+
config.after_initialize do
|
14
|
+
Rollbar.preconfigure do |config|
|
15
|
+
config.default_logger = proc { ::Rails.logger }
|
16
|
+
config.environment ||= ::Rails.env
|
17
|
+
config.root ||= ::Rails.root
|
18
|
+
config.framework = "Rails: #{::Rails::VERSION::STRING}"
|
19
|
+
config.filepath ||= ::Rails.application.class.parent_name + '.rollbar'
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
initializer 'rollbar.controller_methods' do
|
25
|
+
ActiveSupport.on_load(:action_controller) do
|
26
|
+
# lazily load action_controller methods
|
27
|
+
require 'rollbar/plugins/rails/controller_methods'
|
28
|
+
include Rollbar::Rails::ControllerMethods
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
@@ -0,0 +1,45 @@
|
|
1
|
+
Rollbar.plugins.define('rake') do
|
2
|
+
dependency { !configuration.disable_monkey_patch }
|
3
|
+
dependency { defined?(Rake) }
|
4
|
+
|
5
|
+
module Rollbar
|
6
|
+
module Rake
|
7
|
+
def self.patch!
|
8
|
+
skip_patch && return unless patch?
|
9
|
+
|
10
|
+
::Rake::Application.class_eval do
|
11
|
+
alias_method :orig_display_error_message, :display_error_message
|
12
|
+
|
13
|
+
def display_error_message(ex)
|
14
|
+
Rollbar.error(ex, :use_exception_level_filters => true)
|
15
|
+
orig_display_error_message(ex)
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
def self.skip_patch
|
21
|
+
warn('[Rollbar] Rollbar is disabled for Rake tasks since your Rake version is under 0.9.x. Please upgrade to 0.9.x or higher.')
|
22
|
+
end
|
23
|
+
|
24
|
+
def self.patch?
|
25
|
+
return false unless rake_version
|
26
|
+
|
27
|
+
major, minor, = rake_version.split('.').map(&:to_i)
|
28
|
+
|
29
|
+
major > 0 || major == 0 && minor > 8
|
30
|
+
end
|
31
|
+
|
32
|
+
def self.rake_version
|
33
|
+
if Object.const_defined?('RAKEVERSION')
|
34
|
+
return RAKEVERSION
|
35
|
+
elsif ::Rake.const_defined?('VERSION')
|
36
|
+
return ::Rake::VERSION
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
execute do
|
43
|
+
Rollbar::Rake.patch!
|
44
|
+
end
|
45
|
+
end
|
@@ -0,0 +1,35 @@
|
|
1
|
+
Rollbar.plugins.define('sidekiq >= 3') do
|
2
|
+
dependency { !configuration.disable_monkey_patch }
|
3
|
+
dependency { defined?(Sidekiq) }
|
4
|
+
dependency { Sidekiq::VERSION.split('.')[0].to_i >= 3 }
|
5
|
+
|
6
|
+
execute do
|
7
|
+
require 'rollbar/plugins/sidekiq/plugin'
|
8
|
+
|
9
|
+
Sidekiq.configure_server do |config|
|
10
|
+
config.server_middleware do |chain|
|
11
|
+
chain.add Rollbar::Sidekiq::ClearScope
|
12
|
+
end
|
13
|
+
|
14
|
+
config.error_handlers << proc do |e, context|
|
15
|
+
Rollbar::Sidekiq.handle_exception(context, e)
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
Rollbar.plugins.define('sidekiq < 3') do
|
22
|
+
dependency { !configuration.disable_monkey_patch }
|
23
|
+
dependency { defined?(Sidekiq) }
|
24
|
+
dependency { Sidekiq::VERSION.split('.')[0].to_i < 3 }
|
25
|
+
|
26
|
+
execute do
|
27
|
+
require 'rollbar/plugins/sidekiq/plugin'
|
28
|
+
|
29
|
+
Sidekiq.configure_server do |config|
|
30
|
+
config.server_middleware do |chain|
|
31
|
+
chain.add Rollbar::Sidekiq
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
@@ -1,5 +1,3 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
|
3
1
|
module Rollbar
|
4
2
|
class Sidekiq
|
5
3
|
PARAM_BLACKLIST = %w[backtrace error_backtrace error_message error_class]
|
@@ -43,19 +41,3 @@ module Rollbar
|
|
43
41
|
end
|
44
42
|
end
|
45
43
|
end
|
46
|
-
|
47
|
-
Sidekiq.configure_server do |config|
|
48
|
-
if Sidekiq::VERSION.split('.')[0].to_i < 3
|
49
|
-
config.server_middleware do |chain|
|
50
|
-
chain.add Rollbar::Sidekiq
|
51
|
-
end
|
52
|
-
else
|
53
|
-
config.server_middleware do |chain|
|
54
|
-
chain.add Rollbar::Sidekiq::ClearScope
|
55
|
-
end
|
56
|
-
|
57
|
-
config.error_handlers << proc do |e, context|
|
58
|
-
Rollbar::Sidekiq.handle_exception(context, e)
|
59
|
-
end
|
60
|
-
end
|
61
|
-
end
|