eventq 2.5.3 → 3.0.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 694ed72384dbe126f58a0813b002ba2ba597fd4cd0d2f477a3fd68d9f12396bc
4
- data.tar.gz: 00eb675d57cd63827d55d59f9af6083d830226dcac7e2db3d281099cf30c8a06
3
+ metadata.gz: ea953c5716907922d39bdf208905ef63c23d210dd58efb9a9f5744f328608ae3
4
+ data.tar.gz: ab03fa33de860acc77710fd49b2ee1f42ce782bc9299e8d1e01602e554a1c7b0
5
5
  SHA512:
6
- metadata.gz: 7e5368f9ac76beb781594a4d058bf4f71dfcf8b406d94af08aa3aee5edf67ff607edcd3eec54dceaa4c5d1f4ecff995500076353c2b4d4be6afaf6c03fb7c92e
7
- data.tar.gz: ea183d9565147acaa569cec2c7e8f8ceeb43dc6a152085f28ea31d7e737ee7b2b335340388ace7d84221909934bb66da08cf4cab5286511a3c2ac18e9bcac0c9
6
+ metadata.gz: 5e8136b710134b4f924d1414b0620cd77425e980ca5ec07bf3485b02bcc766b82dfe04c2c2604b883ac9cfe77f58822ac14e6d7fdb1b5cc37553cd2f8d940a59
7
+ data.tar.gz: 796dd866e6190d45c091fe540fa39760569f92aa968b4a72716a64c130b2836b00cb684c8959fa07e55c5d04c28da21f1d6a395acccb5c77becdf9c86abfeee5
@@ -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)
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.0.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: 2020-06-11 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
@@ -25,35 +39,49 @@ dependencies:
25
39
  - !ruby/object:Gem::Version
26
40
  version: '1.11'
27
41
  - !ruby/object:Gem::Dependency
28
- name: rake
42
+ name: byebug
29
43
  requirement: !ruby/object:Gem::Requirement
30
44
  requirements:
31
45
  - - "~>"
32
46
  - !ruby/object:Gem::Version
33
- version: '10.0'
47
+ version: '11.0'
34
48
  type: :development
35
49
  prerelease: false
36
50
  version_requirements: !ruby/object:Gem::Requirement
37
51
  requirements:
38
52
  - - "~>"
39
53
  - !ruby/object:Gem::Version
40
- version: '10.0'
54
+ version: '11.0'
41
55
  - !ruby/object:Gem::Dependency
42
- name: rspec
56
+ name: pry-byebug
43
57
  requirement: !ruby/object:Gem::Requirement
44
58
  requirements:
45
- - - ">="
59
+ - - "~>"
46
60
  - !ruby/object:Gem::Version
47
- version: '0'
61
+ version: '3.9'
48
62
  type: :development
49
63
  prerelease: false
50
64
  version_requirements: !ruby/object:Gem::Requirement
51
65
  requirements:
52
- - - ">="
66
+ - - "~>"
53
67
  - !ruby/object:Gem::Version
54
- version: '0'
68
+ version: '3.9'
55
69
  - !ruby/object:Gem::Dependency
56
- name: simplecov
70
+ name: rake
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '10.0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '10.0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: rspec
57
85
  requirement: !ruby/object:Gem::Requirement
58
86
  requirements:
59
87
  - - ">="
@@ -81,19 +109,19 @@ dependencies:
81
109
  - !ruby/object:Gem::Version
82
110
  version: '0'
83
111
  - !ruby/object:Gem::Dependency
84
- name: activesupport
112
+ name: simplecov
85
113
  requirement: !ruby/object:Gem::Requirement
86
114
  requirements:
87
- - - "~>"
115
+ - - ">="
88
116
  - !ruby/object:Gem::Version
89
- version: '4'
117
+ version: '0'
90
118
  type: :development
91
119
  prerelease: false
92
120
  version_requirements: !ruby/object:Gem::Requirement
93
121
  requirements:
94
- - - "~>"
122
+ - - ">="
95
123
  - !ruby/object:Gem::Version
96
- version: '4'
124
+ version: '0'
97
125
  - !ruby/object:Gem::Dependency
98
126
  name: aws-sdk
99
127
  requirement: !ruby/object:Gem::Requirement
@@ -109,7 +137,7 @@ dependencies:
109
137
  - !ruby/object:Gem::Version
110
138
  version: '2.0'
111
139
  - !ruby/object:Gem::Dependency
112
- name: class_kit
140
+ name: bunny
113
141
  requirement: !ruby/object:Gem::Requirement
114
142
  requirements:
115
143
  - - ">="
@@ -123,7 +151,7 @@ dependencies:
123
151
  - !ruby/object:Gem::Version
124
152
  version: '0'
125
153
  - !ruby/object:Gem::Dependency
126
- name: redlock
154
+ name: class_kit
127
155
  requirement: !ruby/object:Gem::Requirement
128
156
  requirements:
129
157
  - - ">="
@@ -137,7 +165,7 @@ dependencies:
137
165
  - !ruby/object:Gem::Version
138
166
  version: '0'
139
167
  - !ruby/object:Gem::Dependency
140
- name: openssl
168
+ name: concurrent-ruby
141
169
  requirement: !ruby/object:Gem::Requirement
142
170
  requirements:
143
171
  - - ">="
@@ -151,7 +179,7 @@ dependencies:
151
179
  - !ruby/object:Gem::Version
152
180
  version: '0'
153
181
  - !ruby/object:Gem::Dependency
154
- name: concurrent-ruby
182
+ name: oj
155
183
  requirement: !ruby/object:Gem::Requirement
156
184
  requirements:
157
185
  - - ">="
@@ -165,7 +193,7 @@ dependencies:
165
193
  - !ruby/object:Gem::Version
166
194
  version: '0'
167
195
  - !ruby/object:Gem::Dependency
168
- name: oj
196
+ name: openssl
169
197
  requirement: !ruby/object:Gem::Requirement
170
198
  requirements:
171
199
  - - ">="
@@ -179,7 +207,7 @@ dependencies:
179
207
  - !ruby/object:Gem::Version
180
208
  version: '0'
181
209
  - !ruby/object:Gem::Dependency
182
- name: bunny
210
+ name: redlock
183
211
  requirement: !ruby/object:Gem::Requirement
184
212
  requirements:
185
213
  - - ">="