rollbar 3.4.1 → 3.5.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9c64f479a34f9a4292e7c11843f53f3375024d8062847c728885399ce5be8da9
4
- data.tar.gz: 2d8eb22823cf8e098eca8dab38d3acdb49c49df6043dcbee7908d62384727a88
3
+ metadata.gz: 9833b30479b7f91305cdf3a4269e3f550d8a925aa50f13ccd374f9d6e3456dc6
4
+ data.tar.gz: fcc7e9410c968844460052171bf0cbf62006d86f2ab0a71d81fd2a8af60d5599
5
5
  SHA512:
6
- metadata.gz: 105d2bcaf2bc879723b23f3536c9bb6f3b6a6e147472510f0995a5c52f85c58cdebe904f75ef5cfb1636c21cdc9777cf9ae1faf08777ed8c4fb3842309c913b9
7
- data.tar.gz: 3c9b51d3d2a0335421441032db51351b373c14c3c1e2a79d25f3fe1030f441453bd55612719a0b387357f083ebc1bcbcc5ad161491c798667fcf104947971d9b
6
+ metadata.gz: 8b1da82b43abeaef4e2b78937842ddca414279b6816e61ddd1861a32955c5a4436e625a8931da4151b3d77c645451f8aef18fd88c0e976928cf1939080e9c2a2
7
+ data.tar.gz: d034b0a6f4e8eea5fef9e714ffa7492087f6c61dc442710eecd479b16cfda5d3522bf863abdec17aa2b7f3beb7a7981741bf0376d427d1b63861dce343b5ceea
@@ -8,7 +8,7 @@ on:
8
8
 
9
9
  jobs:
10
10
  build:
11
- runs-on: ubuntu-20.04
11
+ runs-on: ubuntu-22.04
12
12
  strategy:
13
13
  matrix:
14
14
  ruby-version: [2.5.3, 2.6.0, 2.6.6, 2.7.2]
@@ -29,28 +29,6 @@ jobs:
29
29
  ruby-version: 3.0.3
30
30
  - gemfile: gemfiles/rails61.gemfile
31
31
  ruby-version: 3.0.3
32
- - gemfile: gemfiles/rails42.gemfile
33
- ruby-version: 2.4.5
34
- - gemfile: gemfiles/rails42.gemfile
35
- ruby-version: 2.3.8
36
- - gemfile: gemfiles/rails42.gemfile
37
- ruby-version: 2.2.10
38
- - gemfile: gemfiles/rails41.gemfile
39
- ruby-version: 2.3.0
40
- - gemfile: gemfiles/rails41.gemfile
41
- ruby-version: 2.2.10
42
- - gemfile: gemfiles/rails41.gemfile
43
- ruby-version: 2.1.9
44
- - gemfile: gemfiles/rails40.gemfile
45
- ruby-version: 2.3.0
46
- - gemfile: gemfiles/rails40.gemfile
47
- ruby-version: 2.2.10
48
- - gemfile: gemfiles/rails40.gemfile
49
- ruby-version: 2.1.9
50
- - gemfile: gemfiles/rails32.gemfile
51
- ruby-version: 2.2.10
52
- - gemfile: gemfiles/rails32.gemfile
53
- ruby-version: 2.1.9
54
32
 
55
33
  steps:
56
34
  - uses: actions/checkout@v2
@@ -18,10 +18,12 @@ module Rollbar
18
18
  :custom_data_method,
19
19
  :default_logger,
20
20
  :delayed_job_enabled,
21
+ :disable_action_mailer_monkey_patch,
21
22
  :disable_core_monkey_patch,
22
23
  :disable_monkey_patch,
23
24
  :disable_rack_monkey_patch,
24
25
  :dj_threshold,
26
+ :dj_use_scoped_block,
25
27
  :enable_error_context,
26
28
  :enabled,
27
29
  :endpoint,
@@ -98,10 +100,12 @@ module Rollbar
98
100
  @logger_level = :info
99
101
  @delayed_job_enabled = true
100
102
  @disable_monkey_patch = false
103
+ @disable_action_mailer_monkey_patch = false
101
104
  @disable_core_monkey_patch = false
102
105
  @disable_rack_monkey_patch = false
103
106
  @enable_error_context = true
104
107
  @dj_threshold = 0
108
+ @dj_use_scoped_block = false
105
109
  @async_skip_report_handler = nil
106
110
  @enabled = nil # set to true when configure is called
107
111
  @endpoint = DEFAULT_ENDPOINT
data/lib/rollbar/json.rb CHANGED
@@ -5,8 +5,6 @@ module Rollbar
5
5
  module JSON # :nodoc:
6
6
  module_function
7
7
 
8
- attr_writer :options_module
9
-
10
8
  def dump(object)
11
9
  Rollbar.plugins.get('basic_socket').load_scoped!(true) do
12
10
  ::JSON.generate(object)
@@ -7,7 +7,7 @@ module Rollbar
7
7
  def render_exception_with_rollbar(env, exception, wrapper = nil)
8
8
  key = 'action_dispatch.show_detailed_exceptions'
9
9
 
10
- if exception.is_a?(ActionController::RoutingError) && env[key]
10
+ if exception.is_a?(ActionController::RoutingError) && env.params[key.to_s]
11
11
  scope = extract_scope_from(env)
12
12
 
13
13
  Rollbar.scoped(scope) do
@@ -1,35 +1,44 @@
1
- module Rollbar
2
- # Report any uncaught errors in a job to Rollbar and reraise
3
- module ActiveJob
4
- def self.included(base)
5
- base.send :rescue_from, Exception do |exception|
6
- args = if self.class.respond_to?(:log_arguments?) && !self.class.log_arguments?
7
- arguments.map(&Rollbar::Scrubbers.method(:scrub_value))
8
- else
9
- arguments
10
- end
1
+ Rollbar.plugins.define('active_job') do
2
+ dependency { !configuration.disable_monkey_patch }
3
+ dependency { !configuration.disable_action_mailer_monkey_patch }
11
4
 
12
- Rollbar.error(exception,
13
- :job => self.class.name,
14
- :job_id => job_id,
15
- :use_exception_level_filters => true,
16
- :arguments => args)
17
- raise exception
5
+ execute do
6
+ module Rollbar
7
+ # Report any uncaught errors in a job to Rollbar and reraise
8
+ module ActiveJob
9
+ def self.included(base)
10
+ base.send :rescue_from, Exception do |exception|
11
+ args = if self.class.respond_to?(:log_arguments?) && !self.class.log_arguments?
12
+ arguments.map(&Rollbar::Scrubbers.method(:scrub_value))
13
+ else
14
+ arguments
15
+ end
16
+
17
+ job_data = {
18
+ :job => self.class.name,
19
+ :use_exception_level_filters => true,
20
+ :arguments => args
21
+ }
22
+
23
+ # job_id isn't present when this is a mailer class.
24
+ job_data[:job_id] = job_id if defined?(job_id)
25
+
26
+ Rollbar.error(exception, job_data)
27
+ raise exception
28
+ end
29
+ end
18
30
  end
19
31
  end
20
- end
21
- end
22
32
 
23
- if defined?(ActiveSupport) && ActiveSupport.respond_to?(:on_load)
24
- ActiveSupport.on_load(:action_mailer) do
25
- # Automatically add to ActionMailer::DeliveryJob
26
- if defined?(ActionMailer::DeliveryJob)
27
- ActionMailer::DeliveryJob.send(:include,
28
- Rollbar::ActiveJob)
29
- end
30
- # Rails >= 6.0
31
- if defined?(ActionMailer::MailDeliveryJob)
32
- ActionMailer::MailDeliveryJob.send(:include, Rollbar::ActiveJob)
33
+ if defined?(ActiveSupport) && ActiveSupport.respond_to?(:on_load)
34
+ ActiveSupport.on_load(:action_mailer) do
35
+ if defined?(ActionMailer::MailDeliveryJob) # Rails >= 6.0
36
+ ActionMailer::Base.send(:include, Rollbar::ActiveJob)
37
+ elsif defined?(ActionMailer::DeliveryJob) # Rails < 6.0
38
+ ActionMailer::DeliveryJob.send(:include,
39
+ Rollbar::ActiveJob)
40
+ end
41
+ end
33
42
  end
34
43
  end
35
44
  end
@@ -48,7 +48,12 @@ module Rollbar
48
48
  def self.invoke_job_callback
49
49
  proc do |job, *args, &block|
50
50
  begin
51
- block.call(job, *args)
51
+ if Rollbar.configuration.dj_use_scoped_block
52
+ data = Rollbar::Delayed.build_job_data(job)
53
+ Rollbar.scoped(:request => data) { block.call(job, *args) }
54
+ else
55
+ block.call(job, *args)
56
+ end
52
57
  rescue StandardError => e
53
58
  report(e, job)
54
59
 
@@ -12,7 +12,7 @@ Rollbar.plugins.define('sidekiq >= 3') do
12
12
  chain.add Rollbar::Sidekiq::ResetScope
13
13
  end
14
14
 
15
- config.error_handlers << proc do |e, context|
15
+ config.error_handlers << proc do |e, context, _sidekiq_config = nil|
16
16
  Rollbar::Sidekiq.handle_exception(context, e)
17
17
  end
18
18
  end
@@ -1,3 +1,3 @@
1
1
  module Rollbar
2
- VERSION = '3.4.1'.freeze
2
+ VERSION = '3.5.0'.freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rollbar
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.4.1
4
+ version: 3.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rollbar, Inc.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-10-12 00:00:00.000000000 Z
11
+ date: 2024-01-04 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Track and debug errors in your Ruby applications with ease using Rollbar.
14
14
  With this gem, you can easily monitor and report on exceptions and other errors
@@ -41,12 +41,6 @@ files:
41
41
  - data/rollbar.snippet.js
42
42
  - docs/configuration.md
43
43
  - docs/plugins.md
44
- - gemfiles/rails30.gemfile
45
- - gemfiles/rails31.gemfile
46
- - gemfiles/rails32.gemfile
47
- - gemfiles/rails40.gemfile
48
- - gemfiles/rails41.gemfile
49
- - gemfiles/rails42.gemfile
50
44
  - gemfiles/rails50.gemfile
51
45
  - gemfiles/rails51.gemfile
52
46
  - gemfiles/rails52.gemfile
@@ -166,7 +160,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
166
160
  - !ruby/object:Gem::Version
167
161
  version: '0'
168
162
  requirements: []
169
- rubygems_version: 3.4.1
163
+ rubygems_version: 3.1.4
170
164
  signing_key:
171
165
  specification_version: 4
172
166
  summary: Reports exceptions to Rollbar
@@ -1,50 +0,0 @@
1
- require 'rubygems/version'
2
-
3
- source 'https://rubygems.org'
4
-
5
- gem 'activerecord-jdbcsqlite3-adapter', :platform => :jruby
6
- gem 'hitimes', '< 1.2.2'
7
- gem 'jruby-openssl', :platform => :jruby
8
- gem 'mixlib-shellout', '<= 2.0.0'
9
- gem 'net-ssh', '<= 3.1.1'
10
- gem 'public_suffix', '<= 2.0.5'
11
- gem 'rails', '~> 3.0.20'
12
- gem 'rake', '< 11'
13
- gem 'rspec-rails', '>= 2.14.0'
14
- gem 'sqlite3', '< 1.4.0', :platform => [:ruby, :mswin, :mingw]
15
-
16
- if RUBY_VERSION < '2.2.2'
17
- gem 'sidekiq', '~> 2.13.0'
18
- else
19
- gem 'sidekiq', '>= 2.13.0'
20
- end
21
-
22
- platforms :rbx do
23
- gem 'minitest'
24
- gem 'racc'
25
- gem 'rubinius-developer_tools'
26
- gem 'rubysl', '~> 2.0' unless RUBY_VERSION.start_with?('1')
27
- gem 'rubysl-test-unit'
28
- end
29
-
30
- gem 'capistrano', :require => false
31
- gem 'rexml', '<= 3.2.4'
32
- gem 'shoryuken'
33
- gem 'simplecov', '<= 0.17.1'
34
- gem 'sucker_punch', '~> 2.0'
35
-
36
- gem 'database_cleaner', '~> 1.0.0'
37
- gem 'delayed_job', :require => false
38
- gem 'genspec', '>= 0.2.8'
39
- gem 'girl_friday', '>= 0.11.1'
40
- gem 'redis', '<= 3.3.5'
41
- gem 'redis-namespace', '<= 1.5.0'
42
- gem 'rspec-command'
43
- gem 'sinatra'
44
-
45
- gem 'webmock', :require => false
46
-
47
- gem 'aws-sdk-sqs'
48
- gem 'resque', '< 2.0.0'
49
-
50
- gemspec :path => '../'
@@ -1,50 +0,0 @@
1
- require 'rubygems/version'
2
-
3
- source 'https://rubygems.org'
4
-
5
- gem 'activerecord-jdbcsqlite3-adapter', :platform => :jruby
6
- gem 'jruby-openssl', :platform => :jruby
7
- gem 'mixlib-shellout', '<= 2.0.0'
8
- gem 'net-ssh', '<= 3.1.1'
9
- gem 'public_suffix', '<= 2.0.5'
10
- gem 'rails', '~> 3.1.12'
11
- gem 'rake', '< 11'
12
- gem 'rspec-rails', '~> 3.4'
13
- gem 'sqlite3', '< 1.4.0', :platform => [:ruby, :mswin, :mingw]
14
-
15
- if RUBY_VERSION < '2.2.2'
16
- gem 'sidekiq', '~> 2.13.0'
17
- else
18
- gem 'sidekiq', '>= 2.13.0'
19
- end
20
-
21
- platforms :rbx do
22
- gem 'minitest'
23
- gem 'racc'
24
- gem 'rubinius-developer_tools'
25
- gem 'rubysl', '~> 2.0' unless RUBY_VERSION.start_with?('1')
26
- gem 'rubysl-test-unit'
27
- end
28
-
29
- gem 'capistrano', :require => false
30
- gem 'rexml', '<= 3.2.4'
31
- gem 'shoryuken'
32
- gem 'simplecov', '<= 0.17.1'
33
- gem 'sucker_punch'
34
-
35
- gem 'database_cleaner'
36
- gem 'delayed_job', :require => false
37
- gem 'generator_spec'
38
- gem 'girl_friday'
39
- gem 'rack-cache', '<= 1.9.0'
40
- gem 'redis', '<= 3.3.5'
41
- gem 'redis-namespace', '<= 1.5.0'
42
- gem 'rspec-command'
43
- gem 'sinatra'
44
-
45
- gem 'webmock', :require => false
46
-
47
- gem 'aws-sdk-sqs'
48
- gem 'resque', '< 2.0.0'
49
-
50
- gemspec :path => '../'
@@ -1,52 +0,0 @@
1
- require 'rubygems/version'
2
-
3
- source 'https://rubygems.org'
4
-
5
- gem 'activerecord-jdbcsqlite3-adapter', :platform => :jruby
6
- gem 'jruby-openssl', :platform => :jruby
7
- gem 'mixlib-shellout', '<= 2.0.0'
8
- gem 'net-ssh', '<= 3.1.1'
9
- gem 'public_suffix', '<= 2.0.5'
10
- gem 'rails', '~> 3.2.22'
11
- gem 'rake'
12
- gem 'rspec-rails', '~> 3.4'
13
- gem 'sqlite3', '< 1.4.0', :platform => [:ruby, :mswin, :mingw]
14
- # Please see https://github.com/rspec/rspec-rails/issues/1273
15
- gem 'test-unit'
16
-
17
- if RUBY_VERSION < '2.2.2'
18
- gem 'sidekiq', '~> 2.13.0'
19
- else
20
- gem 'sidekiq', '>= 2.13.0'
21
- end
22
-
23
- platforms :rbx do
24
- gem 'minitest'
25
- gem 'racc'
26
- gem 'rubinius-developer_tools'
27
- gem 'rubysl', '~> 2.0' unless RUBY_VERSION.start_with?('1')
28
- gem 'rubysl-test-unit'
29
- end
30
-
31
- gem 'capistrano', :require => false
32
- gem 'rexml', '<= 3.2.4'
33
- gem 'shoryuken'
34
- gem 'simplecov', '<= 0.17.1'
35
- gem 'sucker_punch', '~> 2.0'
36
-
37
- gem 'delayed_job', :require => false
38
- gem 'redis', '<= 3.3.5'
39
- gem 'redis-namespace', '<= 1.5.0'
40
- gem 'sinatra'
41
-
42
- gem 'database_cleaner', '~> 1.0.0'
43
- gem 'generator_spec'
44
- gem 'girl_friday', '>= 0.11.1'
45
- gem 'rspec-command'
46
-
47
- gem 'webmock', :require => false
48
-
49
- gem 'aws-sdk-sqs'
50
- gem 'resque', '< 2.0.0'
51
-
52
- gemspec :path => '../'
@@ -1,52 +0,0 @@
1
- require 'rubygems/version'
2
-
3
- source 'https://rubygems.org'
4
-
5
- gem 'activerecord-jdbcsqlite3-adapter', :platform => :jruby
6
- gem 'jruby-openssl', :platform => :jruby
7
- gem 'mixlib-shellout', '<= 2.0.0'
8
- gem 'net-ssh', '<= 3.1.1'
9
- gem 'public_suffix', '<= 2.0.5'
10
- gem 'rails', '~> 4.0.13'
11
- gem 'rake'
12
- gem 'rspec-rails', '~> 3.4'
13
- gem 'sqlite3', '< 1.4.0', :platform => [:ruby, :mswin, :mingw]
14
- # Please see https://github.com/rspec/rspec-rails/issues/1273
15
- gem 'test-unit'
16
-
17
- if RUBY_VERSION < '2.2.2'
18
- gem 'sidekiq', '~> 2.13.0'
19
- else
20
- gem 'sidekiq', '>= 2.13.0'
21
- end
22
-
23
- platforms :rbx do
24
- gem 'minitest'
25
- gem 'racc'
26
- gem 'rubinius-developer_tools'
27
- gem 'rubysl', '~> 2.0' unless RUBY_VERSION.start_with?('1')
28
- gem 'rubysl-test-unit'
29
- end
30
-
31
- gem 'capistrano', :require => false
32
- gem 'json', '~> 2.0'
33
- gem 'shoryuken'
34
- gem 'simplecov', '<= 0.17.1'
35
- gem 'sucker_punch', '~> 2.0'
36
-
37
- gem 'delayed_job', :require => false
38
- gem 'redis', '<= 3.3.5'
39
- gem 'redis-namespace', '<= 1.5.0'
40
- gem 'resque'
41
- gem 'sinatra'
42
-
43
- gem 'database_cleaner', '~> 1.0.0'
44
- gem 'generator_spec'
45
- gem 'girl_friday', '>= 0.11.1'
46
- gem 'rspec-command'
47
-
48
- gem 'webmock', :require => false
49
-
50
- gem 'aws-sdk-sqs'
51
-
52
- gemspec :path => '../'
@@ -1,48 +0,0 @@
1
- require 'rubygems/version'
2
-
3
- source 'https://rubygems.org'
4
-
5
- gem 'activerecord-jdbcsqlite3-adapter', :platform => :jruby
6
- gem 'jruby-openssl', :platform => :jruby
7
- gem 'mixlib-shellout', '<= 2.0.0'
8
- gem 'net-ssh', '<= 3.1.1'
9
- gem 'public_suffix', '<= 2.0.5'
10
- gem 'rails', '~> 4.1.16'
11
- gem 'rake'
12
- gem 'rspec-rails', '~> 3.4'
13
- gem 'sqlite3', '< 1.4.0', :platform => [:ruby, :mswin, :mingw]
14
-
15
- if RUBY_VERSION < '2.2.2'
16
- gem 'sidekiq', '~> 2.13.0'
17
- else
18
- gem 'sidekiq', '>= 2.13.0'
19
- end
20
-
21
- platforms :rbx do
22
- gem 'minitest'
23
- gem 'racc'
24
- gem 'rubinius-developer_tools'
25
- gem 'rubysl', '~> 2.0' unless RUBY_VERSION.start_with?('1')
26
- end
27
-
28
- gem 'capistrano', :require => false
29
- gem 'shoryuken'
30
- gem 'simplecov', '<= 0.17.1'
31
- gem 'sucker_punch', '~> 2.0'
32
-
33
- gem 'delayed_job', :require => false
34
- gem 'redis', '<= 3.3.5'
35
- gem 'redis-namespace', '<= 1.5.0'
36
- gem 'resque'
37
- gem 'sinatra'
38
-
39
- gem 'database_cleaner', '~> 1.0.0'
40
- gem 'generator_spec'
41
- gem 'girl_friday', '>= 0.11.1'
42
- gem 'rspec-command'
43
-
44
- gem 'webmock', :require => false
45
-
46
- gem 'aws-sdk-sqs'
47
-
48
- gemspec :path => '../'
@@ -1,50 +0,0 @@
1
- require 'rubygems/version'
2
-
3
- source 'https://rubygems.org'
4
-
5
- gem 'activerecord-jdbcsqlite3-adapter', :platform => :jruby
6
- gem 'jruby-openssl', :platform => :jruby
7
- gem 'net-ssh', '<= 3.1.1'
8
- gem 'public_suffix', '<= 2.0.5'
9
- gem 'rails', '~> 4.2.11'
10
- gem 'rake'
11
- gem 'rspec-rails', '~> 3.4'
12
- gem 'sqlite3', '< 1.4.0', :platform => [:ruby, :mswin, :mingw]
13
-
14
- platforms :rbx do
15
- gem 'minitest'
16
- gem 'racc'
17
- gem 'rubinius-developer_tools'
18
- gem 'rubysl', '~> 2.0' unless RUBY_VERSION.start_with?('1')
19
- end
20
-
21
- gem 'json', '1.8.6' if RUBY_VERSION < '2.0.0'
22
-
23
- if RUBY_VERSION < '2.2.2'
24
- gem 'sidekiq', '~> 2.13.0'
25
- else
26
- gem 'sidekiq', '>= 2.13.0'
27
- end
28
-
29
- gem 'capistrano', :require => false
30
- gem 'shoryuken'
31
-
32
- gem 'database_cleaner', '~> 1.0.0'
33
- gem 'delayed_job', :require => false
34
- gem 'generator_spec'
35
- gem 'girl_friday', '>= 0.11.1'
36
- gem 'loofah', '~>2.19.1'
37
- gem 'redis', '<= 3.3.5'
38
- gem 'resque'
39
- gem 'rspec-command'
40
- gem 'sinatra'
41
-
42
- gem 'nokogiri', '~> 1.6.0' if Gem::Version.new(RUBY_VERSION) <= Gem::Version.new('2.0')
43
-
44
- gem 'simplecov', '<= 0.17.1'
45
- gem 'sucker_punch', '~> 2.0'
46
- gem 'webmock', :require => false
47
-
48
- gem 'aws-sdk-sqs'
49
-
50
- gemspec :path => '../'