eventq 2.5.3 → 3.2.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: 694ed72384dbe126f58a0813b002ba2ba597fd4cd0d2f477a3fd68d9f12396bc
4
- data.tar.gz: 00eb675d57cd63827d55d59f9af6083d830226dcac7e2db3d281099cf30c8a06
3
+ metadata.gz: 6ee761f649fda6582f070d0dc7f2aed0f0b22224e64b98a41f4eddd284a36656
4
+ data.tar.gz: 7c19c2c2af06b57f61fa74c5720cf554409cdd86b1bebf05092c709ea81bb6eb
5
5
  SHA512:
6
- metadata.gz: 7e5368f9ac76beb781594a4d058bf4f71dfcf8b406d94af08aa3aee5edf67ff607edcd3eec54dceaa4c5d1f4ecff995500076353c2b4d4be6afaf6c03fb7c92e
7
- data.tar.gz: ea183d9565147acaa569cec2c7e8f8ceeb43dc6a152085f28ea31d7e737ee7b2b335340388ace7d84221909934bb66da08cf4cab5286511a3c2ac18e9bcac0c9
6
+ metadata.gz: cf3d1b36f92d9e46e5b20b37f30ae3a9870ac3e20c62a590fa768d986d8548b6fa8f873de36157d47ee0b3691aec8a95704baa5c1af71ddf55fc2f7abd0f00f7
7
+ data.tar.gz: 878f29fdaef648d5b1fb1e1ae0536bab58243bf323d2a56e83228a2a9c632394c5eb4b7e34132fb5174e6b4b7ef6c132936d1a47df2b6378bebaab6d5ff712f1
data/README.md CHANGED
@@ -1,6 +1,5 @@
1
1
  # EventQ
2
2
 
3
- [![Build Status](https://travis-ci.org/Sage/eventq.svg?branch=master)](https://travis-ci.org/Sage/eventq)
4
3
  [![Maintainability](https://api.codeclimate.com/v1/badges/87205b497059e2733bdc/maintainability)](https://codeclimate.com/github/Sage/eventq/maintainability)
5
4
  [![Test Coverage](https://api.codeclimate.com/v1/badges/87205b497059e2733bdc/test_coverage)](https://codeclimate.com/github/Sage/eventq/test_coverage)
6
5
 
@@ -15,25 +15,37 @@ module EventQ
15
15
  @serialization_manager = EventQ::SerializationProviders::Manager.new
16
16
  @signature_manager = EventQ::SignatureProviders::Manager.new
17
17
 
18
- # this array is used to record known event types
19
- @known_event_types = []
20
-
18
+ # this hash is used to record known event types:
19
+ # key = event_type / name
20
+ # value = topic arn
21
+ @known_event_types = {}
21
22
  end
22
23
 
24
+ # Returns true if the event has already been registerd, or false
25
+ # otherwise.
26
+ #
27
+ # @param [String] event_type
28
+ # @param [String] region
29
+ #
30
+ # @return [Boolean]
23
31
  def registered?(event_type, region = nil)
24
32
  topic_key = "#{region}:#{event_type}"
25
- @known_event_types.include?(topic_key)
33
+ @known_event_types.key?(topic_key)
26
34
  end
27
35
 
36
+ # Registers the event event_type and returns its topic arn.
37
+ #
38
+ # @param [String] event_type
39
+ # @param [String] region
40
+ #
41
+ # @return [String]
28
42
  def register_event(event_type, region = nil)
29
- if registered?(event_type, region)
30
- return true
31
- end
32
-
33
43
  topic_key = "#{region}:#{event_type}"
34
- @client.sns_helper(region).create_topic_arn(event_type, region)
35
- @known_event_types << topic_key
36
- true
44
+ return @known_event_types[topic_key] if registered?(event_type, region)
45
+
46
+ topic_arn = @client.sns_helper(region).create_topic_arn(event_type, region)
47
+ @known_event_types[topic_key] = topic_arn
48
+ topic_arn
37
49
  end
38
50
 
39
51
  def publish(topic:, event:, context: {}, region: nil)
@@ -88,6 +100,9 @@ module EventQ
88
100
  qm.type = event_type
89
101
  qm.context = context
90
102
  qm.content_type = event.class.to_s
103
+ if event.respond_to? :Correlation
104
+ qm.correlation_trace_id = event.Correlation['Trace']
105
+ end
91
106
 
92
107
  if EventQ::Configuration.signature_secret != nil
93
108
  provider = @signature_manager.get_provider(EventQ::Configuration.signature_provider)
@@ -1,6 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'aws-sdk'
3
+ require 'aws-sdk-sns'
4
+ require 'aws-sdk-sqs'
4
5
 
5
6
  module EventQ
6
7
  module Amazon
@@ -10,6 +10,7 @@ module EventQ
10
10
  attr_accessor_type :created, type: Float
11
11
  attr_accessor_type :signature, type: String
12
12
  attr_accessor_type :context, type: Hash
13
+ attr_accessor_type :correlation_trace_id, type: String
13
14
 
14
15
  def initialize
15
16
  @retry_attempts = 0
metadata CHANGED
@@ -1,15 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: eventq
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.5.3
4
+ version: 3.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - SageOne
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-01-23 00:00:00.000000000 Z
11
+ date: 2021-09-28 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: activesupport
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '4'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '4'
13
27
  - !ruby/object:Gem::Dependency
14
28
  name: bundler
15
29
  requirement: !ruby/object:Gem::Requirement
@@ -24,6 +38,34 @@ dependencies:
24
38
  - - "~>"
25
39
  - !ruby/object:Gem::Version
26
40
  version: '1.11'
41
+ - !ruby/object:Gem::Dependency
42
+ name: byebug
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '11.0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '11.0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: pry-byebug
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '3.9'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '3.9'
27
69
  - !ruby/object:Gem::Dependency
28
70
  name: rake
29
71
  requirement: !ruby/object:Gem::Requirement
@@ -53,7 +95,7 @@ dependencies:
53
95
  - !ruby/object:Gem::Version
54
96
  version: '0'
55
97
  - !ruby/object:Gem::Dependency
56
- name: simplecov
98
+ name: shoulda-matchers
57
99
  requirement: !ruby/object:Gem::Requirement
58
100
  requirements:
59
101
  - - ">="
@@ -67,49 +109,49 @@ dependencies:
67
109
  - !ruby/object:Gem::Version
68
110
  version: '0'
69
111
  - !ruby/object:Gem::Dependency
70
- name: shoulda-matchers
112
+ name: simplecov
71
113
  requirement: !ruby/object:Gem::Requirement
72
114
  requirements:
73
- - - ">="
115
+ - - "<"
74
116
  - !ruby/object:Gem::Version
75
- version: '0'
117
+ version: 0.18.0
76
118
  type: :development
77
119
  prerelease: false
78
120
  version_requirements: !ruby/object:Gem::Requirement
79
121
  requirements:
80
- - - ">="
122
+ - - "<"
81
123
  - !ruby/object:Gem::Version
82
- version: '0'
124
+ version: 0.18.0
83
125
  - !ruby/object:Gem::Dependency
84
- name: activesupport
126
+ name: aws-sdk-sqs
85
127
  requirement: !ruby/object:Gem::Requirement
86
128
  requirements:
87
129
  - - "~>"
88
130
  - !ruby/object:Gem::Version
89
- version: '4'
90
- type: :development
131
+ version: '1'
132
+ type: :runtime
91
133
  prerelease: false
92
134
  version_requirements: !ruby/object:Gem::Requirement
93
135
  requirements:
94
136
  - - "~>"
95
137
  - !ruby/object:Gem::Version
96
- version: '4'
138
+ version: '1'
97
139
  - !ruby/object:Gem::Dependency
98
- name: aws-sdk
140
+ name: aws-sdk-sns
99
141
  requirement: !ruby/object:Gem::Requirement
100
142
  requirements:
101
143
  - - "~>"
102
144
  - !ruby/object:Gem::Version
103
- version: '2.0'
145
+ version: '1'
104
146
  type: :runtime
105
147
  prerelease: false
106
148
  version_requirements: !ruby/object:Gem::Requirement
107
149
  requirements:
108
150
  - - "~>"
109
151
  - !ruby/object:Gem::Version
110
- version: '2.0'
152
+ version: '1'
111
153
  - !ruby/object:Gem::Dependency
112
- name: class_kit
154
+ name: bunny
113
155
  requirement: !ruby/object:Gem::Requirement
114
156
  requirements:
115
157
  - - ">="
@@ -123,7 +165,7 @@ dependencies:
123
165
  - !ruby/object:Gem::Version
124
166
  version: '0'
125
167
  - !ruby/object:Gem::Dependency
126
- name: redlock
168
+ name: class_kit
127
169
  requirement: !ruby/object:Gem::Requirement
128
170
  requirements:
129
171
  - - ">="
@@ -137,7 +179,7 @@ dependencies:
137
179
  - !ruby/object:Gem::Version
138
180
  version: '0'
139
181
  - !ruby/object:Gem::Dependency
140
- name: openssl
182
+ name: concurrent-ruby
141
183
  requirement: !ruby/object:Gem::Requirement
142
184
  requirements:
143
185
  - - ">="
@@ -151,7 +193,7 @@ dependencies:
151
193
  - !ruby/object:Gem::Version
152
194
  version: '0'
153
195
  - !ruby/object:Gem::Dependency
154
- name: concurrent-ruby
196
+ name: oj
155
197
  requirement: !ruby/object:Gem::Requirement
156
198
  requirements:
157
199
  - - ">="
@@ -165,7 +207,7 @@ dependencies:
165
207
  - !ruby/object:Gem::Version
166
208
  version: '0'
167
209
  - !ruby/object:Gem::Dependency
168
- name: oj
210
+ name: openssl
169
211
  requirement: !ruby/object:Gem::Requirement
170
212
  requirements:
171
213
  - - ">="
@@ -179,7 +221,7 @@ dependencies:
179
221
  - !ruby/object:Gem::Version
180
222
  version: '0'
181
223
  - !ruby/object:Gem::Dependency
182
- name: bunny
224
+ name: redlock
183
225
  requirement: !ruby/object:Gem::Requirement
184
226
  requirements:
185
227
  - - ">="
@@ -268,8 +310,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
268
310
  - !ruby/object:Gem::Version
269
311
  version: '0'
270
312
  requirements: []
271
- rubyforge_project:
272
- rubygems_version: 2.7.7
313
+ rubygems_version: 3.1.2
273
314
  signing_key:
274
315
  specification_version: 4
275
316
  summary: EventQ is a pub/sub system that uses async notifications and message queues