eventq 2.5.3 → 3.0.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: 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
  - - ">="