hermes-rb 0.7.0 → 0.7.2

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 01e56f5cf846518bbedba098f5d3129cea50b81390e948eb8b3640cd98b4ee58
4
- data.tar.gz: d672a90b3b7ddec2b8c7fcf3a57307c208297362dd16191c11792f4d8ddc4d4f
3
+ metadata.gz: 04cd997573681cd37e8efc8061173c6aeb7eaf4a9f7310ba74db397b0e80ce2a
4
+ data.tar.gz: b5c13fc6d2cd31cfb509f150788db4d6b7104211241ca623e0e378ed90875d1f
5
5
  SHA512:
6
- metadata.gz: 9440e207aaddc314e99d66e87c9d0296b80df0280c2d4112e4d1b6530fcf3bf9da17fcdb44f398ae8f607cf6c4dbf4eed66ba44b6836d748781ce997100777d6
7
- data.tar.gz: 55886c1f907cf1031bdf2fb8528bfa5e4efeb062161aef0e64c6b6bf601481eb411736b93e24b0b21b5a11636d0a308f5c73bce4508e2071698c7b670e5eceff
6
+ metadata.gz: 43733dc22a8ae84ef2a83d45c31ab32dd5ce747e695864e9d1d4b982a05c9dd67ed266aabb70113585a120526ae5526913c69dcbe88477816a456b23c017be1f
7
+ data.tar.gz: 975dfaafd7ed1050e51b032f7c76153c1c50832fae47852360e1e81984b842eef461f37f000f2ad80fdf44f5763313516ae5951a0f7cf203051c722a2e4d8498
data/Changelog.md CHANGED
@@ -2,6 +2,12 @@
2
2
 
3
3
  ## Master
4
4
 
5
+ ## 0.7.2
6
+ - Clear Hermes.origin_headers after calling event handlers
7
+
8
+ ## 0.7.1
9
+ - Fix Hermes::DistributedTraceRepository so that it properly applies mapper that modifies event body
10
+
5
11
  ## 0.7.0
6
12
  - Add support for DDTrace v1
7
13
 
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- hermes-rb (0.7.0)
4
+ hermes-rb (0.7.2)
5
5
  activerecord (>= 5)
6
6
  activesupport (>= 5)
7
7
  dry-container (~> 0)
@@ -12,12 +12,12 @@ PATH
12
12
  GEM
13
13
  remote: https://rubygems.org/
14
14
  specs:
15
- activemodel (7.0.3)
16
- activesupport (= 7.0.3)
17
- activerecord (7.0.3)
18
- activemodel (= 7.0.3)
19
- activesupport (= 7.0.3)
20
- activesupport (7.0.3)
15
+ activemodel (7.0.4)
16
+ activesupport (= 7.0.4)
17
+ activerecord (7.0.4)
18
+ activemodel (= 7.0.4)
19
+ activesupport (= 7.0.4)
20
+ activesupport (7.0.4)
21
21
  concurrent-ruby (~> 1.0, >= 1.0.2)
22
22
  i18n (>= 1.6, < 2)
23
23
  minitest (>= 5.1)
@@ -36,15 +36,11 @@ GEM
36
36
  ddtrace (0.45.0)
37
37
  msgpack
38
38
  diff-lcs (1.4.4)
39
- dry-configurable (0.15.0)
39
+ dry-container (0.10.1)
40
40
  concurrent-ruby (~> 1.0)
41
- dry-core (~> 0.6)
42
- dry-container (0.9.0)
41
+ dry-core (0.8.1)
43
42
  concurrent-ruby (~> 1.0)
44
- dry-configurable (~> 0.13, >= 0.13.0)
45
- dry-core (0.7.1)
46
- concurrent-ruby (~> 1.0)
47
- dry-inflector (0.2.1)
43
+ dry-inflector (0.3.0)
48
44
  dry-logic (1.2.0)
49
45
  concurrent-ruby (~> 1.0)
50
46
  dry-core (~> 0.5, >= 0.5)
@@ -63,16 +59,16 @@ GEM
63
59
  bunny (>= 2.19, < 3.0)
64
60
  carrot-top (~> 0.0.7)
65
61
  multi_json (~> 1.15)
66
- i18n (1.10.0)
62
+ i18n (1.12.0)
67
63
  concurrent-ruby (~> 1.0)
68
64
  ice_nine (0.11.2)
69
65
  json (2.6.2)
70
- minitest (5.15.0)
66
+ minitest (5.16.3)
71
67
  msgpack (1.4.2)
72
68
  multi_json (1.15.0)
73
69
  newrelic_rpm (6.15.0)
74
70
  pg (1.2.3)
75
- rack (2.2.3.1)
71
+ rack (3.0.0)
76
72
  rake (13.0.1)
77
73
  rbtree (0.4.5)
78
74
  request_store (1.5.1)
@@ -90,13 +86,13 @@ GEM
90
86
  diff-lcs (>= 1.2.0, < 2.0)
91
87
  rspec-support (~> 3.10.0)
92
88
  rspec-support (3.10.0)
93
- set (1.0.2)
89
+ set (1.0.3)
94
90
  sorted_set (1.0.3)
95
91
  rbtree
96
92
  set (~> 1.0)
97
93
  thor (1.2.1)
98
94
  timecop (0.9.2)
99
- tzinfo (2.0.4)
95
+ tzinfo (2.0.5)
100
96
  concurrent-ruby (~> 1.0)
101
97
  vcr (5.0.0)
102
98
 
@@ -20,16 +20,16 @@ module Hermes
20
20
  private
21
21
 
22
22
  def attributes_for_trace_context(event, trace_context)
23
- distributes_tracing_mapper.call(
23
+ {
24
24
  trace: trace_context.trace,
25
25
  span: trace_context.span,
26
26
  parent_span: trace_context.parent_span,
27
27
  service: trace_context.service,
28
28
  event_class: event.class.to_s,
29
29
  routing_key: event.routing_key,
30
- event_body: event.as_json,
30
+ event_body: distributes_tracing_mapper.call(event.as_json),
31
31
  event_headers: event.to_headers
32
- )
32
+ }
33
33
  end
34
34
 
35
35
  def store_trace(attributes)
@@ -19,12 +19,13 @@ module Hermes
19
19
 
20
20
  def call(event_class, body, headers)
21
21
  event = Object.const_get(event_class).from_body_and_headers(body, headers)
22
- Hermes.origin_headers = headers
23
22
 
24
- instrumenter.instrument("Hermes.EventProcessor.#{event_class}") do
25
- response = infer_handler(event_class).call(event)
26
- distributed_trace_repository.create(event)
27
- ProcessingResult.new(event, response)
23
+ Hermes.with_origin_headers(headers) do
24
+ instrumenter.instrument("Hermes.EventProcessor.#{event_class}") do
25
+ response = infer_handler(event_class).call(event)
26
+ distributed_trace_repository.create(event)
27
+ ProcessingResult.new(event, response)
28
+ end
28
29
  end
29
30
  end
30
31
 
@@ -1,5 +1,5 @@
1
1
  module Hermes
2
2
  module Rb
3
- VERSION = "0.7.0"
3
+ VERSION = "0.7.2"
4
4
  end
5
5
  end
data/lib/hermes.rb CHANGED
@@ -50,6 +50,16 @@ module Hermes
50
50
  def self.origin_headers=(headers)
51
51
  DependenciesContainer["global_store"][ORIGIN_HEADERS_KEY] = headers.to_h
52
52
  end
53
+
54
+ def self.clear_origin_headers
55
+ DependenciesContainer["global_store"].delete(ORIGIN_HEADERS_KEY)
56
+ end
57
+
58
+ def self.with_origin_headers(headers)
59
+ self.origin_headers = headers
60
+
61
+ yield.tap { clear_origin_headers }
62
+ end
53
63
  end
54
64
 
55
65
  require "hermes/distributed_trace"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hermes-rb
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.0
4
+ version: 0.7.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Karol Galanciak
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-05-30 00:00:00.000000000 Z
11
+ date: 2022-09-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: dry-struct
@@ -307,7 +307,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
307
307
  - !ruby/object:Gem::Version
308
308
  version: '0'
309
309
  requirements: []
310
- rubygems_version: 3.2.22
310
+ rubygems_version: 3.1.4
311
311
  signing_key:
312
312
  specification_version: 4
313
313
  summary: A messenger of gods, delivering them via RabbitMQ with a little help from