event_sorcerer 0.0.3 → 0.0.4
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/lib/event_sorcerer/aggregate.rb +9 -1
- data/lib/event_sorcerer/event_store.rb +10 -0
- data/lib/event_sorcerer/version.rb +1 -1
- metadata +5 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 79a912a68e2870c219ada44383c9dc31094153ed
|
4
|
+
data.tar.gz: a06601573292fe7dff5992c019c53123f1f9876d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5996d9ee1b0d9231bde34f0195be5dd1b5ad6f57a129f0dae508960fe1f9e18fa522cd6d368f7ca21149ba2c0350fb44d8b77371c5904cfb0e3c15fe2231d49f
|
7
|
+
data.tar.gz: e46130b30ffb009d7141dca1a358c4233467b9d796e5e40da343a880244897032d0699037ab00e4cff759f1482a4a10766697e85a8de378bb46e9baee96d675b
|
@@ -14,11 +14,19 @@ module EventSorcerer
|
|
14
14
|
base.class.send :alias_method, :build, :new
|
15
15
|
base.extend(ClassMethods)
|
16
16
|
base.class.extend(Forwardable)
|
17
|
-
base.class.send :def_delegators, :EventSorcerer, :
|
17
|
+
base.class.send :def_delegators, :EventSorcerer, :event_store,
|
18
|
+
:unit_of_work
|
18
19
|
end
|
19
20
|
|
20
21
|
# Public: Class methods to be extended onto the including class.
|
21
22
|
module ClassMethods
|
23
|
+
# Public: Load all Aggregates of this type.
|
24
|
+
#
|
25
|
+
# Returns an Array of AggregateProxy objects.
|
26
|
+
def all
|
27
|
+
event_store.get_ids_for_type(self.name).map { |id| find(id) }
|
28
|
+
end
|
29
|
+
|
22
30
|
# Public: An array of symbols representing the names of the methods which
|
23
31
|
# are events.
|
24
32
|
def event_methods
|
@@ -34,6 +34,16 @@ module EventSorcerer
|
|
34
34
|
fail NotImplementedError
|
35
35
|
end
|
36
36
|
|
37
|
+
# Public: Retrieve the IDs for a given aggregate class. Should be defined
|
38
|
+
# in a subclass.
|
39
|
+
#
|
40
|
+
# _klass - Text representation of aggregate class.
|
41
|
+
#
|
42
|
+
# Raises a NotImplementedError
|
43
|
+
def get_ids_for_type(_klass)
|
44
|
+
fail NotImplementedError
|
45
|
+
end
|
46
|
+
|
37
47
|
# Public: Retrieve the events for a specified aggregate. Should be
|
38
48
|
# defined in a subclass.
|
39
49
|
#
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: event_sorcerer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sebastian Edwards
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-08-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -108,7 +108,7 @@ dependencies:
|
|
108
108
|
- - '='
|
109
109
|
- !ruby/object:Gem::Version
|
110
110
|
version: 0.7.1
|
111
|
-
description:
|
111
|
+
description: '["Generic", "event-sourcing", "scaffold"]'
|
112
112
|
email:
|
113
113
|
- me@sebastianedwards.co.nz
|
114
114
|
executables: []
|
@@ -154,10 +154,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
154
154
|
version: '0'
|
155
155
|
requirements: []
|
156
156
|
rubyforge_project:
|
157
|
-
rubygems_version: 2.2.
|
157
|
+
rubygems_version: 2.2.2
|
158
158
|
signing_key:
|
159
159
|
specification_version: 4
|
160
|
-
summary:
|
160
|
+
summary: '["Generic", "event-sourcing", "scaffold"]'
|
161
161
|
test_files:
|
162
162
|
- spec/lib/event_sorcerer_spec.rb
|
163
163
|
has_rdoc:
|