evt-event_source 0.17.0.0 → 0.17.1.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
  SHA1:
3
- metadata.gz: c08447792701722387f1768ac2cc374e56ecfd3e
4
- data.tar.gz: 718a7d868474f61c4c2cbc79f8dcee9117e77e17
3
+ metadata.gz: 5df39c8ff2f0b9ee81835b84473098022b86ed82
4
+ data.tar.gz: c07708701458d89cce9d34dbe0d551d5bc4d84b4
5
5
  SHA512:
6
- metadata.gz: a5216b6b05ee89534a990f57d899ffe690639d2d76f4db316faaf304ed2e6a7b2b04d37411a535fa9a4cddab64a401469f42f18bde43f90444697498bb1ab030
7
- data.tar.gz: ef10c71c88b47db8f3edc31ff0615de9da68ef0b44805b9a9b8f88b649d6993527ae5f761a968731ba561bd5a93da9d6a541028738eb0e258b3f32ed12741b07
6
+ metadata.gz: 970b1dd6aaa0c8391c9243d00501753ce86311eb16bd908fdcd41c7679faaa3e89dbdf4b995213394bff82ec376cb06fb612e82c9f25166ea675240648a4ef42
7
+ data.tar.gz: eb97ab007ab97903dadebe42f3567dea9496b3d21a6af4d3a8421f5313afc712e6cfce83d24847d286336f68d6d13ddee0bbf70bd4680c9e148bfe422bf01b45
@@ -2,7 +2,13 @@ module EventSource
2
2
  module Controls
3
3
  module EventData
4
4
  module Read
5
- def self.example(type: nil, data: nil, metadata: nil)
5
+ def self.example(id: nil, type: nil, data: nil, metadata: nil)
6
+ if id == :none
7
+ id = nil
8
+ else
9
+ id ||= self.id
10
+ end
11
+
6
12
  type ||= self.type
7
13
 
8
14
  if data == :none
@@ -19,6 +25,7 @@ module EventSource
19
25
 
20
26
  event_data = EventSource::EventData::Read.build
21
27
 
28
+ event_data.id = id
22
29
  event_data.type = type
23
30
  event_data.data = data
24
31
  event_data.metadata = metadata
@@ -30,6 +37,10 @@ module EventSource
30
37
  event_data
31
38
  end
32
39
 
40
+ def self.id
41
+ EventData.id
42
+ end
43
+
33
44
  def self.type
34
45
  EventData.type
35
46
  end
@@ -2,7 +2,13 @@ module EventSource
2
2
  module Controls
3
3
  module EventData
4
4
  module Write
5
- def self.example(type: nil, data: nil, metadata: nil)
5
+ def self.example(id: nil, type: nil, data: nil, metadata: nil)
6
+ if id == :none
7
+ id = nil
8
+ else
9
+ id ||= self.id
10
+ end
11
+
6
12
  type ||= self.type
7
13
 
8
14
  if data == :none
@@ -19,6 +25,7 @@ module EventSource
19
25
 
20
26
  event_data = EventSource::EventData::Write.build
21
27
 
28
+ event_data.id = id
22
29
  event_data.type = type
23
30
  event_data.data = data
24
31
  event_data.metadata = metadata
@@ -26,6 +33,10 @@ module EventSource
26
33
  event_data
27
34
  end
28
35
 
36
+ def self.id
37
+ EventData.id
38
+ end
39
+
29
40
  def self.type
30
41
  EventData.type
31
42
  end
@@ -1,6 +1,10 @@
1
1
  module EventSource
2
2
  module Controls
3
3
  module EventData
4
+ def self.id
5
+ ID::Random.example
6
+ end
7
+
4
8
  def self.type
5
9
  'SomeType'
6
10
  end
@@ -0,0 +1,11 @@
1
+ module EventSource
2
+ module Controls
3
+ module ID
4
+ def self.example(i=nil, increment: nil, sample: nil)
5
+ Identifier::UUID::Controls::Incrementing.example(i=nil, increment: nil, sample: nil)
6
+ end
7
+
8
+ Random = Identifier::UUID::Controls::Random
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,23 @@
1
+ module EventSource
2
+ module Controls
3
+ module Write
4
+ def self.example
5
+ Example.build
6
+ end
7
+
8
+ class Example
9
+ include EventSource::Write
10
+
11
+ def configure(*)
12
+ end
13
+
14
+ def write(batch, stream_name, expected_version: nil)
15
+ logger.trace { "Writing batch (Stream Name: #{stream_name}, Number of Events: #{batch.length}, Expected Version: #{expected_version.inspect})" }
16
+ logger.debug { "Wrote batch (Stream Name: #{stream_name}, Number of Events: #{batch.length}, Expected Version: #{expected_version.inspect})" }
17
+
18
+ nil
19
+ end
20
+ end
21
+ end
22
+ end
23
+ end
@@ -1,7 +1,10 @@
1
1
  require 'securerandom'
2
2
 
3
+ require 'identifier/uuid/controls'
4
+
3
5
  require 'event_source/controls/random_value'
4
6
  require 'event_source/controls/time'
7
+ require 'event_source/controls/id'
5
8
  require 'event_source/controls/category'
6
9
  require 'event_source/controls/stream_name'
7
10
  require 'event_source/controls/stream'
@@ -11,3 +14,4 @@ require 'event_source/controls/event_data/hash'
11
14
  require 'event_source/controls/event_data/metadata'
12
15
  require 'event_source/controls/event_data/write'
13
16
  require 'event_source/controls/event_data/read'
17
+ require 'event_source/controls/write'
@@ -4,7 +4,8 @@ module EventSource
4
4
  cls.class_exec do
5
5
  include Schema::DataStructure
6
6
 
7
- attribute :type
7
+ attribute :id, String
8
+ attribute :type, String
8
9
  attribute :data
9
10
  attribute :metadata
10
11
 
@@ -8,13 +8,17 @@ module EventSource
8
8
  cls.extend Call
9
9
  cls.extend Configure
10
10
 
11
+ dependency :identifier, Identifier::UUID::Random
12
+
11
13
  abstract :configure
14
+ abstract :write
12
15
  end
13
16
  end
14
17
 
15
18
  module Build
16
19
  def build(session: nil)
17
20
  instance = new
21
+ Identifier::UUID::Random.configure(instance)
18
22
  instance.configure(session: session)
19
23
  instance
20
24
  end
@@ -41,6 +45,8 @@ module EventSource
41
45
 
42
46
  batch = Array(event_data)
43
47
 
48
+ set_ids(batch)
49
+
44
50
  position = write(batch, stream_name, expected_version: expected_version)
45
51
 
46
52
  logger.info { "Wrote event data (Stream Name: #{stream_name}, Expected Version: #{expected_version.inspect})" }
@@ -48,5 +54,13 @@ module EventSource
48
54
 
49
55
  position
50
56
  end
57
+
58
+ def set_ids(batch)
59
+ batch.each do |event_data|
60
+ if event_data.id.nil?
61
+ event_data.id = identifier.get
62
+ end
63
+ end
64
+ end
51
65
  end
52
66
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: evt-event_source
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.17.0.0
4
+ version: 0.17.1.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: 2017-01-10 00:00:00.000000000 Z
11
+ date: 2017-01-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: evt-casing
@@ -150,11 +150,13 @@ files:
150
150
  - lib/event_source/controls/event_data/metadata.rb
151
151
  - lib/event_source/controls/event_data/read.rb
152
152
  - lib/event_source/controls/event_data/write.rb
153
+ - lib/event_source/controls/id.rb
153
154
  - lib/event_source/controls/random_value.rb
154
155
  - lib/event_source/controls/read.rb
155
156
  - lib/event_source/controls/stream.rb
156
157
  - lib/event_source/controls/stream_name.rb
157
158
  - lib/event_source/controls/time.rb
159
+ - lib/event_source/controls/write.rb
158
160
  - lib/event_source/event_data.rb
159
161
  - lib/event_source/event_data/hash.rb
160
162
  - lib/event_source/event_data/read.rb