honeybadger 5.6.0 → 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: 0553610b4340f86d2d607666cd3f31da65d5c61c63c8f5956e7d63ff5ef1726d
4
- data.tar.gz: 169eb72ebd67a4fc8bbfd5a462619f7b8f9d875e3ea084a5c39311afa2c40bec
3
+ metadata.gz: 0fda24e6e314cb0c4d97567f6bd853fb2ea362a3f74811d3f678df5c6e29296b
4
+ data.tar.gz: 5277c9c0f5387299d254345b9b728d1699b5852bd3a9a63ce3ec7e6c22019546
5
5
  SHA512:
6
- metadata.gz: 1235bc8bf638c498d96e3e440d8fc40ac72f76df0a5ca491d21836367dad636311e6373183f33cc10981c0aca170ecab05ff342a739d7a8d29b5c7db187c5a0b
7
- data.tar.gz: 8ff748c31c80cd90813b8284f5e3f015cb38493713d1f0d921fe43b85791100cb20c32fd3b78f74812e8043b904e1c603a340ef8ac6cd69747d0e81e70af290d
6
+ metadata.gz: 81f8c10e7b6bbfa07ad527a713c32252281a3e190c76f708635cfbcb1c9758fb4a195b95576780f0a8181cf81110ea741d05365ccc0cc1404a08ca984b627266
7
+ data.tar.gz: 36c75e8ed8c8ed6efa638ef367f80d5fa79f9d718b87ebae77db081af629ce64deb36b81c4a3cb22e725b2b24eb9b3aedba1cdec5e33123dcaadff790f6f9b1a
data/CHANGELOG.md CHANGED
@@ -1,5 +1,12 @@
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
+
3
10
  ## [5.6.0](https://github.com/honeybadger-io/honeybadger-ruby/compare/v5.5.1...v5.6.0) (2024-03-05)
4
11
 
5
12
 
@@ -4,27 +4,42 @@ module Honeybadger
4
4
  # Ignore inline and test adapters, as well as the adapters that we support with their own plugins
5
5
  EXCLUDED_ADAPTERS = %i[inline test delayed_job faktory karafka resque shoryuken sidekiq sucker_punch].freeze
6
6
 
7
- Plugin.register {
8
- requirement { defined?(::Rails.application) && ::Rails.application }
9
- requirement {
10
- ::Rails.application.config.respond_to?(:active_job) &&
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) &&
11
36
  !EXCLUDED_ADAPTERS.include?(::Rails.application.config.active_job[:queue_adapter])
12
- }
37
+ end
13
38
 
14
- execution {
15
- ::ActiveJob::Base.class_eval do |base|
16
- base.set_callback :perform, :around do |param, block|
17
- Honeybadger.clear!
18
- begin
19
- block.call
20
- rescue => error
21
- Honeybadger.notify(error, parameters: {job_id: job_id, arguments: arguments})
22
- raise error
23
- end
24
- end
25
- end
26
- }
27
- }
39
+ execution do
40
+ ::ActiveJob::Base.set_callback(:perform, :around, &ActiveJob.method(:perform_around))
41
+ end
42
+ end
28
43
  end
29
44
  end
30
45
  end
@@ -1,4 +1,4 @@
1
1
  module Honeybadger
2
2
  # The current String Honeybadger version.
3
- VERSION = '5.6.0'.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.6.0
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-03-05 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: