event_sorcerer 0.0.3 → 0.0.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: ad7bce2c040633c753e30b0624d4817051800dc3
4
- data.tar.gz: c053a8098817aa32e3d99ca2a7161a2b37139765
3
+ metadata.gz: 79a912a68e2870c219ada44383c9dc31094153ed
4
+ data.tar.gz: a06601573292fe7dff5992c019c53123f1f9876d
5
5
  SHA512:
6
- metadata.gz: 20c760b049a3490a66ca250c953b8ad1f53bae6e9a36be97c2e2e57daf4c8c8caa8683c3c5a6861c408f5f6b9ec476aa1825f032cb623878406a40f146f3cd86
7
- data.tar.gz: 4ebba12089476b8f16c419f1f273a28aced1d00da7e73518f8bae64b52bbd2b2903f789b09738cb39861868884b036560fc98ec9939adfb66e1ca48ac4ba9789
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, :unit_of_work
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
  #
@@ -1,4 +1,4 @@
1
1
  # Public: Defines a constant for the current version number.
2
2
  module EventSorcerer
3
- VERSION = '0.0.3'
3
+ VERSION = '0.0.4'
4
4
  end
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.3
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-07-29 00:00:00.000000000 Z
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: "[\"Generic\", \"event-sourcing\", \"scaffold\"]"
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.0
157
+ rubygems_version: 2.2.2
158
158
  signing_key:
159
159
  specification_version: 4
160
- summary: "[\"Generic\", \"event-sourcing\", \"scaffold\"]"
160
+ summary: '["Generic", "event-sourcing", "scaffold"]'
161
161
  test_files:
162
162
  - spec/lib/event_sorcerer_spec.rb
163
163
  has_rdoc: