ruby_event_store 0.3.1 → 0.4.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
  SHA1:
3
- metadata.gz: 69546ce0878a7fa65749f566b540daa5c95208d2
4
- data.tar.gz: d61f323dfcf883a093c30fb0c4fb38bdfb83efe5
3
+ metadata.gz: 469ba42eaa17c3da62c4982cb2faf4fa2f247da7
4
+ data.tar.gz: 3bd2294568ef5228c4dfe3887e84b26efd5b1c89
5
5
  SHA512:
6
- metadata.gz: f7c10b9e99f4bfa6ceb29851f712defbe399219977e221770acd72e5f0669d0095cb51d9ae618933dcc6c92e0d1b2ba8a79dd0e6e95911441c35a5177a85d100
7
- data.tar.gz: c00e2dc24868728c5c1fbd468a11eb446e5c63ab70187f24274b8ea6485082e0ed0ebf50809244e2e0572d644310b91df89783f41d19ff97e03598970313a9cc
6
+ metadata.gz: 073ae3f2ed7e25f2acad23b5deb7991866b4f76e01e41f8d015a1760780f15882ea596431d2e664dde644b416b7c6a0faf78875fefd12d482882d33091e06892
7
+ data.tar.gz: a87826352248c9f50e38dfffd3f4f4a1474243d74fdb924ad66d49b41d20e359b2d9171b3d22085da7cb2e3ec01e059b8bb8091995102cce812feb3344f856ac
@@ -1,5 +1,9 @@
1
1
  ### HEAD
2
2
 
3
+ ### 0.4.0 (17.03.2016)
4
+
5
+ * Change: Use class names to subscribe events PR #8
6
+
3
7
  ### 0.3.1 (13.03.2016)
4
8
 
5
9
  * Fix Don't overwrite timestamps when reading from repository
@@ -8,17 +8,20 @@ module RubyEventStore
8
8
  singleton_class.__send__(:define_method, key) { value }
9
9
  end
10
10
 
11
- @event_type = args[:event_type] || event_name
12
11
  @event_id = (args[:event_id] || generate_id).to_s
13
12
  @metadata = args[:metadata] || {}
14
13
  @data = attributes(args)
15
14
  @metadata[:timestamp] ||= Time.now.utc
16
15
  end
17
- attr_reader :event_type, :event_id, :metadata, :data
16
+ attr_reader :event_id, :metadata, :data
17
+
18
+ def event_type
19
+ self.class
20
+ end
18
21
 
19
22
  def to_h
20
23
  {
21
- event_type: event_type,
24
+ event_type: event_type.name,
22
25
  event_id: event_id,
23
26
  metadata: metadata,
24
27
  data: data
@@ -29,18 +32,20 @@ module RubyEventStore
29
32
  metadata[:timestamp]
30
33
  end
31
34
 
35
+ def ==(other_event)
36
+ other_event.instance_of?(self.class) && other_event.to_h.eql?(to_h)
37
+ end
38
+
39
+ alias_method :eql?, :==
40
+
32
41
  private
33
42
 
34
43
  def attributes(args)
35
- args.reject { |k| [:event_type, :event_id, :metadata].include? k }
44
+ args.reject { |k| [:event_id, :metadata].include? k }
36
45
  end
37
46
 
38
47
  def generate_id
39
48
  SecureRandom.uuid
40
49
  end
41
-
42
- def event_name
43
- self.class.name
44
- end
45
50
  end
46
51
  end
@@ -12,8 +12,8 @@ RSpec.shared_examples :event_repository do |repository_class|
12
12
  end
13
13
 
14
14
  it 'created event is stored in given stream' do
15
- expected_event = {event_type: 'TestDomainEvent', data: {}}
16
- created = repository.create(TestDomainEvent.new, 'stream')
15
+ expected_event = TestDomainEvent.new(data: {})
16
+ created = repository.create(expected_event, 'stream')
17
17
  expect_to_be_like_event(created, expected_event)
18
18
  expect_to_be_like_event(repository.read_all_streams_forward(:head, 1).first, expected_event)
19
19
  expect_to_be_like_event(repository.read_stream_events_forward('stream').first, expected_event)
@@ -98,8 +98,8 @@ RSpec.shared_examples :event_repository do |repository_class|
98
98
  private
99
99
 
100
100
  def expect_to_be_like_event(actual, expected)
101
- expect(actual.event_type).to eq expected[:event_type]
102
- expect(actual.data).to eq expected[:data]
103
- if expected.key? :event_id then expect(actual.event_id).to eq expected[:event_id] else true end
101
+ expect(actual.event_type).to eq expected.event_type
102
+ expect(actual.data).to eq expected.data
103
+ if expected.event_id then expect(actual.event_id).to eq expected.event_id else true end
104
104
  end
105
105
  end
@@ -1,3 +1,3 @@
1
1
  module RubyEventStore
2
- VERSION = '0.3.1'
2
+ VERSION = '0.4.0'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby_event_store
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.1
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - rybex
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: exe
11
11
  cert_chain: []
12
- date: 2016-03-13 00:00:00.000000000 Z
12
+ date: 2016-03-17 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler