rollbar 3.4.1 → 3.5.0

Sign up to get free protection for your applications and to get access to all the features.
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 => '../'