event_store_client 1.1.6 → 1.2.2

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: a39c7584996d6a235613a9b856b241faf1492afb4eb116b261d0cc861cf10084
4
- data.tar.gz: 26552377ed9e80019f7c3fd54992074beada6b20be6e399cad78f9a900c7d021
3
+ metadata.gz: 23572ade9e7d340341d26d103fc2a330ecfa7df71f9a98a8369061b64b206133
4
+ data.tar.gz: e8104a10545a460adf71d445d4f203ef347da27793c23f785b03e54908369304
5
5
  SHA512:
6
- metadata.gz: 937fc10a837a02049b407a2de39e98e805e7513e75aaf40fadb00c865e3dcd054e74e64abdd1574f77a8c0c9a6f6edfc7e8caead7c10444c8b010e16364e221c
7
- data.tar.gz: 5e74d87c07895abe594c2c434079b35db3fddeb7968525c128480bcca1dd7f7d8112d4fb9869b425dd907e1888f3d23af7dfd2675fd1d71d454a9ca23355253d
6
+ metadata.gz: dc01f4661a550f1a6b3bd56b86eff3601a4693e50ceec51dc4f0e5fda63bc4b14bcf27f2da8933d7e5263dbc2ccc490f23e0b3d128b12ae0527c5fd6e51b74b8
7
+ data.tar.gz: a6968eae108d9964d3ccecc3d82acd28076c03bb78a0a8ab1b2856a858dac9bbacd87607a1271d08424c7755c8e7cc759ef4eefe1c008616afaa326ddeed4749
@@ -84,10 +84,12 @@ module EventStoreClient
84
84
  #
85
85
  def listen(subscription, options: {})
86
86
  consume_feed(subscription, options: options) do |event|
87
- yield event if block_given?
87
+ begin
88
+ yield event if block_given?
89
+ rescue StandardError => e
90
+ config.error_handler&.call(e)
91
+ end
88
92
  end
89
- rescue StandardError => e
90
- config.error_handler&.call(e)
91
93
  end
92
94
 
93
95
  # Subscribe to a stream
@@ -27,9 +27,9 @@ module EventStoreClient
27
27
  'content-type': event_metadata['content-type']
28
28
  }
29
29
  custom_metadata['encryption'] = event_metadata['encryption'] unless event_metadata['encryption'].nil?
30
+ custom_metadata['transaction'] = event_metadata['transaction'] unless event_metadata['transaction'].nil?
30
31
  event_metadata = event_metadata.select { |k| ['type', 'content-type', 'created_at'].include?(k) }
31
32
 
32
-
33
33
  payload = [
34
34
  request.new(
35
35
  options: {
@@ -52,7 +52,7 @@ module EventStoreClient
52
52
  ]
53
53
  service.append(payload, metadata: metadata)
54
54
  end
55
- Success()
55
+ Success(events)
56
56
  end
57
57
  end
58
58
  end
@@ -58,7 +58,7 @@ module EventStoreClient
58
58
  raise StreamNotFound if res.stream_not_found
59
59
  deserialize_event(res.event.event, skip_decryption: skip_decryption)
60
60
  end
61
- rescue GRPC::Unavailable
61
+ rescue ::GRPC::Unavailable
62
62
  sleep config.grpc_unavailable_retry_sleep
63
63
  retry if (retries += 1) <= config.grpc_unavailable_retry_count
64
64
  raise GRPCUnavailableRetryFailed
@@ -1,6 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'dry/monads'
4
+
4
5
  module EventStoreClient
5
6
  class InMemory
6
7
  Response = Struct.new(:body, :status) do
@@ -22,7 +23,7 @@ module EventStoreClient
22
23
  'positionEventNumber' => event_store[stream_name].length
23
24
  )
24
25
  end
25
- Dry::Monads::Success()
26
+ Dry::Monads::Success(events)
26
27
  end
27
28
 
28
29
  def delete_stream(stream_name, options: {}) # rubocop:disable Lint/UnusedMethodArgument
@@ -5,6 +5,8 @@ module EventStoreClient
5
5
  FILTER_DEFAULT_MAX = 32
6
6
  FILTER_DEFAULT_CHECKPOINT_INTERVAL_MULTIPLIER = 10000
7
7
 
8
+ include Configuration
9
+
8
10
  def create_or_load(subscriber, filter: {})
9
11
  filter_options = prepare_filter_options(filter)
10
12
  position = subscription_store.load_all_position(CatchUpSubscription.name(subscriber))
@@ -41,10 +43,10 @@ module EventStoreClient
41
43
  logger&.info(msg)
42
44
  break
43
45
  end
44
- rescue StandardError
46
+ rescue StandardError => e
45
47
  subscription.position = old_position
46
48
  subscription_store.update_position(subscription)
47
- raise
49
+ config.error_handler&.call(e)
48
50
  end
49
51
  end
50
52
 
@@ -12,6 +12,7 @@ module EventStoreClient
12
12
  def publish(stream:, events:, options: {})
13
13
  res = connection.append_to_stream(stream, events, options: options)
14
14
  raise WrongExpectedEventVersion.new(e.message) if res.failure?
15
+ res
15
16
  end
16
17
 
17
18
  def read(stream, options: {})
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module EventStoreClient
4
- VERSION = '1.1.6'
4
+ VERSION = '1.2.2'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: event_store_client
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.6
4
+ version: 1.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sebastian Wilgosz
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-07-06 00:00:00.000000000 Z
11
+ date: 2021-07-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: dry-configurable
@@ -262,7 +262,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
262
262
  - !ruby/object:Gem::Version
263
263
  version: '0'
264
264
  requirements: []
265
- rubygems_version: 3.1.0.pre1
265
+ rubygems_version: 3.1.4
266
266
  signing_key:
267
267
  specification_version: 4
268
268
  summary: Ruby integration for https://eventstore.org