ruby_event_store-protobuf 1.0.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 +4 -4
- data/README.md +0 -2
- data/lib/ruby_event_store/protobuf/mappers/protobuf.rb +8 -6
- data/lib/ruby_event_store/protobuf/mappers/transformation/proto_event.rb +3 -6
- data/lib/ruby_event_store/protobuf/mappers/transformation/protobuf_encoder.rb +16 -11
- data/lib/ruby_event_store/protobuf/mappers/transformation/protobuf_nested_struct_metadata.rb +14 -20
- data/lib/ruby_event_store/protobuf/version.rb +1 -1
- data/lib/ruby_event_store/protobuf.rb +12 -8
- metadata +33 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e50004142f43956e471ee26b37e2b5baf5dbb4556b13c43da8486bfa5843285d
|
4
|
+
data.tar.gz: 6f65754eddb6c4a65ece125c39069211a2b0903266268912a28e744241117e50
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 706597905b93571dd6d091182a8189f72586b90e126e6cb52b888e683d3df441c940e28d05669d119b976b4a5cdeb95a9b4a3a20e1a810f29034a5fe444bd31d
|
7
|
+
data.tar.gz: e42321a5cc78203e5edb791de83c11db0ac9d2106312c91b6f9dc3efd571f0357d5f5a4128b2b388cb205ea5349f6d18b427ae8760f7e2353558095ca09de9a2
|
data/README.md
CHANGED
@@ -4,7 +4,6 @@ Moved from RubyEventStore (based on version 1.3.0).
|
|
4
4
|
|
5
5
|

|
6
6
|
|
7
|
-
|
8
7
|
## How to use this gem
|
9
8
|
|
10
9
|
Add to your gemfile in application:
|
@@ -15,7 +14,6 @@ gem "ruby_event_store-protobuf"
|
|
15
14
|
|
16
15
|
Read more about [using Rails Event Store with Protobuf](https://railseventstore.org/docs/v2/protobuf/#configure-protobuf-mapper)
|
17
16
|
|
18
|
-
|
19
17
|
## Contributing
|
20
18
|
|
21
19
|
Bug reports and pull requests are welcome on GitHub at https://github.com/RailsEventStore/rails_event_store.
|
@@ -11,12 +11,14 @@ module RubyEventStore
|
|
11
11
|
module Mappers
|
12
12
|
class Protobuf < RubyEventStore::Mappers::PipelineMapper
|
13
13
|
def initialize(events_class_remapping: {})
|
14
|
-
super(
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
14
|
+
super(
|
15
|
+
RubyEventStore::Mappers::Pipeline.new(
|
16
|
+
Transformation::ProtobufEncoder.new,
|
17
|
+
RubyEventStore::Mappers::Transformation::EventClassRemapper.new(events_class_remapping),
|
18
|
+
Transformation::ProtobufNestedStructMetadata.new,
|
19
|
+
to_domain_event: Transformation::ProtoEvent.new
|
20
|
+
)
|
21
|
+
)
|
20
22
|
end
|
21
23
|
end
|
22
24
|
end
|
@@ -7,12 +7,9 @@ module RubyEventStore
|
|
7
7
|
class ProtoEvent < RubyEventStore::Mappers::Transformation::DomainEvent
|
8
8
|
def load(record)
|
9
9
|
Proto.new(
|
10
|
-
event_id:
|
11
|
-
data:
|
12
|
-
metadata:
|
13
|
-
timestamp: record.timestamp,
|
14
|
-
valid_at: record.valid_at,
|
15
|
-
),
|
10
|
+
event_id: record.event_id,
|
11
|
+
data: record.data,
|
12
|
+
metadata: record.metadata.merge(timestamp: record.timestamp, valid_at: record.valid_at)
|
16
13
|
)
|
17
14
|
end
|
18
15
|
end
|
@@ -7,27 +7,28 @@ module RubyEventStore
|
|
7
7
|
class ProtobufEncoder
|
8
8
|
def dump(record)
|
9
9
|
Record.new(
|
10
|
-
event_id:
|
10
|
+
event_id: record.event_id,
|
11
11
|
event_type: record.event_type,
|
12
|
-
data:
|
13
|
-
metadata:
|
14
|
-
timestamp:
|
15
|
-
valid_at:
|
12
|
+
data: encode_data(record.data),
|
13
|
+
metadata: record.metadata,
|
14
|
+
timestamp: record.timestamp,
|
15
|
+
valid_at: record.valid_at
|
16
16
|
)
|
17
17
|
end
|
18
18
|
|
19
19
|
def load(record)
|
20
20
|
Record.new(
|
21
|
-
event_id:
|
21
|
+
event_id: record.event_id,
|
22
22
|
event_type: record.event_type,
|
23
|
-
data:
|
24
|
-
metadata:
|
25
|
-
timestamp:
|
26
|
-
valid_at:
|
23
|
+
data: load_data(record.event_type, record.data),
|
24
|
+
metadata: record.metadata,
|
25
|
+
timestamp: record.timestamp,
|
26
|
+
valid_at: record.valid_at
|
27
27
|
)
|
28
28
|
end
|
29
29
|
|
30
30
|
private
|
31
|
+
|
31
32
|
def encode_data(data)
|
32
33
|
begin
|
33
34
|
data.class.encode(data)
|
@@ -37,7 +38,11 @@ module RubyEventStore
|
|
37
38
|
end
|
38
39
|
|
39
40
|
def load_data(event_type, protobuf_data)
|
40
|
-
Google::Protobuf::DescriptorPool
|
41
|
+
Google::Protobuf::DescriptorPool
|
42
|
+
.generated_pool
|
43
|
+
.lookup(event_type)
|
44
|
+
.msgclass
|
45
|
+
.decode(protobuf_data)
|
41
46
|
end
|
42
47
|
end
|
43
48
|
end
|
data/lib/ruby_event_store/protobuf/mappers/transformation/protobuf_nested_struct_metadata.rb
CHANGED
@@ -5,39 +5,33 @@ module RubyEventStore
|
|
5
5
|
module Mappers
|
6
6
|
module Transformation
|
7
7
|
class ProtobufNestedStructMetadata
|
8
|
-
def initialize
|
9
|
-
require_optional_dependency
|
10
|
-
end
|
11
|
-
|
12
8
|
def dump(record)
|
13
9
|
Record.new(
|
14
|
-
event_id:
|
10
|
+
event_id: record.event_id,
|
15
11
|
event_type: record.event_type,
|
16
|
-
data:
|
17
|
-
metadata:
|
18
|
-
|
19
|
-
|
12
|
+
data: record.data,
|
13
|
+
metadata:
|
14
|
+
ProtobufNestedStruct::HashMapStringValue.dump(record.metadata),
|
15
|
+
timestamp: record.timestamp,
|
16
|
+
valid_at: record.valid_at
|
20
17
|
)
|
21
18
|
end
|
22
19
|
|
23
20
|
def load(record)
|
24
21
|
RubyEventStore::Mappers::Transformation::SymbolizeMetadataKeys.new.load(
|
25
22
|
Record.new(
|
26
|
-
event_id:
|
23
|
+
event_id: record.event_id,
|
27
24
|
event_type: record.event_type,
|
28
|
-
data:
|
29
|
-
metadata:
|
30
|
-
|
31
|
-
|
25
|
+
data: record.data,
|
26
|
+
metadata:
|
27
|
+
ProtobufNestedStruct::HashMapStringValue.load(
|
28
|
+
record.metadata
|
29
|
+
),
|
30
|
+
timestamp: record.timestamp,
|
31
|
+
valid_at: record.valid_at
|
32
32
|
)
|
33
33
|
)
|
34
34
|
end
|
35
|
-
|
36
|
-
def require_optional_dependency
|
37
|
-
require 'protobuf_nested_struct'
|
38
|
-
rescue LoadError
|
39
|
-
raise LoadError, "cannot load such file -- protobuf_nested_struct. Add protobuf_nested_struct gem to Gemfile"
|
40
|
-
end
|
41
35
|
end
|
42
36
|
end
|
43
37
|
end
|
@@ -1,6 +1,8 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require
|
3
|
+
require "ruby_event_store"
|
4
|
+
require "protobuf_nested_struct"
|
5
|
+
require "google/protobuf"
|
4
6
|
|
5
7
|
module RubyEventStore
|
6
8
|
ProtobufEncodingFailed = Class.new(Error)
|
@@ -9,11 +11,11 @@ module RubyEventStore
|
|
9
11
|
end
|
10
12
|
end
|
11
13
|
|
12
|
-
require_relative
|
13
|
-
require_relative
|
14
|
-
require_relative
|
15
|
-
require_relative
|
16
|
-
require_relative
|
14
|
+
require_relative "protobuf/mappers/transformation/proto_event"
|
15
|
+
require_relative "protobuf/mappers/transformation/protobuf_encoder"
|
16
|
+
require_relative "protobuf/mappers/transformation/protobuf_nested_struct_metadata"
|
17
|
+
require_relative "protobuf/mappers/protobuf"
|
18
|
+
require_relative "protobuf/version"
|
17
19
|
|
18
20
|
module RubyEventStore
|
19
21
|
Proto = Protobuf::Proto
|
@@ -23,8 +25,10 @@ module RubyEventStore
|
|
23
25
|
|
24
26
|
module Transformation
|
25
27
|
ProtoEvent = RubyEventStore::Protobuf::Mappers::Transformation::ProtoEvent
|
26
|
-
ProtobufEncoder =
|
27
|
-
|
28
|
+
ProtobufEncoder =
|
29
|
+
RubyEventStore::Protobuf::Mappers::Transformation::ProtobufEncoder
|
30
|
+
ProtobufNestedStructMetadata =
|
31
|
+
RubyEventStore::Protobuf::Mappers::Transformation::ProtobufNestedStructMetadata
|
28
32
|
end
|
29
33
|
end
|
30
34
|
end
|
metadata
CHANGED
@@ -1,14 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ruby_event_store-protobuf
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 2.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Arkency
|
8
|
-
autorequire:
|
9
8
|
bindir: bin
|
10
9
|
cert_chain: []
|
11
|
-
date:
|
10
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
12
11
|
dependencies:
|
13
12
|
- !ruby/object:Gem::Dependency
|
14
13
|
name: ruby_event_store
|
@@ -30,7 +29,34 @@ dependencies:
|
|
30
29
|
- - "<"
|
31
30
|
- !ruby/object:Gem::Version
|
32
31
|
version: 3.0.0
|
33
|
-
|
32
|
+
- !ruby/object:Gem::Dependency
|
33
|
+
name: google-protobuf
|
34
|
+
requirement: !ruby/object:Gem::Requirement
|
35
|
+
requirements:
|
36
|
+
- - ">="
|
37
|
+
- !ruby/object:Gem::Version
|
38
|
+
version: 4.26.0
|
39
|
+
type: :runtime
|
40
|
+
prerelease: false
|
41
|
+
version_requirements: !ruby/object:Gem::Requirement
|
42
|
+
requirements:
|
43
|
+
- - ">="
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: 4.26.0
|
46
|
+
- !ruby/object:Gem::Dependency
|
47
|
+
name: protobuf_nested_struct
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
49
|
+
requirements:
|
50
|
+
- - ">="
|
51
|
+
- !ruby/object:Gem::Version
|
52
|
+
version: 2.0.0
|
53
|
+
type: :runtime
|
54
|
+
prerelease: false
|
55
|
+
version_requirements: !ruby/object:Gem::Requirement
|
56
|
+
requirements:
|
57
|
+
- - ">="
|
58
|
+
- !ruby/object:Gem::Version
|
59
|
+
version: 2.0.0
|
34
60
|
email: dev@arkency.com
|
35
61
|
executables: []
|
36
62
|
extensions: []
|
@@ -51,7 +77,7 @@ metadata:
|
|
51
77
|
homepage_uri: https://railseventstore.org
|
52
78
|
source_code_uri: https://github.com/RailsEventStore/rails_event_store
|
53
79
|
bug_tracker_uri: https://github.com/RailsEventStore/rails_event_store/issues
|
54
|
-
|
80
|
+
rubygems_mfa_required: 'true'
|
55
81
|
rdoc_options: []
|
56
82
|
require_paths:
|
57
83
|
- lib
|
@@ -59,15 +85,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
59
85
|
requirements:
|
60
86
|
- - ">="
|
61
87
|
- !ruby/object:Gem::Version
|
62
|
-
version: '2.
|
88
|
+
version: '2.7'
|
63
89
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
64
90
|
requirements:
|
65
91
|
- - ">="
|
66
92
|
- !ruby/object:Gem::Version
|
67
93
|
version: '0'
|
68
94
|
requirements: []
|
69
|
-
rubygems_version: 3.
|
70
|
-
signing_key:
|
95
|
+
rubygems_version: 3.6.7
|
71
96
|
specification_version: 4
|
72
97
|
summary: Protobuf support for Ruby Event Store
|
73
98
|
test_files: []
|