event_store_subscriptions 1.2.0 → 2.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: eb6604d1aed49ac51cee4184b59ad9bce127cf7650583ef8abc2c903d042efa4
4
- data.tar.gz: 786c90b9c5d3009c4a10bd5ca6abbe22a2320b3ebdb63128172d5f85765e0551
3
+ metadata.gz: 75032960fc3a03266a49977c0ed95b97d1839a3692d2c74523d8c15317696469
4
+ data.tar.gz: e06b3307204c5ac332745e4703377b1ab262a6cd209c8eff63695fcfdc543988
5
5
  SHA512:
6
- metadata.gz: 2241cf7821dd76e1ac6de328ca2e5447f8eaaa0a66dfa04903e34d49d40a689c96c5311da6802c3042574a203207c2f60733054da7eba034edf97b0f45506d6e
7
- data.tar.gz: c0d0d6d5fc46daa5c3518a3d163b6027d6b97318871337ff5cb2c49dd41ceaa02173e999537e102c0d2315d4609d870f71790387cc1de350d8d3aed3b69a132b
6
+ metadata.gz: b7531c9388bbe3da6d669775698e0c9885ca588827eeaea6089f947ce2654c309ce552eec3587466b7608a75e0b7f3b224bdfe56fc565ae95cdfd99f06afcf07
7
+ data.tar.gz: c18cc6d826c77acb5e2c37de289d264a1bd9cc879d86d7f85870771ebb8887edfde0d19915e5641518c5625bf5d1abc30ba110ff6f285c395b3d2c20427195b9
data/README.md CHANGED
@@ -35,12 +35,8 @@ Use the `#create` method in order to subscribe to specific stream:
35
35
 
36
36
  ```ruby
37
37
  subscriptions = EventStoreSubscriptions::Subscriptions.new(EventStoreClient.client)
38
- handler = proc do |resp|
39
- if resp.success?
40
- do_something_with_resp(resp.success) # retrieve an event
41
- else # resp.failure? => true
42
- handle_failure(resp.failure)
43
- end
38
+ handler = proc do |event|
39
+ # process event
44
40
  end
45
41
  subscriptions.create('some-stream', handler: handler)
46
42
  subscriptions.listen_all
@@ -50,12 +46,8 @@ You may provide any object which responds to `#call` as a handler:
50
46
 
51
47
  ```ruby
52
48
  class SomeStreamHandler
53
- def call(resp)
54
- if resp.success?
55
- do_something_with_resp(resp.success) # retrieve an event
56
- else # resp.failure? => true
57
- handle_failure(resp.failure)
58
- end
49
+ def call(event)
50
+ # process event
59
51
  end
60
52
  end
61
53
  subscriptions = EventStoreSubscriptions::Subscriptions.new(EventStoreClient.client)
@@ -69,12 +61,8 @@ Use the `#create_for_all` method to subscribe to the all stream:
69
61
 
70
62
  ```ruby
71
63
  subscriptions = EventStoreSubscriptions::Subscriptions.new(EventStoreClient.client)
72
- handler = proc do |resp|
73
- if resp.success?
74
- do_something_with_resp(resp.success) # retrieve an event
75
- else # resp.failure? => true
76
- handle_failure(resp.failure)
77
- end
64
+ handler = proc do |event|
65
+ # process event
78
66
  end
79
67
  subscriptions.create_for_all(handler: handler)
80
68
  subscriptions.listen_all
@@ -84,12 +72,8 @@ You may also explicitly pass `"$all"` stream name to the `#create` method:
84
72
 
85
73
  ```ruby
86
74
  subscriptions = EventStoreSubscriptions::Subscriptions.new(EventStoreClient.client)
87
- handler = proc do |resp|
88
- if resp.success?
89
- do_something_with_resp(resp.success) # retrieve an event
90
- else # resp.failure? => true
91
- handle_failure(resp.failure)
92
- end
75
+ handler = proc do |event|
76
+ # process event
93
77
  end
94
78
  subscriptions.create('$all', handler: handler)
95
79
  subscriptions.listen_all
@@ -105,7 +89,7 @@ A handler registered to receive position updates of a specific stream is called
105
89
 
106
90
  ```ruby
107
91
  subscriptions = EventStoreSubscriptions::Subscriptions.new(EventStoreClient.client)
108
- subscription = subscriptions.create('some-stream', handler: proc { |r| p r })
92
+ subscription = subscriptions.create('some-stream', handler: proc { |event| p event })
109
93
  subscription.position.register_update_hook do |position|
110
94
  puts "Current revision is #{position.revision}"
111
95
  end
@@ -118,7 +102,7 @@ A handler registered to receive position updates of the `$all` stream is called
118
102
 
119
103
  ```ruby
120
104
  subscriptions = EventStoreSubscriptions::Subscriptions.new(EventStoreClient.client)
121
- subscription = subscriptions.create_for_all(handler: proc { |r| p r })
105
+ subscription = subscriptions.create_for_all(handler: proc { |event| p event })
122
106
  subscription.position.register_update_hook do |position|
123
107
  puts "Current commit/prepare positions are #{position.commit_position}/#{position.prepare_position}"
124
108
  end
@@ -133,7 +117,7 @@ Start watching over your subscriptions' collection:
133
117
 
134
118
  ```ruby
135
119
  subscriptions = EventStoreSubscriptions::Subscriptions.new(EventStoreClient.client)
136
- subscriptions.create_for_all(handler: proc { |r| p r })
120
+ subscriptions.create_for_all(handler: proc { |event| p event })
137
121
  EventStoreSubscriptions::WatchDog.watch(subscriptions)
138
122
  subscriptions.listen_all
139
123
  ```
@@ -154,7 +138,7 @@ For single subscription:
154
138
 
155
139
  ```ruby
156
140
  subscriptions = EventStoreSubscriptions::Subscriptions.new(EventStoreClient.client)
157
- subscription = subscriptions.create_for_all(handler: proc { |r| p r })
141
+ subscription = subscriptions.create_for_all(handler: proc { |event| p event })
158
142
  subscription.listen
159
143
 
160
144
  # Initiate Subscription shutdown
@@ -167,7 +151,7 @@ For the entire collection:
167
151
 
168
152
  ```ruby
169
153
  subscriptions = EventStoreSubscriptions::Subscriptions.new(EventStoreClient.client)
170
- subscriptions.create_for_all(handler: proc { |r| p r })
154
+ subscriptions.create_for_all(handler: proc { |event| p event })
171
155
  subscriptions.listen_all
172
156
 
173
157
  # Initiate shutdown for each Subscription in the collection
@@ -194,7 +178,7 @@ You may want to gracefully shut down the process that handles the subscriptions.
194
178
 
195
179
  ```ruby
196
180
  subscriptions = EventStoreSubscriptions::Subscriptions.new(EventStoreClient.client)
197
- subscriptions.create_for_all(handler: proc { |r| p r })
181
+ subscriptions.create_for_all(handler: proc { |event| p event })
198
182
  watcher = EventStoreSubscriptions::WatchDog.watch(subscriptions)
199
183
  subscriptions.listen_all
200
184
 
@@ -225,7 +209,7 @@ After you started listening your Subscriptions, you may want to monitor status o
225
209
 
226
210
  ```ruby
227
211
  subscriptions = EventStoreSubscriptions::Subscriptions.new(EventStoreClient.client)
228
- subscriptions.create_for_all(handler: proc { |r| p r })
212
+ subscriptions.create_for_all(handler: proc { |event| p event })
229
213
  watcher = EventStoreSubscriptions::WatchDog.watch(subscriptions)
230
214
  subscriptions.listen_all
231
215
 
@@ -249,7 +233,7 @@ You may want to decide yourself whether `WhatchDog` should restart a `Subscripti
249
233
 
250
234
  ```ruby
251
235
  subscriptions = EventStoreSubscriptions::Subscriptions.new(EventStoreClient.client)
252
- subscriptions.create_for_all(handler: proc { |r| p r })
236
+ subscriptions.create_for_all(handler: proc { |event| p event })
253
237
  # Do not restart Subscription if its id is even
254
238
  restart_terminator = proc { |sub| sub.__id__ % 2 == 0 }
255
239
  EventStoreSubscriptions::WatchDog.watch(subscriptions, restart_terminator: restart_terminator)
@@ -92,19 +92,18 @@ module EventStoreSubscriptions
92
92
  # @param original_handler [#call]
93
93
  # @return [Proc]
94
94
  def handler(original_handler)
95
- proc do |result|
95
+ proc do |raw_resp|
96
96
  Thread.current.exit unless state.running?
97
- original_result = result.success
98
- result =
97
+ event_or_raw_resp =
99
98
  EventStoreClient::GRPC::Shared::Streams::ProcessResponse.new(config: client.config).call(
100
- original_result,
99
+ raw_resp,
101
100
  *process_response_args
102
101
  )
103
- if result
104
- original_handler.call(result)
102
+ if event_or_raw_resp
103
+ original_handler.call(event_or_raw_resp)
105
104
  statistic.events_processed += 1
106
105
  end
107
- position.update(original_result)
106
+ position.update(raw_resp)
108
107
  end
109
108
  end
110
109
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module EventStoreSubscriptions
4
- VERSION = "1.2.0"
4
+ VERSION = "2.0.0"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: event_store_subscriptions
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.0
4
+ version: 2.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ivan Dzyzenko
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-12-23 00:00:00.000000000 Z
11
+ date: 2023-01-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: event_store_client
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 2.3.0
19
+ version: 3.0.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 2.3.0
26
+ version: 3.0.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: pry
29
29
  requirement: !ruby/object:Gem::Requirement