ruby_event_store 2.0.0 → 2.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (37) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +3 -1
  3. data/lib/ruby_event_store/client.rb +37 -6
  4. data/lib/ruby_event_store/errors.rb +1 -0
  5. data/lib/ruby_event_store/event.rb +5 -2
  6. data/lib/ruby_event_store/in_memory_repository.rb +67 -15
  7. data/lib/ruby_event_store/instrumented_dispatcher.rb +12 -2
  8. data/lib/ruby_event_store/instrumented_repository.rb +17 -11
  9. data/lib/ruby_event_store/mappers/default.rb +1 -28
  10. data/lib/ruby_event_store/mappers/encryption_mapper.rb +2 -0
  11. data/lib/ruby_event_store/mappers/forgotten_data.rb +1 -1
  12. data/lib/ruby_event_store/mappers/in_memory_encryption_key_repository.rb +1 -1
  13. data/lib/ruby_event_store/mappers/instrumented_mapper.rb +0 -4
  14. data/lib/ruby_event_store/mappers/json_mapper.rb +7 -5
  15. data/lib/ruby_event_store/mappers/pipeline.rb +2 -26
  16. data/lib/ruby_event_store/mappers/pipeline_mapper.rb +0 -4
  17. data/lib/ruby_event_store/mappers/transformation/domain_event.rb +13 -3
  18. data/lib/ruby_event_store/mappers/transformation/upcast.rb +37 -0
  19. data/lib/ruby_event_store/metadata.rb +3 -3
  20. data/lib/ruby_event_store/projection.rb +2 -2
  21. data/lib/ruby_event_store/spec/broker_lint.rb +11 -11
  22. data/lib/ruby_event_store/spec/event_lint.rb +9 -9
  23. data/lib/ruby_event_store/spec/event_repository_lint.rb +338 -281
  24. data/lib/ruby_event_store/spec/subscriptions_lint.rb +41 -33
  25. data/lib/ruby_event_store/subscriptions.rb +24 -9
  26. data/lib/ruby_event_store/transform_keys.rb +5 -5
  27. data/lib/ruby_event_store/version.rb +1 -1
  28. data/lib/ruby_event_store.rb +43 -44
  29. metadata +26 -17
  30. data/.mutant.yml +0 -1
  31. data/CHANGELOG.md +0 -93
  32. data/Gemfile +0 -9
  33. data/Gemfile.lock +0 -118
  34. data/Makefile +0 -32
  35. data/lib/ruby_event_store/mappers/deprecated_wrapper.rb +0 -33
  36. data/lib/ruby_event_store/mappers/transformation/serialization.rb +0 -36
  37. data/ruby_event_store.gemspec +0 -27
@@ -17,7 +17,7 @@ RSpec.shared_examples :subscriptions do |subscriptions_class|
17
17
 
18
18
  subject(:subscriptions) { subscriptions_class.new }
19
19
 
20
- it 'returns all subscribed handlers' do
20
+ it "returns all subscribed handlers" do
21
21
  handler = TestHandler.new
22
22
  another_handler = TestHandler.new
23
23
  global_handler = TestHandler.new
@@ -26,12 +26,12 @@ RSpec.shared_examples :subscriptions do |subscriptions_class|
26
26
  subscriptions.add_subscription(another_handler, [Test2DomainEvent])
27
27
  subscriptions.add_global_subscription(global_handler)
28
28
 
29
- expect(subscriptions.all_for('Test1DomainEvent')).to eq([handler, global_handler])
30
- expect(subscriptions.all_for('Test2DomainEvent')).to eq([another_handler, global_handler])
31
- expect(subscriptions.all_for('Test3DomainEvent')).to eq([handler, global_handler])
29
+ expect(subscriptions.all_for("Test1DomainEvent")).to eq([handler, global_handler])
30
+ expect(subscriptions.all_for("Test2DomainEvent")).to eq([another_handler, global_handler])
31
+ expect(subscriptions.all_for("Test3DomainEvent")).to eq([handler, global_handler])
32
32
  end
33
33
 
34
- it 'returns subscribed thread handlers' do
34
+ it "returns subscribed thread handlers" do
35
35
  handler = TestHandler.new
36
36
  another_handler = TestHandler.new
37
37
  global_handler = TestHandler.new
@@ -42,76 +42,84 @@ RSpec.shared_examples :subscriptions do |subscriptions_class|
42
42
  t = Thread.new do
43
43
  subscriptions.add_thread_subscription(handler, [Test2DomainEvent])
44
44
  subscriptions.add_thread_global_subscription(another_handler)
45
- expect(subscriptions.all_for('Test2DomainEvent')).to eq([another_handler, handler])
45
+ expect(subscriptions.all_for("Test2DomainEvent")).to eq([another_handler, handler])
46
46
  end
47
47
 
48
- expect(subscriptions.all_for('Test1DomainEvent')).to eq([global_handler, handler])
49
- expect(subscriptions.all_for('Test2DomainEvent')).to eq([global_handler, another_handler])
50
- expect(subscriptions.all_for('Test3DomainEvent')).to eq([global_handler, handler])
48
+ expect(subscriptions.all_for("Test1DomainEvent")).to eq([global_handler, handler])
49
+ expect(subscriptions.all_for("Test2DomainEvent")).to eq([global_handler, another_handler])
50
+ expect(subscriptions.all_for("Test3DomainEvent")).to eq([global_handler, handler])
51
51
  t.join
52
52
  end
53
53
 
54
- it 'returns lambda as an output of global subscribe methods' do
54
+ it "returns lambda as an output of global subscribe methods" do
55
55
  handler = TestHandler.new
56
56
  result = subscriptions.add_global_subscription(handler)
57
57
  expect(result).to respond_to(:call)
58
58
  end
59
59
 
60
- it 'returns lambda as an output of subscribe methods' do
60
+ it "returns lambda as an output of subscribe methods" do
61
61
  handler = TestHandler.new
62
62
  result = subscriptions.add_subscription(handler, [Test1DomainEvent, Test2DomainEvent])
63
63
  expect(result).to respond_to(:call)
64
64
  end
65
65
 
66
- it 'revokes global subscription' do
66
+ it "revokes global subscription" do
67
67
  handler = TestHandler.new
68
68
 
69
69
  revoke = subscriptions.add_global_subscription(handler)
70
- expect(subscriptions.all_for('Test1DomainEvent')).to eq([handler])
71
- expect(subscriptions.all_for('Test2DomainEvent')).to eq([handler])
70
+ expect(subscriptions.all_for("Test1DomainEvent")).to eq([handler])
71
+ expect(subscriptions.all_for("Test2DomainEvent")).to eq([handler])
72
72
  revoke.()
73
- expect(subscriptions.all_for('Test1DomainEvent')).to eq([])
74
- expect(subscriptions.all_for('Test2DomainEvent')).to eq([])
73
+ expect(subscriptions.all_for("Test1DomainEvent")).to eq([])
74
+ expect(subscriptions.all_for("Test2DomainEvent")).to eq([])
75
75
  end
76
76
 
77
- it 'revokes subscription' do
77
+ it "revokes subscription" do
78
78
  handler = TestHandler.new
79
79
 
80
80
  revoke = subscriptions.add_subscription(handler, [Test1DomainEvent, Test2DomainEvent])
81
- expect(subscriptions.all_for('Test1DomainEvent')).to eq([handler])
82
- expect(subscriptions.all_for('Test2DomainEvent')).to eq([handler])
81
+ expect(subscriptions.all_for("Test1DomainEvent")).to eq([handler])
82
+ expect(subscriptions.all_for("Test2DomainEvent")).to eq([handler])
83
83
  revoke.()
84
- expect(subscriptions.all_for('Test1DomainEvent')).to eq([])
85
- expect(subscriptions.all_for('Test2DomainEvent')).to eq([])
84
+ expect(subscriptions.all_for("Test1DomainEvent")).to eq([])
85
+ expect(subscriptions.all_for("Test2DomainEvent")).to eq([])
86
86
  end
87
87
 
88
- it 'revokes thread global subscription' do
88
+ it "revokes thread global subscription" do
89
89
  handler = TestHandler.new
90
90
 
91
91
  revoke = subscriptions.add_thread_global_subscription(handler)
92
- expect(subscriptions.all_for('Test1DomainEvent')).to eq([handler])
93
- expect(subscriptions.all_for('Test2DomainEvent')).to eq([handler])
92
+ expect(subscriptions.all_for("Test1DomainEvent")).to eq([handler])
93
+ expect(subscriptions.all_for("Test2DomainEvent")).to eq([handler])
94
94
  revoke.()
95
- expect(subscriptions.all_for('Test1DomainEvent')).to eq([])
96
- expect(subscriptions.all_for('Test2DomainEvent')).to eq([])
95
+ expect(subscriptions.all_for("Test1DomainEvent")).to eq([])
96
+ expect(subscriptions.all_for("Test2DomainEvent")).to eq([])
97
97
  end
98
98
 
99
- it 'revokes thread subscription' do
99
+ it "revokes thread subscription" do
100
100
  handler = TestHandler.new
101
101
 
102
102
  revoke = subscriptions.add_thread_subscription(handler, [Test1DomainEvent, Test2DomainEvent])
103
- expect(subscriptions.all_for('Test1DomainEvent')).to eq([handler])
104
- expect(subscriptions.all_for('Test2DomainEvent')).to eq([handler])
103
+ expect(subscriptions.all_for("Test1DomainEvent")).to eq([handler])
104
+ expect(subscriptions.all_for("Test2DomainEvent")).to eq([handler])
105
105
  revoke.()
106
- expect(subscriptions.all_for('Test1DomainEvent')).to eq([])
107
- expect(subscriptions.all_for('Test2DomainEvent')).to eq([])
106
+ expect(subscriptions.all_for("Test1DomainEvent")).to eq([])
107
+ expect(subscriptions.all_for("Test2DomainEvent")).to eq([])
108
108
  end
109
109
 
110
- it 'subscribes by type of event which is a String' do
110
+ it "subscribes by type of event which is a String" do
111
111
  handler = TestHandler.new
112
112
  subscriptions.add_subscription(handler, ["Test1DomainEvent"])
113
113
  subscriptions.add_thread_subscription(handler, ["Test1DomainEvent"])
114
114
 
115
- expect(subscriptions.all_for('Test1DomainEvent')).to eq([handler, handler])
115
+ expect(subscriptions.all_for("Test1DomainEvent")).to eq([handler, handler])
116
+ end
117
+
118
+ it "subscribes by type of event which is a class" do
119
+ handler = TestHandler.new
120
+ subscriptions.add_subscription(handler, [Test1DomainEvent])
121
+ subscriptions.add_thread_subscription(handler, [Test1DomainEvent])
122
+
123
+ expect(subscriptions.all_for("Test1DomainEvent")).to eq([handler, handler])
116
124
  end
117
125
  end
@@ -1,17 +1,18 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'concurrent'
3
+ require "concurrent"
4
4
 
5
5
  module RubyEventStore
6
6
  class Subscriptions
7
- def initialize
7
+ def initialize(event_type_resolver: default_event_type_resolver)
8
+ @event_type_resolver = event_type_resolver
8
9
  @local = LocalSubscriptions.new
9
10
  @global = GlobalSubscriptions.new
10
- @thread = ThreadSubscriptions.new
11
+ @thread = ThreadSubscriptions.new
11
12
  end
12
13
 
13
14
  def add_subscription(subscriber, event_types)
14
- local.add(subscriber, event_types)
15
+ local.add(subscriber, resolve_event_types(event_types))
15
16
  end
16
17
 
17
18
  def add_global_subscription(subscriber)
@@ -19,7 +20,7 @@ module RubyEventStore
19
20
  end
20
21
 
21
22
  def add_thread_subscription(subscriber, event_types)
22
- thread.local.add(subscriber, event_types)
23
+ thread.local.add(subscriber, resolve_event_types(event_types))
23
24
  end
24
25
 
25
26
  def add_thread_global_subscription(subscriber)
@@ -30,9 +31,23 @@ module RubyEventStore
30
31
  [local, global, thread].map{|r| r.all_for(event_type)}.reduce(&:+)
31
32
  end
32
33
 
34
+ attr_reader :event_type_resolver
35
+
33
36
  private
34
37
  attr_reader :local, :global, :thread
35
38
 
39
+ def default_event_type_resolver
40
+ ->(value) { value.to_s }
41
+ end
42
+
43
+ def resolve_event_types(event_types)
44
+ event_types.map(&method(:resolve_event_type))
45
+ end
46
+
47
+ def resolve_event_type(type)
48
+ event_type_resolver.call(type)
49
+ end
50
+
36
51
  class ThreadSubscriptions
37
52
  def initialize
38
53
  @local = ThreadLocalSubscriptions.new
@@ -51,8 +66,8 @@ module RubyEventStore
51
66
  end
52
67
 
53
68
  def add(subscription, event_types)
54
- event_types.each{ |type| @subscriptions[type.to_s] << subscription }
55
- ->() {event_types.each{ |type| @subscriptions.fetch(type.to_s).delete(subscription) } }
69
+ event_types.each{ |type| @subscriptions[type] << subscription }
70
+ ->() {event_types.each{ |type| @subscriptions.fetch(type).delete(subscription) } }
56
71
  end
57
72
 
58
73
  def all_for(event_type)
@@ -83,8 +98,8 @@ module RubyEventStore
83
98
  end
84
99
 
85
100
  def add(subscription, event_types)
86
- event_types.each{ |type| @subscriptions.value[type.to_s] << subscription }
87
- ->() {event_types.each{ |type| @subscriptions.value.fetch(type.to_s).delete(subscription) } }
101
+ event_types.each{ |type| @subscriptions.value[type] << subscription }
102
+ ->() {event_types.each{ |type| @subscriptions.value.fetch(type).delete(subscription) } }
88
103
  end
89
104
 
90
105
  def all_for(event_type)
@@ -4,23 +4,23 @@ module RubyEventStore
4
4
  class TransformKeys
5
5
  class << self
6
6
  def stringify(data)
7
- transform(data) {|k| k.to_s}
7
+ deep_transform(data, &:to_s)
8
8
  end
9
9
 
10
10
  def symbolize(data)
11
- transform(data) {|k| k.to_sym}
11
+ deep_transform(data, &:to_sym)
12
12
  end
13
13
 
14
14
  private
15
15
 
16
- def transform(data, &block)
16
+ def deep_transform(data, &block)
17
17
  data.each_with_object({}) do |(k, v), h|
18
18
  h[yield(k)] =
19
19
  case v
20
20
  when Hash
21
- transform(v, &block)
21
+ deep_transform(v, &block)
22
22
  when Array
23
- v.map{|i| Hash === i ? transform(i, &block) : i}
23
+ v.map{|i| Hash === i ? deep_transform(i, &block) : i}
24
24
  else
25
25
  v
26
26
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module RubyEventStore
4
- VERSION = "2.0.0"
4
+ VERSION = "2.3.0"
5
5
  end
@@ -1,46 +1,45 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'ruby_event_store/dispatcher'
4
- require 'ruby_event_store/subscriptions'
5
- require 'ruby_event_store/broker'
6
- require 'ruby_event_store/in_memory_repository'
7
- require 'ruby_event_store/projection'
8
- require 'ruby_event_store/errors'
9
- require 'ruby_event_store/constants'
10
- require 'ruby_event_store/client'
11
- require 'ruby_event_store/metadata'
12
- require 'ruby_event_store/specification'
13
- require 'ruby_event_store/specification_result'
14
- require 'ruby_event_store/specification_reader'
15
- require 'ruby_event_store/event'
16
- require 'ruby_event_store/stream'
17
- require 'ruby_event_store/expected_version'
18
- require 'ruby_event_store/record'
19
- require 'ruby_event_store/serialized_record'
20
- require 'ruby_event_store/null'
21
- require 'ruby_event_store/transform_keys'
22
- require 'ruby_event_store/mappers/encryption_key'
23
- require 'ruby_event_store/mappers/in_memory_encryption_key_repository'
24
- require 'ruby_event_store/mappers/transformation/domain_event'
25
- require 'ruby_event_store/mappers/transformation/encryption'
26
- require 'ruby_event_store/mappers/transformation/event_class_remapper'
27
- require 'ruby_event_store/mappers/transformation/stringify_metadata_keys'
28
- require 'ruby_event_store/mappers/transformation/symbolize_metadata_keys'
29
- require 'ruby_event_store/mappers/transformation/serialization'
30
- require 'ruby_event_store/mappers/pipeline'
31
- require 'ruby_event_store/mappers/pipeline_mapper'
32
- require 'ruby_event_store/mappers/deprecated_wrapper'
33
- require 'ruby_event_store/mappers/default'
34
- require 'ruby_event_store/mappers/forgotten_data'
35
- require 'ruby_event_store/mappers/encryption_mapper'
36
- require 'ruby_event_store/mappers/instrumented_mapper'
37
- require 'ruby_event_store/mappers/json_mapper'
38
- require 'ruby_event_store/mappers/null_mapper'
39
- require 'ruby_event_store/batch_enumerator'
40
- require 'ruby_event_store/correlated_commands'
41
- require 'ruby_event_store/link_by_metadata'
42
- require 'ruby_event_store/immediate_async_dispatcher'
43
- require 'ruby_event_store/composed_dispatcher'
44
- require 'ruby_event_store/version'
45
- require 'ruby_event_store/instrumented_repository'
46
- require 'ruby_event_store/instrumented_dispatcher'
3
+ require_relative "ruby_event_store/dispatcher"
4
+ require_relative "ruby_event_store/subscriptions"
5
+ require_relative "ruby_event_store/broker"
6
+ require_relative "ruby_event_store/in_memory_repository"
7
+ require_relative "ruby_event_store/projection"
8
+ require_relative "ruby_event_store/errors"
9
+ require_relative "ruby_event_store/constants"
10
+ require_relative "ruby_event_store/client"
11
+ require_relative "ruby_event_store/metadata"
12
+ require_relative "ruby_event_store/specification"
13
+ require_relative "ruby_event_store/specification_result"
14
+ require_relative "ruby_event_store/specification_reader"
15
+ require_relative "ruby_event_store/event"
16
+ require_relative "ruby_event_store/stream"
17
+ require_relative "ruby_event_store/expected_version"
18
+ require_relative "ruby_event_store/record"
19
+ require_relative "ruby_event_store/serialized_record"
20
+ require_relative "ruby_event_store/null"
21
+ require_relative "ruby_event_store/transform_keys"
22
+ require_relative "ruby_event_store/mappers/encryption_key"
23
+ require_relative "ruby_event_store/mappers/in_memory_encryption_key_repository"
24
+ require_relative "ruby_event_store/mappers/transformation/domain_event"
25
+ require_relative "ruby_event_store/mappers/transformation/encryption"
26
+ require_relative "ruby_event_store/mappers/transformation/event_class_remapper"
27
+ require_relative "ruby_event_store/mappers/transformation/upcast"
28
+ require_relative "ruby_event_store/mappers/transformation/stringify_metadata_keys"
29
+ require_relative "ruby_event_store/mappers/transformation/symbolize_metadata_keys"
30
+ require_relative "ruby_event_store/mappers/pipeline"
31
+ require_relative "ruby_event_store/mappers/pipeline_mapper"
32
+ require_relative "ruby_event_store/mappers/default"
33
+ require_relative "ruby_event_store/mappers/forgotten_data"
34
+ require_relative "ruby_event_store/mappers/encryption_mapper"
35
+ require_relative "ruby_event_store/mappers/instrumented_mapper"
36
+ require_relative "ruby_event_store/mappers/json_mapper"
37
+ require_relative "ruby_event_store/mappers/null_mapper"
38
+ require_relative "ruby_event_store/batch_enumerator"
39
+ require_relative "ruby_event_store/correlated_commands"
40
+ require_relative "ruby_event_store/link_by_metadata"
41
+ require_relative "ruby_event_store/immediate_async_dispatcher"
42
+ require_relative "ruby_event_store/composed_dispatcher"
43
+ require_relative "ruby_event_store/version"
44
+ require_relative "ruby_event_store/instrumented_repository"
45
+ require_relative "ruby_event_store/instrumented_dispatcher"
metadata CHANGED
@@ -1,15 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby_event_store
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.0
4
+ version: 2.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Arkency
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-12-30 00:00:00.000000000 Z
11
+ date: 2021-09-09 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: ruby2_keywords
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
13
27
  - !ruby/object:Gem::Dependency
14
28
  name: concurrent-ruby
15
29
  requirement: !ruby/object:Gem::Requirement
@@ -30,18 +44,15 @@ dependencies:
30
44
  - - ">="
31
45
  - !ruby/object:Gem::Version
32
46
  version: 1.1.6
33
- description: Implementation of Event Store in Ruby
34
- email:
35
- - dev@arkency.com
47
+ description: |
48
+ Ruby implementation of an event store. Ships with in-memory event repository, generic instrumentation
49
+ and dispatches events synchronously.
50
+ email: dev@arkency.com
36
51
  executables: []
37
52
  extensions: []
38
- extra_rdoc_files: []
53
+ extra_rdoc_files:
54
+ - README.md
39
55
  files:
40
- - ".mutant.yml"
41
- - CHANGELOG.md
42
- - Gemfile
43
- - Gemfile.lock
44
- - Makefile
45
56
  - README.md
46
57
  - lib/ruby_event_store.rb
47
58
  - lib/ruby_event_store/batch_enumerator.rb
@@ -60,7 +71,6 @@ files:
60
71
  - lib/ruby_event_store/instrumented_repository.rb
61
72
  - lib/ruby_event_store/link_by_metadata.rb
62
73
  - lib/ruby_event_store/mappers/default.rb
63
- - lib/ruby_event_store/mappers/deprecated_wrapper.rb
64
74
  - lib/ruby_event_store/mappers/encryption_key.rb
65
75
  - lib/ruby_event_store/mappers/encryption_mapper.rb
66
76
  - lib/ruby_event_store/mappers/forgotten_data.rb
@@ -73,9 +83,9 @@ files:
73
83
  - lib/ruby_event_store/mappers/transformation/domain_event.rb
74
84
  - lib/ruby_event_store/mappers/transformation/encryption.rb
75
85
  - lib/ruby_event_store/mappers/transformation/event_class_remapper.rb
76
- - lib/ruby_event_store/mappers/transformation/serialization.rb
77
86
  - lib/ruby_event_store/mappers/transformation/stringify_metadata_keys.rb
78
87
  - lib/ruby_event_store/mappers/transformation/symbolize_metadata_keys.rb
88
+ - lib/ruby_event_store/mappers/transformation/upcast.rb
79
89
  - lib/ruby_event_store/metadata.rb
80
90
  - lib/ruby_event_store/null.rb
81
91
  - lib/ruby_event_store/projection.rb
@@ -95,12 +105,11 @@ files:
95
105
  - lib/ruby_event_store/subscriptions.rb
96
106
  - lib/ruby_event_store/transform_keys.rb
97
107
  - lib/ruby_event_store/version.rb
98
- - ruby_event_store.gemspec
99
108
  homepage: https://railseventstore.org
100
109
  licenses:
101
110
  - MIT
102
111
  metadata:
103
- homepage_uri: https://railseventstore.org/
112
+ homepage_uri: https://railseventstore.org
104
113
  changelog_uri: https://github.com/RailsEventStore/rails_event_store/releases
105
114
  source_code_uri: https://github.com/RailsEventStore/rails_event_store
106
115
  bug_tracker_uri: https://github.com/RailsEventStore/rails_event_store/issues
@@ -112,7 +121,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
112
121
  requirements:
113
122
  - - ">="
114
123
  - !ruby/object:Gem::Version
115
- version: '0'
124
+ version: '2.6'
116
125
  required_rubygems_version: !ruby/object:Gem::Requirement
117
126
  requirements:
118
127
  - - ">="
@@ -122,5 +131,5 @@ requirements: []
122
131
  rubygems_version: 3.1.4
123
132
  signing_key:
124
133
  specification_version: 4
125
- summary: Event Store in Ruby
134
+ summary: Implementation of an event store in Ruby
126
135
  test_files: []
data/.mutant.yml DELETED
@@ -1 +0,0 @@
1
- ../.mutant.yml