hermes-rb 0.7.0 → 0.7.2

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: 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