evt-event_source-postgres 0.10.0.2 → 0.11.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
  SHA1:
3
- metadata.gz: cbb3a9b61a7f4a379cd86bc1fca7462a767dce24
4
- data.tar.gz: d47872d6c1d73a06db41da3bc77cbf06ac652e16
3
+ metadata.gz: dbcadf53f0ecb6e171ed012464ebddfaa988e562
4
+ data.tar.gz: 4e391abbb545736fc976cac4538468b12e06b51c
5
5
  SHA512:
6
- metadata.gz: 96ab2094cec2f21a4b38967f76ca90c7b97cf11050b496d3aee119878d4d7b5550921126b6693e1cee9367580ed82709767f379a17cc1ea3a41e7403b51e39e5
7
- data.tar.gz: 579b568775c5a3ed2b9542d5c10f0208c07f3896996fb2b2aacb70e172434b6d9b531c17bbe0470a0c6bddcfe8167746300a003441f35deaf31f0caca2c490bf
6
+ metadata.gz: 7623a29a604f894bc7ab1f3a28a9fc69e29a9f05da75f0922b631c8289d9806afadbfdccf8c4fe9c18b3c2634838e14dba63dcea4be98ae32f74af1d007893f8
7
+ data.tar.gz: b70fbec6a296b774cc258ece064c715607b022c00f25a8a0744604e957294870c6fee3008e8422f30a899f46d0e670c76a966947586c4da4b90b469f8eb404cd
@@ -3,9 +3,44 @@ module EventSource
3
3
  class Write
4
4
  include EventSource::Write
5
5
 
6
+ dependency :put
7
+
6
8
  def configure(session: nil)
7
9
  Put.configure(self, session: session)
8
10
  end
11
+
12
+ def write(batch, stream_name, expected_version: nil)
13
+ logger.trace { "Writing batch (Stream Name: #{stream_name}, Number of Events: #{batch.length}, Expected Version: #{expected_version.inspect})" }
14
+
15
+ unless expected_version.nil?
16
+ expected_version = ExpectedVersion.canonize(expected_version)
17
+ end
18
+
19
+ last_position = nil
20
+ put.session.transaction do
21
+ batch.each do |event_data|
22
+ last_position = write_event(event_data, stream_name, expected_version: expected_version)
23
+
24
+ unless expected_version.nil?
25
+ expected_version += 1
26
+ end
27
+ end
28
+ end
29
+
30
+ logger.debug { "Wrote batch (Stream Name: #{stream_name}, Number of Events: #{batch.length}, Expected Version: #{expected_version.inspect})" }
31
+
32
+ last_position
33
+ end
34
+
35
+ def write_event(event_data, stream_name, expected_version: nil)
36
+ logger.trace { "Writing event data (Stream Name: #{stream_name}, Type: #{event_data.type}, Expected Version: #{expected_version.inspect})" }
37
+ logger.trace(tags: [:data, :event_data]) { event_data.pretty_inspect }
38
+
39
+ put.(event_data, stream_name, expected_version: expected_version).tap do
40
+ logger.debug { "Wrote event data (Stream Name: #{stream_name}, Type: #{event_data.type}, Expected Version: #{expected_version.inspect})" }
41
+ logger.debug(tags: [:data, :event_data]) { event_data.pretty_inspect }
42
+ end
43
+ end
9
44
  end
10
45
  end
11
46
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: evt-event_source-postgres
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.10.0.2
4
+ version: 0.11.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - The Eventide Project
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-12-21 00:00:00.000000000 Z
11
+ date: 2017-01-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: evt-event_source