simple_event_sourcing 0.6.0 → 0.7.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
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a0af077c1f7192128bfc81d95dd245712d44fa647465dd4dddc3cd0cc3849044
|
4
|
+
data.tar.gz: c34c2358c240f4235be395afbc42373336278fc85bfbd0ba8b768e479f842c3b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a6a6dd3da4a2b9e489309d718371726fd00b841ab55fd5a9502b4ed3e1c0e69a38e11b0d21d25a11a7109adc98017376403e2a2e0ce59a8d5e1c6adccc3dc395
|
7
|
+
data.tar.gz: 8316de28bec9dee0efe27e8f1e7a3089f594900e63b83b56dca9752396fbe159a622be9e40c96257aac7be6da6b0f0144fea5c30ff2d5ad2460b37a5f5df9568
|
data/Gemfile.lock
CHANGED
@@ -39,6 +39,12 @@ module SimpleEventSourcing
|
|
39
39
|
aggregate
|
40
40
|
end
|
41
41
|
|
42
|
+
def create_from_history(history)
|
43
|
+
aggregate = self.create_from_agrregate_id history.aggregate_id
|
44
|
+
history.each { |event| aggregate.handle_message event }
|
45
|
+
aggregate
|
46
|
+
end
|
47
|
+
|
42
48
|
def on(*message_classes, &block)
|
43
49
|
message_classes.each { |message_class| message_mapping[message_class] = block }
|
44
50
|
end
|
@@ -7,15 +7,6 @@ module SimpleEventSourcing
|
|
7
7
|
@aggregate_id = aggregate_id
|
8
8
|
end
|
9
9
|
|
10
|
-
def get_aggregate
|
11
|
-
aggregate = get_aggregate_class.create_from_agrregate_id @aggregate_id
|
12
|
-
each { |event| aggregate.handle_message event }
|
13
|
-
aggregate
|
14
|
-
end
|
15
|
-
|
16
|
-
def get_aggregate_class
|
17
|
-
raise StandardError('Method must be implemented')
|
18
|
-
end
|
19
10
|
end
|
20
11
|
end
|
21
12
|
end
|
@@ -2,13 +2,11 @@ module SimpleEventSourcing
|
|
2
2
|
module Events
|
3
3
|
|
4
4
|
class Event
|
5
|
-
attr_reader :aggregate_id, :
|
5
|
+
attr_reader :aggregate_id, :occurred_on
|
6
6
|
|
7
7
|
def initialize(args)
|
8
|
-
puts args.inspect
|
9
|
-
|
10
8
|
@aggregate_id = args[:aggregate_id]
|
11
|
-
@
|
9
|
+
@occurred_on ||= Time.new
|
12
10
|
end
|
13
11
|
end
|
14
12
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: simple_event_sourcing
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.7.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Manuel López Torrent
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-04-
|
11
|
+
date: 2018-04-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|