ruby_event_store 1.2.2 → 2.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 +4 -4
- data/README.md +3 -1
- data/lib/ruby_event_store.rb +3 -7
- data/lib/ruby_event_store/broker.rb +3 -3
- data/lib/ruby_event_store/client.rb +47 -23
- data/lib/ruby_event_store/composed_dispatcher.rb +2 -2
- data/lib/ruby_event_store/constants.rb +1 -0
- data/lib/ruby_event_store/errors.rb +0 -1
- data/lib/ruby_event_store/event.rb +8 -1
- data/lib/ruby_event_store/immediate_async_dispatcher.rb +2 -2
- data/lib/ruby_event_store/in_memory_repository.rb +98 -59
- data/lib/ruby_event_store/instrumented_dispatcher.rb +2 -2
- data/lib/ruby_event_store/instrumented_repository.rb +3 -3
- data/lib/ruby_event_store/mappers/default.rb +3 -8
- data/lib/ruby_event_store/mappers/encryption_mapper.rb +3 -4
- data/lib/ruby_event_store/mappers/instrumented_mapper.rb +4 -4
- data/lib/ruby_event_store/mappers/json_mapper.rb +7 -7
- data/lib/ruby_event_store/mappers/pipeline.rb +2 -5
- data/lib/ruby_event_store/mappers/pipeline_mapper.rb +2 -2
- data/lib/ruby_event_store/mappers/transformation/domain_event.rb +16 -8
- data/lib/ruby_event_store/mappers/transformation/encryption.rb +20 -12
- data/lib/ruby_event_store/mappers/transformation/event_class_remapper.rb +11 -4
- data/lib/ruby_event_store/mappers/transformation/stringify_metadata_keys.rb +12 -7
- data/lib/ruby_event_store/mappers/transformation/symbolize_metadata_keys.rb +12 -7
- data/lib/ruby_event_store/mappers/transformation/upcast.rb +37 -0
- data/lib/ruby_event_store/null.rb +13 -0
- data/lib/ruby_event_store/projection.rb +2 -1
- data/lib/ruby_event_store/record.rb +68 -0
- data/lib/ruby_event_store/serialized_record.rb +23 -4
- data/lib/ruby_event_store/spec/broker_lint.rb +9 -9
- data/lib/ruby_event_store/spec/event_repository_lint.rb +267 -105
- data/lib/ruby_event_store/spec/mapper_lint.rb +6 -6
- data/lib/ruby_event_store/spec/subscriptions_lint.rb +25 -0
- data/lib/ruby_event_store/specification.rb +100 -7
- data/lib/ruby_event_store/specification_reader.rb +2 -2
- data/lib/ruby_event_store/specification_result.rb +86 -2
- data/lib/ruby_event_store/subscriptions.rb +23 -9
- data/lib/ruby_event_store/transform_keys.rb +5 -5
- data/lib/ruby_event_store/version.rb +1 -1
- metadata +15 -21
- data/CHANGELOG.md +0 -93
- data/Gemfile +0 -11
- data/Makefile +0 -22
- data/lib/ruby_event_store/mappers/protobuf.rb +0 -24
- data/lib/ruby_event_store/mappers/transformation/item.rb +0 -56
- data/lib/ruby_event_store/mappers/transformation/proto_event.rb +0 -17
- data/lib/ruby_event_store/mappers/transformation/protobuf_encoder.rb +0 -30
- data/lib/ruby_event_store/mappers/transformation/protobuf_nested_struct_metadata.rb +0 -30
- data/lib/ruby_event_store/mappers/transformation/serialization.rb +0 -34
- data/lib/ruby_event_store/mappers/transformation/serialized_record.rb +0 -27
- data/ruby_event_store.gemspec +0 -29
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ruby_event_store
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 2.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Arkency
|
8
8
|
autorequire:
|
9
|
-
bindir:
|
9
|
+
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-01-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: concurrent-ruby
|
@@ -30,16 +30,15 @@ dependencies:
|
|
30
30
|
- - ">="
|
31
31
|
- !ruby/object:Gem::Version
|
32
32
|
version: 1.1.6
|
33
|
-
description:
|
34
|
-
|
35
|
-
|
33
|
+
description: |
|
34
|
+
Ruby implementation of an event store. Ships with in-memory event repository, generic instrumentation
|
35
|
+
and dispatches events synchronously.
|
36
|
+
email: dev@arkency.com
|
36
37
|
executables: []
|
37
38
|
extensions: []
|
38
|
-
extra_rdoc_files:
|
39
|
+
extra_rdoc_files:
|
40
|
+
- README.md
|
39
41
|
files:
|
40
|
-
- CHANGELOG.md
|
41
|
-
- Gemfile
|
42
|
-
- Makefile
|
43
42
|
- README.md
|
44
43
|
- lib/ruby_event_store.rb
|
45
44
|
- lib/ruby_event_store/batch_enumerator.rb
|
@@ -67,20 +66,16 @@ files:
|
|
67
66
|
- lib/ruby_event_store/mappers/null_mapper.rb
|
68
67
|
- lib/ruby_event_store/mappers/pipeline.rb
|
69
68
|
- lib/ruby_event_store/mappers/pipeline_mapper.rb
|
70
|
-
- lib/ruby_event_store/mappers/protobuf.rb
|
71
69
|
- lib/ruby_event_store/mappers/transformation/domain_event.rb
|
72
70
|
- lib/ruby_event_store/mappers/transformation/encryption.rb
|
73
71
|
- lib/ruby_event_store/mappers/transformation/event_class_remapper.rb
|
74
|
-
- lib/ruby_event_store/mappers/transformation/item.rb
|
75
|
-
- lib/ruby_event_store/mappers/transformation/proto_event.rb
|
76
|
-
- lib/ruby_event_store/mappers/transformation/protobuf_encoder.rb
|
77
|
-
- lib/ruby_event_store/mappers/transformation/protobuf_nested_struct_metadata.rb
|
78
|
-
- lib/ruby_event_store/mappers/transformation/serialization.rb
|
79
|
-
- lib/ruby_event_store/mappers/transformation/serialized_record.rb
|
80
72
|
- lib/ruby_event_store/mappers/transformation/stringify_metadata_keys.rb
|
81
73
|
- lib/ruby_event_store/mappers/transformation/symbolize_metadata_keys.rb
|
74
|
+
- lib/ruby_event_store/mappers/transformation/upcast.rb
|
82
75
|
- lib/ruby_event_store/metadata.rb
|
76
|
+
- lib/ruby_event_store/null.rb
|
83
77
|
- lib/ruby_event_store/projection.rb
|
78
|
+
- lib/ruby_event_store/record.rb
|
84
79
|
- lib/ruby_event_store/serialized_record.rb
|
85
80
|
- lib/ruby_event_store/spec/broker_lint.rb
|
86
81
|
- lib/ruby_event_store/spec/dispatcher_lint.rb
|
@@ -96,12 +91,11 @@ files:
|
|
96
91
|
- lib/ruby_event_store/subscriptions.rb
|
97
92
|
- lib/ruby_event_store/transform_keys.rb
|
98
93
|
- lib/ruby_event_store/version.rb
|
99
|
-
- ruby_event_store.gemspec
|
100
94
|
homepage: https://railseventstore.org
|
101
95
|
licenses:
|
102
96
|
- MIT
|
103
97
|
metadata:
|
104
|
-
homepage_uri: https://railseventstore.org
|
98
|
+
homepage_uri: https://railseventstore.org
|
105
99
|
changelog_uri: https://github.com/RailsEventStore/rails_event_store/releases
|
106
100
|
source_code_uri: https://github.com/RailsEventStore/rails_event_store
|
107
101
|
bug_tracker_uri: https://github.com/RailsEventStore/rails_event_store/issues
|
@@ -113,7 +107,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
113
107
|
requirements:
|
114
108
|
- - ">="
|
115
109
|
- !ruby/object:Gem::Version
|
116
|
-
version: '
|
110
|
+
version: '2.5'
|
117
111
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
118
112
|
requirements:
|
119
113
|
- - ">="
|
@@ -123,5 +117,5 @@ requirements: []
|
|
123
117
|
rubygems_version: 3.1.4
|
124
118
|
signing_key:
|
125
119
|
specification_version: 4
|
126
|
-
summary:
|
120
|
+
summary: Implementation of an event store in Ruby
|
127
121
|
test_files: []
|
data/CHANGELOG.md
DELETED
@@ -1,93 +0,0 @@
|
|
1
|
-
Further changes can be tracked at [releases page](https://github.com/RailsEventStore/rails_event_store/releases).
|
2
|
-
|
3
|
-
### 0.14.0 (21.08.2017)
|
4
|
-
|
5
|
-
* Change: Add lint for 3rd party implementations of dispatcher
|
6
|
-
* Change: Deprecated MethodNotDefined error, use InvalidHandler instead
|
7
|
-
|
8
|
-
### 0.13.0 (15.10.2016)
|
9
|
-
|
10
|
-
* Change: Dropped ClosedStruct event (meta)data wrapping PR #34
|
11
|
-
Fix for Issue with ClosedStruct and object_id #33
|
12
|
-
* Change: Refactor RubyEventStore::Client to have the same methods signatures as RailsEventStore::Client (PR #35),
|
13
|
-
this will allow to remove most of the code form RailsEventStore::Client without breaking current
|
14
|
-
applications that use RailsEventStore::Client. This change is however a breaking one for RubyEventStore.
|
15
|
-
|
16
|
-
### 0.12.1 (11.08.2016)
|
17
|
-
|
18
|
-
* Fix: improve EventRepository specification tests (mutation tests)
|
19
|
-
|
20
|
-
### 0.12.0 (10.08.2016)
|
21
|
-
|
22
|
-
* Change: all public methods arguments with default values are now keyword arguments
|
23
|
-
|
24
|
-
### 0.11.0 (12.07.2016)
|
25
|
-
|
26
|
-
* Change: Call instead of handle_event, handle_event marked as deprecated in PR #18 is now removed PR #25
|
27
|
-
* Change: Rename RubyEventStore::Facade to RubyEventStore::Client PR #26
|
28
|
-
|
29
|
-
### 0.10.1 (12.07.2016)
|
30
|
-
|
31
|
-
* Added few new tests for repositories
|
32
|
-
|
33
|
-
### 0.10.0 (12.07.2016)
|
34
|
-
|
35
|
-
* Fix: When using `append_to_stream`, expected version is no longer compared using `equal?` commit bdbe4600073d278cbf1024e8d49801fec768f6a7
|
36
|
-
* Change: Creating events with data is now done using `data` keyword argument. Previously events were created using the syntax `OrderCreated.new(order_id: 123)`, now it has to be `OrderCreated.new(data: { order_id: 123 })`. PR #24
|
37
|
-
* Change: Access to `data` attributes in an event is now using `event.data.some_attribute` syntax. `event.data[:some_attribute]` won't work either. PR #24
|
38
|
-
* Change: Only events with the same name, event_id and data are equal - metadata is no longer taken into account PR #24
|
39
|
-
* Change: `metadata[:timestamp]` is now set when event is appended to the stream, not when it is initialized PR #24
|
40
|
-
* Change: Initialization of `RubyEventStore::Facade` is now using keyword arguments PR #24
|
41
|
-
* Add support to `metadata_proc` PR #24
|
42
|
-
* `ClosedStruct` is now a dependency PR #24
|
43
|
-
|
44
|
-
### 0.9.0 (24.06.2016)
|
45
|
-
|
46
|
-
* Change: Call instead of handle_event, handle_event stays for now but is deprecated PR #18
|
47
|
-
* Fix: Clarify Licensing terms #23 - MIT licence it is from now
|
48
|
-
|
49
|
-
### 0.8.0 (21.06.2016)
|
50
|
-
|
51
|
-
* Change: Possibility to create projection based on all events PR #19
|
52
|
-
|
53
|
-
### 0.7.0 (21.06.2016)
|
54
|
-
|
55
|
-
* Change: support for Dynamic subscriptions PR #20
|
56
|
-
* Change: Add lint for 3rd party implementations of event broker PR #21
|
57
|
-
|
58
|
-
### 0.6.0 (25.05.2016)
|
59
|
-
|
60
|
-
* Ability to provide a custom dispatcher to PubSub::Broker PR #12
|
61
|
-
* Add support for projections PR #13
|
62
|
-
* Added prettier message for case of missing #handle_event method. PR #14
|
63
|
-
* Make file to run all the things PR #15
|
64
|
-
|
65
|
-
### 0.5.0 (21.03.2016)
|
66
|
-
|
67
|
-
* Change: Event class refactoring to make default values more explicit PR #11
|
68
|
-
* Change: No nils, use symbols instead - :any & :none replaced meaningless nil value
|
69
|
-
* Change: Let event broker to be given as a dependency
|
70
|
-
* Change: Remove Event#event_type - use class instead PR #10
|
71
|
-
|
72
|
-
### 0.4.0 (17.03.2016)
|
73
|
-
|
74
|
-
* Change: Use class names to subscribe events PR #8
|
75
|
-
|
76
|
-
### 0.3.1 (13.03.2016)
|
77
|
-
|
78
|
-
* Fix Don't overwrite timestamps when reading from repository
|
79
|
-
|
80
|
-
### 0.3.0 (03.03.2016)
|
81
|
-
|
82
|
-
* Change: read_all_streams won't group_by results by stream name PR #4
|
83
|
-
* Change: new way of define attributes of domain event PR #5
|
84
|
-
* Change: reading forward and backward, refactored facade interface #6
|
85
|
-
* Change: in memory event repository is now part of the gem, with shared specification PR #7
|
86
|
-
|
87
|
-
### 0.2.0 (27.01.2016)
|
88
|
-
|
89
|
-
* Change: Return the event that the repository returns PR #2
|
90
|
-
|
91
|
-
### 0.1.0 (26.05.2015)
|
92
|
-
|
93
|
-
Initial version
|
data/Gemfile
DELETED
@@ -1,11 +0,0 @@
|
|
1
|
-
source 'https://rubygems.org'
|
2
|
-
git_source(:github) { |repo| "https://github.com/#{repo}.git" }
|
3
|
-
|
4
|
-
gemspec
|
5
|
-
|
6
|
-
eval_gemfile File.expand_path('../support/bundler/Gemfile.shared', __dir__)
|
7
|
-
|
8
|
-
gem 'protobuf_nested_struct'
|
9
|
-
gem 'google-protobuf', '~> 3.12.2', '>= 3.12.2'
|
10
|
-
gem 'activesupport', '~> 5.0'
|
11
|
-
gem 'concurrent-ruby', github: 'ruby-concurrency/concurrent-ruby', ref: 'c4cbc968c55e5b983dae953095761896220c46d1'
|
data/Makefile
DELETED
@@ -1,22 +0,0 @@
|
|
1
|
-
GEM_VERSION = $(shell cat ../RES_VERSION)
|
2
|
-
GEM_NAME = ruby_event_store
|
3
|
-
REQUIRE = $(GEM_NAME)
|
4
|
-
IGNORE = RubyEventStore::InMemoryRepository\#append_with_synchronize \
|
5
|
-
RubyEventStore::Client::Within\#add_thread_subscribers \
|
6
|
-
RubyEventStore::Client::Within\#add_thread_global_subscribers \
|
7
|
-
RubyEventStore::Client::Within\#call \
|
8
|
-
RubyEventStore::Client\#default_correlation_id_generator \
|
9
|
-
RubyEventStore::Mappers::InMemoryEncryptionKeyRepository\#prepare_encrypt \
|
10
|
-
RubyEventStore::Mappers::EncryptionKey\#prepare_encrypt \
|
11
|
-
RubyEventStore::Mappers::EncryptionKey\#prepare_decrypt \
|
12
|
-
RubyEventStore::Mappers::EncryptionKey\#prepare_auth_data \
|
13
|
-
RubyEventStore::Mappers::EncryptionKey\#encrypt_authenticated \
|
14
|
-
RubyEventStore::Mappers::EncryptionKey\#ciphertext_from_authenticated
|
15
|
-
|
16
|
-
SUBJECT ?= RubyEventStore*
|
17
|
-
|
18
|
-
include ../support/make/install.mk
|
19
|
-
include ../support/make/test.mk
|
20
|
-
include ../support/make/mutant.mk
|
21
|
-
include ../support/make/gem.mk
|
22
|
-
include ../support/make/help.mk
|
@@ -1,24 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module RubyEventStore
|
4
|
-
class Proto < RubyEventStore::Event
|
5
|
-
def event_type
|
6
|
-
data.class.descriptor.name
|
7
|
-
end
|
8
|
-
end
|
9
|
-
|
10
|
-
module Mappers
|
11
|
-
class Protobuf < PipelineMapper
|
12
|
-
def initialize(events_class_remapping: {})
|
13
|
-
super(Pipeline.new(
|
14
|
-
to_domain_event: Transformation::ProtoEvent.new,
|
15
|
-
transformations: [
|
16
|
-
Transformation::ProtobufEncoder.new,
|
17
|
-
Transformation::EventClassRemapper.new(events_class_remapping),
|
18
|
-
Transformation::ProtobufNestedStructMetadata.new,
|
19
|
-
]
|
20
|
-
))
|
21
|
-
end
|
22
|
-
end
|
23
|
-
end
|
24
|
-
end
|
@@ -1,56 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require 'forwardable'
|
4
|
-
|
5
|
-
module RubyEventStore
|
6
|
-
module Mappers
|
7
|
-
module Transformation
|
8
|
-
class Item
|
9
|
-
include Enumerable
|
10
|
-
extend Forwardable
|
11
|
-
|
12
|
-
def initialize(h)
|
13
|
-
@h = {}
|
14
|
-
h.each do |k, v|
|
15
|
-
@h[k] = (v)
|
16
|
-
end
|
17
|
-
end
|
18
|
-
|
19
|
-
def event_id
|
20
|
-
fetch(:event_id)
|
21
|
-
end
|
22
|
-
|
23
|
-
def metadata
|
24
|
-
fetch(:metadata)
|
25
|
-
end
|
26
|
-
|
27
|
-
def data
|
28
|
-
fetch(:data)
|
29
|
-
end
|
30
|
-
|
31
|
-
def event_type
|
32
|
-
fetch(:event_type)
|
33
|
-
end
|
34
|
-
|
35
|
-
def ==(other_event)
|
36
|
-
other_event.instance_of?(self.class) &&
|
37
|
-
other_event.to_h.eql?(to_h)
|
38
|
-
end
|
39
|
-
alias_method :eql?, :==
|
40
|
-
|
41
|
-
def merge(args)
|
42
|
-
Item.new(@h.merge(args))
|
43
|
-
end
|
44
|
-
|
45
|
-
def to_h
|
46
|
-
@h.dup
|
47
|
-
end
|
48
|
-
|
49
|
-
SAFE_HASH_METHODS = [:[], :fetch]
|
50
|
-
delegate SAFE_HASH_METHODS => :@h
|
51
|
-
|
52
|
-
private_constant :SAFE_HASH_METHODS
|
53
|
-
end
|
54
|
-
end
|
55
|
-
end
|
56
|
-
end
|
@@ -1,17 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module RubyEventStore
|
4
|
-
module Mappers
|
5
|
-
module Transformation
|
6
|
-
class ProtoEvent < DomainEvent
|
7
|
-
def load(item)
|
8
|
-
Proto.new(
|
9
|
-
event_id: item.event_id,
|
10
|
-
data: item.data,
|
11
|
-
metadata: item.metadata
|
12
|
-
)
|
13
|
-
end
|
14
|
-
end
|
15
|
-
end
|
16
|
-
end
|
17
|
-
end
|
@@ -1,30 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module RubyEventStore
|
4
|
-
module Mappers
|
5
|
-
module Transformation
|
6
|
-
class ProtobufEncoder
|
7
|
-
def dump(item)
|
8
|
-
item.merge(data: encode_data(item.data))
|
9
|
-
end
|
10
|
-
|
11
|
-
def load(item)
|
12
|
-
item.merge(data: load_data(item.event_type, item.data))
|
13
|
-
end
|
14
|
-
|
15
|
-
private
|
16
|
-
def encode_data(data)
|
17
|
-
begin
|
18
|
-
data.class.encode(data)
|
19
|
-
rescue NoMethodError
|
20
|
-
raise ProtobufEncodingFailed
|
21
|
-
end
|
22
|
-
end
|
23
|
-
|
24
|
-
def load_data(event_type, protobuf_data)
|
25
|
-
Google::Protobuf::DescriptorPool.generated_pool.lookup(event_type).msgclass.decode(protobuf_data)
|
26
|
-
end
|
27
|
-
end
|
28
|
-
end
|
29
|
-
end
|
30
|
-
end
|
@@ -1,30 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module RubyEventStore
|
4
|
-
module Mappers
|
5
|
-
module Transformation
|
6
|
-
class ProtobufNestedStructMetadata
|
7
|
-
def initialize
|
8
|
-
require_optional_dependency
|
9
|
-
end
|
10
|
-
|
11
|
-
def dump(item)
|
12
|
-
metadata = ProtobufNestedStruct::HashMapStringValue.dump(item.metadata)
|
13
|
-
item.merge(metadata: metadata)
|
14
|
-
end
|
15
|
-
|
16
|
-
def load(item)
|
17
|
-
metadata = ProtobufNestedStruct::HashMapStringValue.load(item.metadata)
|
18
|
-
symbolize = SymbolizeMetadataKeys.new
|
19
|
-
symbolize.load(item.merge(metadata: metadata))
|
20
|
-
end
|
21
|
-
|
22
|
-
def require_optional_dependency
|
23
|
-
require 'protobuf_nested_struct'
|
24
|
-
rescue LoadError
|
25
|
-
raise LoadError, "cannot load such file -- protobuf_nested_struct. Add protobuf_nested_struct gem to Gemfile"
|
26
|
-
end
|
27
|
-
end
|
28
|
-
end
|
29
|
-
end
|
30
|
-
end
|
@@ -1,34 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require 'yaml'
|
4
|
-
|
5
|
-
module RubyEventStore
|
6
|
-
module Mappers
|
7
|
-
module Transformation
|
8
|
-
class Serialization
|
9
|
-
def initialize(serializer: YAML)
|
10
|
-
@serializer = serializer
|
11
|
-
end
|
12
|
-
attr_reader :serializer
|
13
|
-
|
14
|
-
def dump(item)
|
15
|
-
Item.new(
|
16
|
-
event_id: item.event_id,
|
17
|
-
metadata: serializer.dump(item.metadata),
|
18
|
-
data: serializer.dump(item.data),
|
19
|
-
event_type: item.event_type
|
20
|
-
)
|
21
|
-
end
|
22
|
-
|
23
|
-
def load(item)
|
24
|
-
Item.new(
|
25
|
-
event_id: item.event_id,
|
26
|
-
metadata: serializer.load(item.metadata),
|
27
|
-
data: serializer.load(item.data),
|
28
|
-
event_type: item.event_type
|
29
|
-
)
|
30
|
-
end
|
31
|
-
end
|
32
|
-
end
|
33
|
-
end
|
34
|
-
end
|
@@ -1,27 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module RubyEventStore
|
4
|
-
module Mappers
|
5
|
-
module Transformation
|
6
|
-
class SerializedRecord
|
7
|
-
def dump(item)
|
8
|
-
RubyEventStore::SerializedRecord.new(
|
9
|
-
event_id: item.event_id,
|
10
|
-
metadata: item.metadata,
|
11
|
-
data: item.data,
|
12
|
-
event_type: item.event_type
|
13
|
-
)
|
14
|
-
end
|
15
|
-
|
16
|
-
def load(serialized_record)
|
17
|
-
Item.new(
|
18
|
-
event_id: serialized_record.event_id,
|
19
|
-
metadata: serialized_record.metadata,
|
20
|
-
data: serialized_record.data,
|
21
|
-
event_type: serialized_record.event_type
|
22
|
-
)
|
23
|
-
end
|
24
|
-
end
|
25
|
-
end
|
26
|
-
end
|
27
|
-
end
|