honeybadger 5.8.1 → 5.10.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 +4 -4
- data/CHANGELOG.md +14 -0
- data/lib/honeybadger/agent.rb +5 -3
- data/lib/honeybadger/context_manager.rb +27 -6
- data/lib/honeybadger/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6d9f929f3c5aabe854d9c6cd222a6863e751f18784077580cc8781714f0e61e6
|
4
|
+
data.tar.gz: cc4c3921b06bcf5c0fee59a5d0a33b1359da5b255db1e3709bf08cf0f84731a7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b786d75e0588efb1cec01e13fbb46ecd1d71d305f21b20cf41e836f88ffac2e10a938d058e0be62d41211e2c4476b210c25793919d3470a0f2aa07b2391e2fec
|
7
|
+
data.tar.gz: 68faad897df72b3ac7efa6a7321c00c5d71c97578431a39ba84d87ce8f828bea86ee754fd1216dceb2d01ac00a5b434072e2a706180da6d676777e443c28f5e4
|
data/CHANGELOG.md
CHANGED
@@ -1,6 +1,20 @@
|
|
1
1
|
# Change Log
|
2
2
|
|
3
3
|
|
4
|
+
## [5.10.0](https://github.com/honeybadger-io/honeybadger-ruby/compare/v5.9.0...v5.10.0) (2024-05-10)
|
5
|
+
|
6
|
+
|
7
|
+
### Features
|
8
|
+
|
9
|
+
* return block value if block was passed to Honeybadger.context ([#546](https://github.com/honeybadger-io/honeybadger-ruby/issues/546)) ([2d7c685](https://github.com/honeybadger-io/honeybadger-ruby/commit/2d7c68565a5b9013fbbad6da16a706f38a3306b0))
|
10
|
+
|
11
|
+
## [5.9.0](https://github.com/honeybadger-io/honeybadger-ruby/compare/v5.8.1...v5.9.0) (2024-05-09)
|
12
|
+
|
13
|
+
|
14
|
+
### Features
|
15
|
+
|
16
|
+
* implement local contexts ([#541](https://github.com/honeybadger-io/honeybadger-ruby/issues/541)) ([806718e](https://github.com/honeybadger-io/honeybadger-ruby/commit/806718e76bf8d132a632c75bea124a8b22a4cc97))
|
17
|
+
|
4
18
|
## [5.8.1](https://github.com/honeybadger-io/honeybadger-ruby/compare/v5.8.0...v5.8.1) (2024-05-07)
|
5
19
|
|
6
20
|
|
data/lib/honeybadger/agent.rb
CHANGED
@@ -258,9 +258,11 @@ module Honeybadger
|
|
258
258
|
# When present, tags will be applied to errors with this context
|
259
259
|
# (optional).
|
260
260
|
#
|
261
|
-
# @return [self]
|
262
|
-
def context(context = nil)
|
263
|
-
context_manager.set_context(context) unless context.nil?
|
261
|
+
# @return [Object, self] value of the block if passed, otherwise self
|
262
|
+
def context(context = nil, &block)
|
263
|
+
block_result = context_manager.set_context(context, &block) unless context.nil?
|
264
|
+
return block_result if block_given?
|
265
|
+
|
264
266
|
self
|
265
267
|
end
|
266
268
|
|
@@ -21,15 +21,36 @@ module Honeybadger
|
|
21
21
|
# Internal helpers
|
22
22
|
|
23
23
|
|
24
|
-
def set_context(hash)
|
24
|
+
def set_context(hash, &block)
|
25
|
+
local = block_given?
|
25
26
|
@mutex.synchronize do
|
26
|
-
@
|
27
|
-
@
|
27
|
+
@global_context ||= {}
|
28
|
+
@local_context ||= []
|
29
|
+
|
30
|
+
new_context = Context(hash)
|
31
|
+
|
32
|
+
if local
|
33
|
+
@local_context << new_context
|
34
|
+
else
|
35
|
+
@global_context.update(new_context)
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
if local
|
40
|
+
begin
|
41
|
+
yield
|
42
|
+
ensure
|
43
|
+
@mutex.synchronize { @local_context&.pop }
|
44
|
+
end
|
28
45
|
end
|
29
46
|
end
|
30
47
|
|
31
48
|
def get_context
|
32
|
-
@mutex.synchronize
|
49
|
+
@mutex.synchronize do
|
50
|
+
return @global_context unless @local_context
|
51
|
+
|
52
|
+
@global_context.merge(@local_context.inject({}, :merge))
|
53
|
+
end
|
33
54
|
end
|
34
55
|
|
35
56
|
def set_rack_env(env)
|
@@ -46,10 +67,10 @@ module Honeybadger
|
|
46
67
|
|
47
68
|
def _initialize
|
48
69
|
@mutex.synchronize do
|
49
|
-
@
|
70
|
+
@global_context = nil
|
71
|
+
@local_context = nil
|
50
72
|
@rack_env = nil
|
51
73
|
end
|
52
74
|
end
|
53
|
-
|
54
75
|
end
|
55
76
|
end
|
data/lib/honeybadger/version.rb
CHANGED
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.
|
4
|
+
version: 5.10.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-05-
|
11
|
+
date: 2024-05-10 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: Make managing application errors a more pleasant experience.
|
14
14
|
email:
|