honeybadger 5.5.1 → 5.7.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: bf56c137b95179fbd21fd5bac2c31296394a7972780e1b02c5d2af42edb33891
4
- data.tar.gz: 13a880f233e679356ba6649e89040355bd4c7db1b8fcd228b1d7d0512d07afb5
3
+ metadata.gz: 0fda24e6e314cb0c4d97567f6bd853fb2ea362a3f74811d3f678df5c6e29296b
4
+ data.tar.gz: 5277c9c0f5387299d254345b9b728d1699b5852bd3a9a63ce3ec7e6c22019546
5
5
  SHA512:
6
- metadata.gz: 14c0a39a3f756fe14eee8b49159b3f8941647ecbb3d54a376573f77a6e1c4bc87e3a0d47c856b259a53f63a11f10bf9ac61836416c64cae321e8849425f2345e
7
- data.tar.gz: 6a28432b6323dd7f9d22cc05e019152d01fec5f60cc8bc070e5a9b3c0c40e7e2a150aa8b15070a5b05543e1e62b489699f16e17ae6636664457edb1c08770878
6
+ metadata.gz: 81f8c10e7b6bbfa07ad527a713c32252281a3e190c76f708635cfbcb1c9758fb4a195b95576780f0a8181cf81110ea741d05365ccc0cc1404a08ca984b627266
7
+ data.tar.gz: 36c75e8ed8c8ed6efa638ef367f80d5fa79f9d718b87ebae77db081af629ce64deb36b81c4a3cb22e725b2b24eb9b3aedba1cdec5e33123dcaadff790f6f9b1a
data/CHANGELOG.md CHANGED
@@ -1,5 +1,19 @@
1
1
  # Change Log
2
2
 
3
+ ## [5.7.0](https://github.com/honeybadger-io/honeybadger-ruby/compare/v5.6.0...v5.7.0) (2024-03-12)
4
+
5
+
6
+ ### Features
7
+
8
+ * add additional context to ActiveJob notifications ([#528](https://github.com/honeybadger-io/honeybadger-ruby/issues/528)) ([d6ae246](https://github.com/honeybadger-io/honeybadger-ruby/commit/d6ae246a24290d76bcd0c8deb9121707d88976fe))
9
+
10
+ ## [5.6.0](https://github.com/honeybadger-io/honeybadger-ruby/compare/v5.5.1...v5.6.0) (2024-03-05)
11
+
12
+
13
+ ### Features
14
+
15
+ * track exceptions in :solid_queue ([#526](https://github.com/honeybadger-io/honeybadger-ruby/issues/526)) ([4e2d428](https://github.com/honeybadger-io/honeybadger-ruby/commit/4e2d4287bbbe0100d6f82a38b7314fc8dc5a1571)), closes [#518](https://github.com/honeybadger-io/honeybadger-ruby/issues/518)
16
+
3
17
  ## [5.5.1](https://github.com/honeybadger-io/honeybadger-ruby/compare/v5.5.0...v5.5.1) (2024-02-26)
4
18
 
5
19
 
@@ -291,9 +291,9 @@ module Honeybadger
291
291
  warn { sprintf('Event send failed: Payload is too large. code=%s', response.code) }
292
292
  when 201
293
293
  if throttle = dec_throttle
294
- info { sprintf('Success ⚡ Event sent code=%s throttle=%s interval=%s', response.code, throttle, throttle_interval) }
294
+ debug { sprintf('Success ⚡ Event sent code=%s throttle=%s interval=%s', response.code, throttle, throttle_interval) }
295
295
  else
296
- info { sprintf('Success ⚡ Event sent code=%s', response.code) }
296
+ debug { sprintf('Success ⚡ Event sent code=%s', response.code) }
297
297
  end
298
298
  when :stubbed
299
299
  info { sprintf('Success ⚡ Development mode is enabled; This event will be sent after app is deployed.') }
@@ -1,29 +1,45 @@
1
1
  module Honeybadger
2
2
  module Plugins
3
3
  module ActiveJob
4
-
5
- Plugin.register {
6
- requirement { defined?(::Rails.application) && ::Rails.application }
7
- requirement {
8
- ::Rails.application.config.respond_to?(:active_job) &&
9
- ::Rails.application.config.active_job[:queue_adapter] == :async
10
- }
11
-
12
- execution {
13
- ::ActiveJob::Base.class_eval do |base|
14
- base.set_callback :perform, :around do |param, block|
15
- Honeybadger.clear!
16
- begin
17
- block.call
18
- rescue => error
19
- Honeybadger.notify(error, parameters: { job_arguments: self.arguments })
20
- raise error
21
- end
22
- end
23
- end
24
- }
25
- }
4
+ # Ignore inline and test adapters, as well as the adapters that we support with their own plugins
5
+ EXCLUDED_ADAPTERS = %i[inline test delayed_job faktory karafka resque shoryuken sidekiq sucker_punch].freeze
6
+
7
+ class << self
8
+ def perform_around(job, block)
9
+ Honeybadger.clear!
10
+ context = context(job)
11
+ block.call
12
+ rescue StandardError => e
13
+ Honeybadger.notify(e, context: context, parameters: { arguments: job.arguments })
14
+ raise e
15
+ end
16
+
17
+ def context(job) # rubocop:disable Metrics/MethodLength
18
+ {
19
+ component: job.class,
20
+ action: 'perform',
21
+ enqueued_at: job.try(:enqueued_at),
22
+ executions: job.executions,
23
+ job_class: job.class,
24
+ job_id: job.job_id,
25
+ priority: job.priority,
26
+ queue_name: job.queue_name,
27
+ scheduled_at: job.scheduled_at
28
+ }
29
+ end
30
+ end
31
+
32
+ Plugin.register do
33
+ requirement do
34
+ defined?(::Rails.application) &&
35
+ ::Rails.application.config.respond_to?(:active_job) &&
36
+ !EXCLUDED_ADAPTERS.include?(::Rails.application.config.active_job[:queue_adapter])
37
+ end
38
+
39
+ execution do
40
+ ::ActiveJob::Base.set_callback(:perform, :around, &ActiveJob.method(:perform_around))
41
+ end
42
+ end
26
43
  end
27
44
  end
28
-
29
45
  end
@@ -1,4 +1,4 @@
1
1
  module Honeybadger
2
2
  # The current String Honeybadger version.
3
- VERSION = '5.5.1'.freeze
3
+ VERSION = '5.7.0'.freeze
4
4
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: honeybadger
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.5.1
4
+ version: 5.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Honeybadger Industries LLC
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-02-26 00:00:00.000000000 Z
11
+ date: 2024-03-12 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Make managing application errors a more pleasant experience.
14
14
  email: