airbrake 10.0.2 → 13.0.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (42) hide show
  1. checksums.yaml +4 -4
  2. data/lib/airbrake/capistrano/capistrano2.rb +1 -1
  3. data/lib/airbrake/capistrano/capistrano3.rb +1 -1
  4. data/lib/airbrake/delayed_job.rb +28 -30
  5. data/lib/airbrake/logger.rb +3 -1
  6. data/lib/airbrake/rack/context_filter.rb +10 -6
  7. data/lib/airbrake/rack/http_headers_filter.rb +4 -4
  8. data/lib/airbrake/rack/instrumentable.rb +9 -5
  9. data/lib/airbrake/rack/route_filter.rb +3 -1
  10. data/lib/airbrake/rack/user.rb +2 -0
  11. data/lib/airbrake/rack.rb +2 -0
  12. data/lib/airbrake/rails/action_cable.rb +19 -17
  13. data/lib/airbrake/rails/action_controller.rb +3 -0
  14. data/lib/airbrake/rails/action_controller_notify_subscriber.rb +2 -0
  15. data/lib/airbrake/rails/action_controller_performance_breakdown_subscriber.rb +2 -0
  16. data/lib/airbrake/rails/action_controller_route_subscriber.rb +2 -0
  17. data/lib/airbrake/rails/active_job.rb +2 -2
  18. data/lib/airbrake/rails/active_record_subscriber.rb +2 -0
  19. data/lib/airbrake/rails/app.rb +22 -0
  20. data/lib/airbrake/rails/backtrace_cleaner.rb +11 -0
  21. data/lib/airbrake/rails/curb.rb +18 -23
  22. data/lib/airbrake/rails/event.rb +14 -2
  23. data/lib/airbrake/rails/excon_subscriber.rb +2 -0
  24. data/lib/airbrake/rails/http.rb +12 -8
  25. data/lib/airbrake/rails/http_client.rb +11 -7
  26. data/lib/airbrake/rails/railtie.rb +7 -99
  27. data/lib/airbrake/rails/railties/action_controller_tie.rb +90 -0
  28. data/lib/airbrake/rails/railties/active_record_tie.rb +74 -0
  29. data/lib/airbrake/rails/railties/middleware_tie.rb +62 -0
  30. data/lib/airbrake/rails/typhoeus.rb +10 -8
  31. data/lib/airbrake/rails.rb +6 -8
  32. data/lib/airbrake/rake/tasks.rb +10 -10
  33. data/lib/airbrake/rake.rb +47 -46
  34. data/lib/airbrake/resque.rb +26 -25
  35. data/lib/airbrake/shoryuken.rb +2 -4
  36. data/lib/airbrake/sidekiq/retryable_jobs_filter.rb +14 -8
  37. data/lib/airbrake/sidekiq.rb +5 -6
  38. data/lib/airbrake/sneakers.rb +28 -27
  39. data/lib/airbrake/version.rb +1 -1
  40. data/lib/generators/airbrake_generator.rb +3 -6
  41. data/lib/generators/airbrake_initializer.rb.erb +65 -65
  42. metadata +52 -138
@@ -6,10 +6,8 @@ module Airbrake
6
6
  module Sidekiq
7
7
  # Provides integration with Sidekiq v2+.
8
8
  class ErrorHandler
9
- def call(_worker, context, _queue)
10
- timing = Airbrake::Benchmark.measure do
11
- yield
12
- end
9
+ def call(_worker, context, _queue, &block)
10
+ timing = Airbrake::Benchmark.measure(&block)
13
11
  rescue Exception => exception # rubocop:disable Lint/RescueException
14
12
  notify_airbrake(exception, context)
15
13
  Airbrake.notify_queue(
@@ -29,7 +27,7 @@ module Airbrake
29
27
  private
30
28
 
31
29
  def notify_airbrake(exception, context)
32
- Airbrake.notify(exception, context) do |notice|
30
+ Airbrake.notify(exception, job: context) do |notice|
33
31
  notice[:context][:component] = 'sidekiq'
34
32
  notice[:context][:action] = action(context)
35
33
  end
@@ -38,9 +36,10 @@ module Airbrake
38
36
  # @return [String] job's name. When ActiveJob is present, retrieve
39
37
  # job_class. When used directly, use worker's name
40
38
  def action(context)
41
- klass = context['class'] || context[:job] && context[:job]['class']
39
+ klass = context['class'] || (context[:job] && context[:job]['class'])
42
40
  return klass unless context[:job] && context[:job]['args'].first.is_a?(Hash)
43
41
  return klass unless (job_class = context[:job]['args'].first['job_class'])
42
+
44
43
  job_class
45
44
  end
46
45
  end
@@ -26,6 +26,7 @@ module Airbrake
26
26
 
27
27
  def filter_context(context)
28
28
  return context unless context[:delivery_info]
29
+
29
30
  h = context.dup
30
31
  h[:delivery_info] = context[:delivery_info].reject do |k, _v|
31
32
  IGNORED_KEYS.include?(k)
@@ -38,34 +39,34 @@ end
38
39
 
39
40
  Sneakers.error_reporters << Airbrake::Sneakers::ErrorReporter.new
40
41
 
41
- module Sneakers
42
- # @todo Migrate to Sneakers v2.12.0 middleware API when it's released
43
- # @see https://github.com/jondot/sneakers/pull/364
44
- module Worker
45
- # Sneakers v2.7.0+ renamed `do_work` to `process_work`.
46
- if method_defined?(:process_work)
47
- alias process_work_without_airbrake process_work
48
- else
49
- alias process_work_without_airbrake do_work
50
- end
51
-
52
- def process_work(delivery_info, metadata, msg, handler)
53
- timing = Airbrake::Benchmark.measure do
54
- process_work_without_airbrake(delivery_info, metadata, msg, handler)
42
+ module Airbrake
43
+ module Sneakers
44
+ # @todo Migrate to Sneakers v2.12.0 middleware API when it's released
45
+ # @see https://github.com/jondot/sneakers/pull/364
46
+ module Worker
47
+ # Sneakers v2.7.0+ renamed `do_work` to `process_work`.
48
+ define_method(
49
+ ::Sneakers::Worker.method_defined?(:process_work) ? :process_work : :do_work,
50
+ ) do |delivery_info, metadata, msg, handler|
51
+ timing = Airbrake::Benchmark.measure do
52
+ super(delivery_info, metadata, msg, handler)
53
+ end
54
+ rescue Exception => exception # rubocop:disable Lint/RescueException
55
+ Airbrake.notify_queue(
56
+ queue: self.class.to_s,
57
+ error_count: 1,
58
+ timing: 0.01,
59
+ )
60
+ raise exception
61
+ else
62
+ Airbrake.notify_queue(
63
+ queue: self.class.to_s,
64
+ error_count: 0,
65
+ timing: timing,
66
+ )
55
67
  end
56
- rescue Exception => exception # rubocop:disable Lint/RescueException
57
- Airbrake.notify_queue(
58
- queue: self.class.to_s,
59
- error_count: 1,
60
- timing: 0.01,
61
- )
62
- raise exception
63
- else
64
- Airbrake.notify_queue(
65
- queue: self.class.to_s,
66
- error_count: 0,
67
- timing: timing,
68
- )
69
68
  end
70
69
  end
71
70
  end
71
+
72
+ Sneakers::Worker.prepend(Airbrake::Sneakers::Worker)
@@ -3,5 +3,5 @@
3
3
  # We use Semantic Versioning v2.0.0
4
4
  # More information: http://semver.org/
5
5
  module Airbrake
6
- AIRBRAKE_VERSION = '10.0.2'.freeze
6
+ AIRBRAKE_VERSION = '13.0.4'
7
7
  end
@@ -3,22 +3,19 @@
3
3
  # Creates the Airbrake initializer file for Rails apps.
4
4
  #
5
5
  # @example Invokation from terminal
6
- # rails generate airbrake PROJECT_KEY PROJECT_ID [NAME]
6
+ # rails generate airbrake [NAME]
7
7
  #
8
8
  class AirbrakeGenerator < Rails::Generators::Base
9
9
  # Adds current directory to source paths, so we can find the template file.
10
10
  source_root File.expand_path(__dir__)
11
11
 
12
- argument :project_id, required: false
13
- argument :project_key, required: false
14
-
15
12
  # Makes the NAME option optional, which allows to subclass from Base, so we
16
13
  # can pass arguments to the ERB template.
17
14
  #
18
- # @see http://asciicasts.com/episodes/218-making-generators-in-rails-3
15
+ # @see https://asciicasts.com/episodes/218-making-generators-in-rails-3.html
19
16
  argument :name, type: :string, default: 'application'
20
17
 
21
- desc 'Configures the Airbrake notifier with your project id and project key'
18
+ desc 'Configures the Airbrake notifier'
22
19
  def generate_layout
23
20
  template 'airbrake_initializer.rb.erb', 'config/initializers/airbrake.rb'
24
21
  end
@@ -1,80 +1,80 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Airbrake is an online tool that provides robust exception tracking in your Rails
4
- # applications. In doing so, it allows you to easily review errors, tie an error
5
- # to an individual piece of code, and trace the cause back to recent
6
- # changes. Airbrake enables for easy categorization, searching, and prioritization
7
- # of exceptions so that when errors occur, your team can quickly determine the
8
- # root cause.
3
+ # Airbrake is an online tool that provides robust exception tracking in your
4
+ # Rails applications. In doing so, it allows you to easily review errors, tie an
5
+ # error to an individual piece of code, and trace the cause back to recent
6
+ # changes. Airbrake enables for easy categorization, searching, and
7
+ # prioritization of exceptions so that when errors occur, your team can quickly
8
+ # determine the root cause.
9
9
  #
10
10
  # Configuration details:
11
11
  # https://github.com/airbrake/airbrake-ruby#configuration
12
- Airbrake.configure do |c|
13
- # You must set both project_id & project_key. To find your project_id and
14
- # project_key navigate to your project's General Settings and copy the values
15
- # from the right sidebar.
16
- # https://github.com/airbrake/airbrake-ruby#project_id--project_key
17
- <% if project_id -%>
18
- c.project_id = <%= project_id %>
19
- <% else -%>
20
- c.project_id = ENV['AIRBRAKE_PROJECT_ID']
21
- <% end -%>
22
- <% if project_key -%>
23
- c.project_key = '<%= project_key %>'
24
- <% else -%>
25
- c.project_key = ENV['AIRBRAKE_API_KEY']
26
- <% end -%>
12
+ if (project_id = ENV['AIRBRAKE_PROJECT_ID']) &&
13
+ project_key = (ENV['AIRBRAKE_PROJECT_KEY'] || ENV['AIRBRAKE_API_KEY'])
14
+ Airbrake.configure do |c|
15
+ # You must set both project_id & project_key. To find your project_id and
16
+ # project_key navigate to your project's General Settings and copy the
17
+ # values from the right sidebar.
18
+ # https://github.com/airbrake/airbrake-ruby#project_id--project_key
19
+ c.project_id = project_id
20
+ c.project_key = project_key
27
21
 
28
- # Configures the root directory of your project. Expects a String or a
29
- # Pathname, which represents the path to your project. Providing this option
30
- # helps us to filter out repetitive data from backtrace frames and link to
31
- # GitHub files from our dashboard.
32
- # https://github.com/airbrake/airbrake-ruby#root_directory
33
- c.root_directory = Rails.root
22
+ # Configures the root directory of your project. Expects a String or a
23
+ # Pathname, which represents the path to your project. Providing this option
24
+ # helps us to filter out repetitive data from backtrace frames and link to
25
+ # GitHub files from our dashboard.
26
+ # https://github.com/airbrake/airbrake-ruby#root_directory
27
+ c.root_directory = Rails.root
34
28
 
35
- # By default, Airbrake Ruby outputs to STDOUT. In Rails apps it makes sense to
36
- # use the Rails' logger.
37
- # https://github.com/airbrake/airbrake-ruby#logger
38
- c.logger = Airbrake::Rails.logger
29
+ # By default, Airbrake Ruby outputs to STDOUT. In Rails apps it makes sense
30
+ # to use the Rails' logger.
31
+ # https://github.com/airbrake/airbrake-ruby#logger
32
+ c.logger = Airbrake::Rails.logger
39
33
 
40
- # Configures the environment the application is running in. Helps the Airbrake
41
- # dashboard to distinguish between exceptions occurring in different
42
- # environments.
43
- # NOTE: This option must be set in order to make the 'ignore_environments'
44
- # option work.
45
- # https://github.com/airbrake/airbrake-ruby#environment
46
- c.environment = Rails.env
34
+ # Configures the environment the application is running in. Helps the
35
+ # Airbrake dashboard to distinguish between exceptions occurring in
36
+ # different environments.
37
+ # NOTE: This option must be set in order to make the 'ignore_environments'
38
+ # option work.
39
+ # https://github.com/airbrake/airbrake-ruby#environment
40
+ c.environment = Rails.env
47
41
 
48
- # Setting this option allows Airbrake to filter exceptions occurring in
49
- # unwanted environments such as :test.
50
- # NOTE: This option *does not* work if you don't set the 'environment' option.
51
- # https://github.com/airbrake/airbrake-ruby#ignore_environments
52
- c.ignore_environments = %w[test]
42
+ # Setting this option allows Airbrake to filter exceptions occurring in
43
+ # unwanted environments such as :test. NOTE: This option *does not* work if
44
+ # you don't set the 'environment' option.
45
+ # https://github.com/airbrake/airbrake-ruby#ignore_environments
46
+ c.ignore_environments = %w[test]
53
47
 
54
- # A list of parameters that should be filtered out of what is sent to
55
- # Airbrake. By default, all "password" attributes will have their contents
56
- # replaced.
57
- # https://github.com/airbrake/airbrake-ruby#blacklist_keys
58
- c.blacklist_keys = [/password/i, /authorization/i]
48
+ # A list of parameters that should be filtered out of what is sent to
49
+ # Airbrake. By default, all "password" attributes will have their contents
50
+ # replaced.
51
+ # https://github.com/airbrake/airbrake-ruby#blocklist_keys
52
+ c.blocklist_keys = [/password/i, /authorization/i]
59
53
 
60
- # Alternatively, you can integrate with Rails' filter_parameters.
61
- # Read more: https://goo.gl/gqQ1xS
62
- # c.blacklist_keys = Rails.application.config.filter_parameters
63
- end
54
+ # Alternatively, you can integrate with Rails' filter_parameters.
55
+ # Read more: https://goo.gl/gqQ1xS
56
+ # c.blocklist_keys = Rails.application.config.filter_parameters
57
+ end
64
58
 
65
- # A filter that collects request body information. Enable it if you are sure you
66
- # don't send sensitive information to Airbrake in your body (such as passwords).
67
- # https://github.com/airbrake/airbrake#requestbodyfilter
68
- # Airbrake.add_filter(Airbrake::Rack::RequestBodyFilter.new)
59
+ # A filter that collects request body information. Enable it if you are sure you
60
+ # don't send sensitive information to Airbrake in your body (such as passwords).
61
+ # https://github.com/airbrake/airbrake#requestbodyfilter
62
+ # Airbrake.add_filter(Airbrake::Rack::RequestBodyFilter.new)
69
63
 
70
- # Attaches thread & fiber local variables along with general thread information.
71
- # Airbrake.add_filter(Airbrake::Filters::ThreadFilter.new)
64
+ # Attaches thread & fiber local variables along with general thread information.
65
+ # Airbrake.add_filter(Airbrake::Filters::ThreadFilter.new)
72
66
 
73
- # Attaches loaded dependencies to the notice object
74
- # (under context/versions/dependencies).
75
- # Airbrake.add_filter(Airbrake::Filters::DependencyFilter.new)
67
+ # Attaches loaded dependencies to the notice object
68
+ # (under context/versions/dependencies).
69
+ # Airbrake.add_filter(Airbrake::Filters::DependencyFilter.new)
76
70
 
77
- # If you want to convert your log messages to Airbrake errors, we offer an
78
- # integration with the Logger class from stdlib.
79
- # https://github.com/airbrake/airbrake#logger
80
- # Rails.logger = Airbrake::AirbrakeLogger.new(Rails.logger)
71
+ # If you want to convert your log messages to Airbrake errors, we offer an
72
+ # integration with the Logger class from stdlib.
73
+ # https://github.com/airbrake/airbrake#logger
74
+ # Rails.logger = Airbrake::AirbrakeLogger.new(Rails.logger)
75
+ else
76
+ Rails.logger.warn(
77
+ "#{__FILE__}: Airbrake project id or project key is not set. " \
78
+ "Skipping Airbrake configuration"
79
+ )
80
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: airbrake
3
3
  version: !ruby/object:Gem::Version
4
- version: 10.0.2
4
+ version: 13.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Airbrake Technologies, Inc.
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-03-31 00:00:00.000000000 Z
11
+ date: 2023-11-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: airbrake-ruby
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '4.13'
19
+ version: '6.0'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '4.13'
26
+ version: '6.0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rspec
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -58,14 +58,14 @@ dependencies:
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: '12'
61
+ version: '13'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: '12'
68
+ version: '13'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: pry
71
71
  requirement: !ruby/object:Gem::Requirement
@@ -84,32 +84,18 @@ dependencies:
84
84
  name: appraisal
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - "~>"
87
+ - - ">="
88
88
  - !ruby/object:Gem::Version
89
- version: '2'
89
+ version: '0'
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - "~>"
94
+ - - ">="
95
95
  - !ruby/object:Gem::Version
96
- version: '2'
96
+ version: '0'
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: rack
99
- requirement: !ruby/object:Gem::Requirement
100
- requirements:
101
- - - "~>"
102
- - !ruby/object:Gem::Version
103
- version: '1'
104
- type: :development
105
- prerelease: false
106
- version_requirements: !ruby/object:Gem::Requirement
107
- requirements:
108
- - - "~>"
109
- - !ruby/object:Gem::Version
110
- version: '1'
111
- - !ruby/object:Gem::Dependency
112
- name: webmock
113
99
  requirement: !ruby/object:Gem::Requirement
114
100
  requirements:
115
101
  - - "~>"
@@ -123,71 +109,40 @@ dependencies:
123
109
  - !ruby/object:Gem::Version
124
110
  version: '2'
125
111
  - !ruby/object:Gem::Dependency
126
- name: sneakers
112
+ name: webmock
127
113
  requirement: !ruby/object:Gem::Requirement
128
114
  requirements:
129
115
  - - "~>"
130
116
  - !ruby/object:Gem::Version
131
- version: '2'
117
+ version: '3'
132
118
  type: :development
133
119
  prerelease: false
134
120
  version_requirements: !ruby/object:Gem::Requirement
135
121
  requirements:
136
122
  - - "~>"
137
123
  - !ruby/object:Gem::Version
138
- version: '2'
124
+ version: '3'
139
125
  - !ruby/object:Gem::Dependency
140
126
  name: amq-protocol
141
127
  requirement: !ruby/object:Gem::Requirement
142
128
  requirements:
143
- - - '='
129
+ - - ">="
144
130
  - !ruby/object:Gem::Version
145
- version: 2.2.0
131
+ version: '0'
146
132
  type: :development
147
133
  prerelease: false
148
134
  version_requirements: !ruby/object:Gem::Requirement
149
135
  requirements:
150
- - - '='
136
+ - - ">="
151
137
  - !ruby/object:Gem::Version
152
- version: 2.2.0
138
+ version: '0'
153
139
  - !ruby/object:Gem::Dependency
154
140
  name: rack-test
155
- requirement: !ruby/object:Gem::Requirement
156
- requirements:
157
- - - '='
158
- - !ruby/object:Gem::Version
159
- version: 0.6.3
160
- type: :development
161
- prerelease: false
162
- version_requirements: !ruby/object:Gem::Requirement
163
- requirements:
164
- - - '='
165
- - !ruby/object:Gem::Version
166
- version: 0.6.3
167
- - !ruby/object:Gem::Dependency
168
- name: redis
169
- requirement: !ruby/object:Gem::Requirement
170
- requirements:
171
- - - '='
172
- - !ruby/object:Gem::Version
173
- version: 3.3.3
174
- type: :development
175
- prerelease: false
176
- version_requirements: !ruby/object:Gem::Requirement
177
- requirements:
178
- - - '='
179
- - !ruby/object:Gem::Version
180
- version: 3.3.3
181
- - !ruby/object:Gem::Dependency
182
- name: public_suffix
183
141
  requirement: !ruby/object:Gem::Requirement
184
142
  requirements:
185
143
  - - "~>"
186
144
  - !ruby/object:Gem::Version
187
145
  version: '2.0'
188
- - - "<"
189
- - !ruby/object:Gem::Version
190
- version: '3.0'
191
146
  type: :development
192
147
  prerelease: false
193
148
  version_requirements: !ruby/object:Gem::Requirement
@@ -195,107 +150,48 @@ dependencies:
195
150
  - - "~>"
196
151
  - !ruby/object:Gem::Version
197
152
  version: '2.0'
198
- - - "<"
199
- - !ruby/object:Gem::Version
200
- version: '3.0'
201
- - !ruby/object:Gem::Dependency
202
- name: nokogiri
203
- requirement: !ruby/object:Gem::Requirement
204
- requirements:
205
- - - '='
206
- - !ruby/object:Gem::Version
207
- version: 1.9.1
208
- type: :development
209
- prerelease: false
210
- version_requirements: !ruby/object:Gem::Requirement
211
- requirements:
212
- - - '='
213
- - !ruby/object:Gem::Version
214
- version: 1.9.1
215
153
  - !ruby/object:Gem::Dependency
216
- name: parallel
217
- requirement: !ruby/object:Gem::Requirement
218
- requirements:
219
- - - '='
220
- - !ruby/object:Gem::Version
221
- version: 1.13.0
222
- type: :development
223
- prerelease: false
224
- version_requirements: !ruby/object:Gem::Requirement
225
- requirements:
226
- - - '='
227
- - !ruby/object:Gem::Version
228
- version: 1.13.0
229
- - !ruby/object:Gem::Dependency
230
- name: minitest
231
- requirement: !ruby/object:Gem::Requirement
232
- requirements:
233
- - - '='
234
- - !ruby/object:Gem::Version
235
- version: 5.11.3
236
- type: :development
237
- prerelease: false
238
- version_requirements: !ruby/object:Gem::Requirement
239
- requirements:
240
- - - '='
241
- - !ruby/object:Gem::Version
242
- version: 5.11.3
243
- - !ruby/object:Gem::Dependency
244
- name: rack-cache
245
- requirement: !ruby/object:Gem::Requirement
246
- requirements:
247
- - - '='
248
- - !ruby/object:Gem::Version
249
- version: 1.9.0
250
- type: :development
251
- prerelease: false
252
- version_requirements: !ruby/object:Gem::Requirement
253
- requirements:
254
- - - '='
255
- - !ruby/object:Gem::Version
256
- version: 1.9.0
257
- - !ruby/object:Gem::Dependency
258
- name: redis-namespace
154
+ name: redis
259
155
  requirement: !ruby/object:Gem::Requirement
260
156
  requirements:
261
- - - '='
157
+ - - "~>"
262
158
  - !ruby/object:Gem::Version
263
- version: 1.6.0
159
+ version: '4.5'
264
160
  type: :development
265
161
  prerelease: false
266
162
  version_requirements: !ruby/object:Gem::Requirement
267
163
  requirements:
268
- - - '='
164
+ - - "~>"
269
165
  - !ruby/object:Gem::Version
270
- version: 1.6.0
166
+ version: '4.5'
271
167
  - !ruby/object:Gem::Dependency
272
168
  name: sidekiq
273
169
  requirement: !ruby/object:Gem::Requirement
274
170
  requirements:
275
171
  - - "~>"
276
172
  - !ruby/object:Gem::Version
277
- version: '5'
173
+ version: '6'
278
174
  type: :development
279
175
  prerelease: false
280
176
  version_requirements: !ruby/object:Gem::Requirement
281
177
  requirements:
282
178
  - - "~>"
283
179
  - !ruby/object:Gem::Version
284
- version: '5'
180
+ version: '6'
285
181
  - !ruby/object:Gem::Dependency
286
182
  name: curb
287
183
  requirement: !ruby/object:Gem::Requirement
288
184
  requirements:
289
185
  - - "~>"
290
186
  - !ruby/object:Gem::Version
291
- version: '0.9'
187
+ version: '1.0'
292
188
  type: :development
293
189
  prerelease: false
294
190
  version_requirements: !ruby/object:Gem::Requirement
295
191
  requirements:
296
192
  - - "~>"
297
193
  - !ruby/object:Gem::Version
298
- version: '0.9'
194
+ version: '1.0'
299
195
  - !ruby/object:Gem::Dependency
300
196
  name: excon
301
197
  requirement: !ruby/object:Gem::Requirement
@@ -316,14 +212,14 @@ dependencies:
316
212
  requirements:
317
213
  - - "~>"
318
214
  - !ruby/object:Gem::Version
319
- version: '2.2'
215
+ version: '5.0'
320
216
  type: :development
321
217
  prerelease: false
322
218
  version_requirements: !ruby/object:Gem::Requirement
323
219
  requirements:
324
220
  - - "~>"
325
221
  - !ruby/object:Gem::Version
326
- version: '2.2'
222
+ version: '5.0'
327
223
  - !ruby/object:Gem::Dependency
328
224
  name: httpclient
329
225
  requirement: !ruby/object:Gem::Requirement
@@ -352,6 +248,20 @@ dependencies:
352
248
  - - "~>"
353
249
  - !ruby/object:Gem::Version
354
250
  version: '1.3'
251
+ - !ruby/object:Gem::Dependency
252
+ name: redis-namespace
253
+ requirement: !ruby/object:Gem::Requirement
254
+ requirements:
255
+ - - "~>"
256
+ - !ruby/object:Gem::Version
257
+ version: '1.8'
258
+ type: :development
259
+ prerelease: false
260
+ version_requirements: !ruby/object:Gem::Requirement
261
+ requirements:
262
+ - - "~>"
263
+ - !ruby/object:Gem::Version
264
+ version: '1.8'
355
265
  description: |
356
266
  Airbrake is an online tool that provides robust exception tracking in any of
357
267
  your Ruby applications. In doing so, it allows you to easily review errors, tie
@@ -405,6 +315,9 @@ files:
405
315
  - lib/airbrake/rails/http_client.rb
406
316
  - lib/airbrake/rails/net_http.rb
407
317
  - lib/airbrake/rails/railtie.rb
318
+ - lib/airbrake/rails/railties/action_controller_tie.rb
319
+ - lib/airbrake/rails/railties/active_record_tie.rb
320
+ - lib/airbrake/rails/railties/middleware_tie.rb
408
321
  - lib/airbrake/rails/typhoeus.rb
409
322
  - lib/airbrake/rake.rb
410
323
  - lib/airbrake/rake/tasks.rb
@@ -419,8 +332,9 @@ files:
419
332
  homepage: https://airbrake.io
420
333
  licenses:
421
334
  - MIT
422
- metadata: {}
423
- post_install_message:
335
+ metadata:
336
+ rubygems_mfa_required: 'true'
337
+ post_install_message:
424
338
  rdoc_options: []
425
339
  require_paths:
426
340
  - lib
@@ -428,15 +342,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
428
342
  requirements:
429
343
  - - ">="
430
344
  - !ruby/object:Gem::Version
431
- version: '2.1'
345
+ version: '2.6'
432
346
  required_rubygems_version: !ruby/object:Gem::Requirement
433
347
  requirements:
434
348
  - - ">="
435
349
  - !ruby/object:Gem::Version
436
350
  version: '0'
437
351
  requirements: []
438
- rubygems_version: 3.1.2
439
- signing_key:
352
+ rubygems_version: 3.3.26
353
+ signing_key:
440
354
  specification_version: 4
441
355
  summary: Airbrake is an online tool that provides robust exception tracking in any
442
356
  of your Ruby applications.