rails_event_store_active_record 2.0.0 → 2.3.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.
Files changed (32) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +4 -2
  3. data/lib/rails_event_store_active_record/event.rb +3 -3
  4. data/lib/rails_event_store_active_record/event_repository.rb +13 -13
  5. data/lib/rails_event_store_active_record/event_repository_reader.rb +41 -10
  6. data/lib/rails_event_store_active_record/generators/migration_generator.rb +5 -10
  7. data/lib/rails_event_store_active_record/generators/templates/create_event_store_events_template.rb +30 -26
  8. data/lib/rails_event_store_active_record/pg_linearized_event_repository.rb +1 -1
  9. data/lib/rails_event_store_active_record/version.rb +1 -1
  10. data/lib/rails_event_store_active_record/with_abstract_base_class.rb +2 -2
  11. data/lib/rails_event_store_active_record.rb +10 -13
  12. metadata +19 -49
  13. data/.mutant.yml +0 -1
  14. data/CHANGELOG.md +0 -75
  15. data/Gemfile +0 -13
  16. data/Gemfile.lock +0 -245
  17. data/Gemfile.rails_5_0 +0 -13
  18. data/Gemfile.rails_5_0.lock +0 -217
  19. data/Gemfile.rails_5_1 +0 -13
  20. data/Gemfile.rails_5_1.lock +0 -217
  21. data/Gemfile.rails_5_2 +0 -13
  22. data/Gemfile.rails_5_2.lock +0 -225
  23. data/Gemfile.rails_6_0 +0 -13
  24. data/Gemfile.rails_6_0.lock +0 -241
  25. data/Makefile +0 -21
  26. data/lib/rails_event_store_active_record/generators/add_valid_at_generator.rb +0 -31
  27. data/lib/rails_event_store_active_record/generators/created_at_precision_generator.rb +0 -31
  28. data/lib/rails_event_store_active_record/generators/no_global_stream_entries_generator.rb +0 -29
  29. data/lib/rails_event_store_active_record/generators/templates/add_valid_at_template.rb +0 -14
  30. data/lib/rails_event_store_active_record/generators/templates/created_at_precision_template.rb +0 -45
  31. data/lib/rails_event_store_active_record/generators/templates/no_global_stream_entries_template.rb +0 -59
  32. data/rails_event_store_active_record.gemspec +0 -30
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1180031ce1ab5bdb3d3168d7864853b4c223b4018d272b9976eabdaf597f1f95
4
- data.tar.gz: f6788c7baec9ab5b36110bfebbb1248d48e7db920c77dfdd166b24b9ac565b5f
3
+ metadata.gz: 47f9fb4041eeafab89312eabfbf9cada70da41480032fef06dcf3311f0e35d56
4
+ data.tar.gz: 79e021816506f4e49ff72e6f66f66820c9d588a30d1f3f8736d29cc478400340
5
5
  SHA512:
6
- metadata.gz: 44369db992b76de8adfa6bfc092895927dd58c0c3a611f1b9f425364b06cbbfbd52f095fb7a740175e14ffd3bf2fd7dcc0ac10cc25ff5594c45933d9c6b37f43
7
- data.tar.gz: 685a3d450effc7893d1f765af0d7dddcabc998bed05e3280d1c77bbb548696c173520de075dde9c13f87fc4979c4f78a3076677493a4a2ceeaf85799d7dc18a2
6
+ metadata.gz: cfc072dd9e99031459dcc037cece006477f08c8b5ec014b592f579b3de403e57b7224a68691548b6e2e1b1d0d735aba841cb7a969f0d22916b8165360f4d64df
7
+ data.tar.gz: 440e6a1a06e37a05ec12590de43be4445314c8244d480f8a8a2ad261e5adcce05e5aa2115a9001011fcb063779ab6a74ff4e518dc0a463812bebe0eea67c50ff
data/README.md CHANGED
@@ -1,5 +1,7 @@
1
1
  # RailsEventStoreActiveRecord
2
2
 
3
- An Active Record based implementation of events repository for [Rails Event Store](https://github.com/RailsEventStore/rails_event_store).
3
+ Persistent event repository implementation for RubyEventStore based on ActiveRecord. Ships with database schema and migrations suitable for PostgreSQL, MySQL ans SQLite database engines.
4
4
 
5
- This is the default repository used in `rails_event_store` gem.
5
+ Includes repository implementation with linearized writes to achieve log-like properties of streams on top of SQL database engine.
6
+
7
+ Find out more at [https://railseventstore.org](https://railseventstore.org/)
@@ -1,16 +1,16 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'active_record'
3
+ require "active_record"
4
4
 
5
5
  module RailsEventStoreActiveRecord
6
6
  class Event < ::ActiveRecord::Base
7
7
  self.primary_key = :id
8
- self.table_name = 'event_store_events'
8
+ self.table_name = "event_store_events"
9
9
  end
10
10
 
11
11
  class EventInStream < ::ActiveRecord::Base
12
12
  self.primary_key = :id
13
- self.table_name = 'event_store_events_in_streams'
13
+ self.table_name = "event_store_events_in_streams"
14
14
  belongs_to :event, primary_key: :event_id
15
15
  end
16
16
  end
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'active_support/core_ext/array'
4
- require 'activerecord-import'
3
+ require "active_support/core_ext/array"
4
+ require "activerecord-import"
5
5
 
6
6
  module RailsEventStoreActiveRecord
7
7
  class EventRepository
@@ -18,7 +18,7 @@ module RailsEventStoreActiveRecord
18
18
  def append_to_stream(records, stream, expected_version)
19
19
  hashes = []
20
20
  event_ids = []
21
- Array(records).each do |record|
21
+ records.each do |record|
22
22
  hashes << import_hash(record, record.serialize(serializer))
23
23
  event_ids << record.event_id
24
24
  end
@@ -28,7 +28,6 @@ module RailsEventStoreActiveRecord
28
28
  end
29
29
 
30
30
  def link_to_stream(event_ids, stream, expected_version)
31
- event_ids = Array(event_ids)
32
31
  (event_ids - @event_klass.where(event_id: event_ids).pluck(:event_id)).each do |id|
33
32
  raise RubyEventStore::EventNotFound.new(id)
34
33
  end
@@ -56,7 +55,7 @@ module RailsEventStoreActiveRecord
56
55
  end
57
56
 
58
57
  def update_messages(records)
59
- hashes = Array(records).map{|record| import_hash(record, record.serialize(serializer)) }
58
+ hashes = records.map { |record| import_hash(record, record.serialize(serializer)) }
60
59
  for_update = records.map(&:event_id)
61
60
  start_transaction do
62
61
  existing = @event_klass.where(event_id: for_update).pluck(:event_id, :id).to_h
@@ -67,9 +66,15 @@ module RailsEventStoreActiveRecord
67
66
  end
68
67
 
69
68
  def streams_of(event_id)
70
- @stream_klass.where(event_id: event_id)
71
- .pluck(:stream)
72
- .map{|name| RubyEventStore::Stream.new(name)}
69
+ @repo_reader.streams_of(event_id)
70
+ end
71
+
72
+ def position_in_stream(event_id, stream)
73
+ @repo_reader.position_in_stream(event_id, stream)
74
+ end
75
+
76
+ def global_position(event_id)
77
+ @repo_reader.global_position(event_id)
73
78
  end
74
79
 
75
80
  private
@@ -88,7 +93,6 @@ module RailsEventStoreActiveRecord
88
93
  event_id: event_id,
89
94
  }
90
95
  end
91
- fill_ids(in_stream)
92
96
  @stream_klass.import(in_stream) unless stream.global?
93
97
  end
94
98
  self
@@ -128,10 +132,6 @@ module RailsEventStoreActiveRecord
128
132
  valid_at unless valid_at.eql?(created_at)
129
133
  end
130
134
 
131
- # Overwritten in a sub-class
132
- def fill_ids(_in_stream)
133
- end
134
-
135
135
  def start_transaction(&block)
136
136
  @event_klass.transaction(requires_new: true, &block)
137
137
  end
@@ -14,20 +14,14 @@ module RailsEventStoreActiveRecord
14
14
  end
15
15
 
16
16
  def last_stream_event(stream)
17
- record_ = @stream_klass.where(stream: stream.name).order('position DESC, id DESC').first
17
+ record_ = @stream_klass.where(stream: stream.name).order("position DESC, id DESC").first
18
18
  record(record_) if record_
19
19
  end
20
20
 
21
21
  def read(spec)
22
22
  stream = read_scope(spec)
23
-
24
23
  if spec.batched?
25
- batch_reader = ->(offset_id, limit) do
26
- search_in = spec.stream.global? ? @event_klass.table_name : @stream_klass.table_name
27
- records = offset_id.nil? ? stream.limit(limit) : stream.where(start_offset_condition(spec, offset_id, search_in)).limit(limit)
28
- [records.map(&method(:record)), records.last]
29
- end
30
- BatchEnumerator.new(spec.batch_size, spec.limit, batch_reader).each
24
+ spec.time_sort_by ? offset_limit_batch_reader(spec, stream) : monotonic_id_batch_reader(spec, stream)
31
25
  elsif spec.first?
32
26
  record_ = stream.first
33
27
  record(record_) if record_
@@ -43,9 +37,46 @@ module RailsEventStoreActiveRecord
43
37
  read_scope(spec).count
44
38
  end
45
39
 
40
+ def streams_of(event_id)
41
+ @stream_klass.where(event_id: event_id)
42
+ .pluck(:stream)
43
+ .map { |name| RubyEventStore::Stream.new(name) }
44
+ end
45
+
46
+ def position_in_stream(event_id, stream)
47
+ record = @stream_klass.select("position").where(stream: stream.name).find_by(event_id: event_id)
48
+ raise RubyEventStore::EventNotFoundInStream if record.nil?
49
+ record.position
50
+ end
51
+
52
+ def global_position(event_id)
53
+ record = @event_klass.select("id").find_by(event_id: event_id)
54
+ raise RubyEventStore::EventNotFound.new(event_id) if record.nil?
55
+ record.id - 1
56
+ end
57
+
46
58
  private
47
59
  attr_reader :serializer
48
60
 
61
+ def offset_limit_batch_reader(spec, stream)
62
+ batch_reader = ->(offset, limit) do
63
+ stream
64
+ .offset(offset)
65
+ .limit(limit)
66
+ .map(&method(:record))
67
+ end
68
+ RubyEventStore::BatchEnumerator.new(spec.batch_size, spec.limit, batch_reader).each
69
+ end
70
+
71
+ def monotonic_id_batch_reader(spec, stream)
72
+ batch_reader = ->(offset_id, limit) do
73
+ search_in = spec.stream.global? ? @event_klass.table_name : @stream_klass.table_name
74
+ records = offset_id.nil? ? stream.limit(limit) : stream.where(start_offset_condition(spec, offset_id, search_in)).limit(limit)
75
+ [records.map(&method(:record)), records.last]
76
+ end
77
+ BatchEnumerator.new(spec.batch_size, spec.limit, batch_reader).each
78
+ end
79
+
49
80
  def read_scope(spec)
50
81
  if spec.stream.global?
51
82
  stream = @event_klass
@@ -65,7 +96,7 @@ module RailsEventStoreActiveRecord
65
96
  stream = stream.where(event_id: spec.with_ids) if spec.with_ids?
66
97
  stream = stream.where(@event_klass.table_name => {event_type: spec.with_types}) if spec.with_types?
67
98
  stream = ordered(stream.joins(:event), spec)
68
- stream = stream.order(position: order(spec), id: order(spec))
99
+ stream = stream.order(id: order(spec))
69
100
  stream = stream.limit(spec.limit) if spec.limit?
70
101
  stream = stream.where(start_condition(spec)) if spec.start
71
102
  stream = stream.where(stop_condition(spec)) if spec.stop
@@ -139,7 +170,7 @@ module RailsEventStoreActiveRecord
139
170
  end
140
171
 
141
172
  def order(spec)
142
- spec.forward? ? 'ASC' : 'DESC'
173
+ spec.forward? ? "ASC" : "DESC"
143
174
  end
144
175
 
145
176
  def record(record)
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  begin
4
- require 'rails/generators'
4
+ require "rails/generators"
5
5
  rescue LoadError
6
6
  end
7
7
 
@@ -11,12 +11,12 @@ module RailsEventStoreActiveRecord
11
11
 
12
12
  DATA_TYPES = %w(binary json jsonb).freeze
13
13
 
14
- source_root File.expand_path(File.join(File.dirname(__FILE__), '../generators/templates'))
14
+ source_root File.expand_path(File.join(File.dirname(__FILE__), "../generators/templates"))
15
15
  class_option(
16
16
  :data_type,
17
17
  type: :string,
18
- default: 'binary',
19
- desc: "Configure the data type for `data` and `meta data` feilds in Postgres migration (options: #{DATA_TYPES.join('/')})"
18
+ default: "binary",
19
+ desc: "Configure the data type for `data` and `meta data` fields in Postgres migration (options: #{DATA_TYPES.join('/')})"
20
20
  )
21
21
 
22
22
  def initialize(*args)
@@ -34,15 +34,10 @@ module RailsEventStoreActiveRecord
34
34
  private
35
35
 
36
36
  def data_type
37
- options.fetch('data_type')
38
- end
39
-
40
- def rails_version
41
- Rails::VERSION::STRING
37
+ options.fetch("data_type")
42
38
  end
43
39
 
44
40
  def migration_version
45
- return nil if Gem::Version.new(rails_version) < Gem::Version.new("5.0.0")
46
41
  "[4.2]"
47
42
  end
48
43
 
@@ -2,38 +2,42 @@
2
2
 
3
3
  class CreateEventStoreEvents < ActiveRecord::Migration<%= migration_version %>
4
4
  def change
5
- postgres = ActiveRecord::Base.connection.adapter_name == "PostgreSQL"
6
- sqlite = ActiveRecord::Base.connection.adapter_name == "SQLite"
7
-
8
- enable_extension "pgcrypto" if postgres
9
- create_table(:event_store_events_in_streams, force: false) do |t|
10
- t.string :stream, null: false
11
- t.integer :position, null: true
12
- if postgres
13
- t.references :event, null: false, type: :uuid
14
- else
15
- t.references :event, null: false, type: :string, limit: 36
16
- end
17
- if postgres
5
+ postgres =
6
+ ActiveRecord::Base.connection.adapter_name == "PostgreSQL"
7
+ if postgres
8
+ create_table(:event_store_events_in_streams, id: :bigserial, force: false) do |t|
9
+ t.string :stream, null: false
10
+ t.integer :position, null: true
11
+ t.references :event, null: false, type: :uuid
18
12
  t.datetime :created_at, null: false
19
- else
20
- t.datetime :created_at, null: false, precision: 6
21
13
  end
22
- end
23
- add_index :event_store_events_in_streams, [:stream, :position], unique: true
24
- add_index :event_store_events_in_streams, [:created_at]
25
- add_index :event_store_events_in_streams, [:stream, :event_id], unique: true
14
+ add_index :event_store_events_in_streams, [:stream, :position], unique: true
15
+ add_index :event_store_events_in_streams, [:created_at]
16
+ add_index :event_store_events_in_streams, [:stream, :event_id], unique: true
26
17
 
27
- if postgres
28
- create_table(:event_store_events, force: false) do |t|
18
+ create_table(:event_store_events, id: :bigserial, force: false) do |t|
29
19
  t.references :event, null: false, type: :uuid
30
20
  t.string :event_type, null: false
31
21
  t.<%= data_type %> :metadata
32
- t.<%= data_type %> :data, null: false
22
+ t.<%= data_type %> :data, null: false
33
23
  t.datetime :created_at, null: false
34
24
  t.datetime :valid_at, null: true
35
25
  end
26
+ add_index :event_store_events, :event_id, unique: true
27
+ add_index :event_store_events, :created_at
28
+ add_index :event_store_events, :valid_at
29
+ add_index :event_store_events, :event_type
36
30
  else
31
+ create_table(:event_store_events_in_streams, force: false) do |t|
32
+ t.string :stream, null: false
33
+ t.integer :position, null: true
34
+ t.references :event, null: false, type: :string, limit: 36
35
+ t.datetime :created_at, null: false, precision: 6
36
+ end
37
+ add_index :event_store_events_in_streams, [:stream, :position], unique: true
38
+ add_index :event_store_events_in_streams, [:created_at]
39
+ add_index :event_store_events_in_streams, [:stream, :event_id], unique: true
40
+
37
41
  create_table(:event_store_events, force: false) do |t|
38
42
  t.references :event, null: false, type: :string, limit: 36
39
43
  t.string :event_type, null: false
@@ -42,10 +46,10 @@ class CreateEventStoreEvents < ActiveRecord::Migration<%= migration_version %>
42
46
  t.datetime :created_at, null: false, precision: 6
43
47
  t.datetime :valid_at, null: true, precision: 6
44
48
  end
49
+ add_index :event_store_events, :event_id, unique: true
50
+ add_index :event_store_events, :created_at
51
+ add_index :event_store_events, :valid_at
52
+ add_index :event_store_events, :event_type
45
53
  end
46
- add_index :event_store_events, :event_id, unique: true
47
- add_index :event_store_events, :created_at
48
- add_index :event_store_events, :valid_at
49
- add_index :event_store_events, :event_type
50
54
  end
51
55
  end
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'activerecord-import'
3
+ require "activerecord-import"
4
4
 
5
5
  module RailsEventStoreActiveRecord
6
6
  class PgLinearizedEventRepository < EventRepository
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module RailsEventStoreActiveRecord
4
- VERSION = "2.0.0"
4
+ VERSION = "2.3.0"
5
5
  end
@@ -21,7 +21,7 @@ module RailsEventStoreActiveRecord
21
21
  Object.const_set("Event_#{instance_id}",
22
22
  Class.new(@base_klass) do
23
23
  self.primary_key = :id
24
- self.table_name = 'event_store_events'
24
+ self.table_name = "event_store_events"
25
25
  end
26
26
  )
27
27
  end
@@ -30,7 +30,7 @@ module RailsEventStoreActiveRecord
30
30
  Object.const_set("EventInStream_#{instance_id}",
31
31
  Class.new(@base_klass) do
32
32
  self.primary_key = :id
33
- self.table_name = 'event_store_events_in_streams'
33
+ self.table_name = "event_store_events_in_streams"
34
34
  belongs_to :event, primary_key: :event_id, class_name: "Event_#{instance_id}"
35
35
  end
36
36
  )
@@ -1,15 +1,12 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'rails_event_store_active_record/generators/migration_generator'
4
- require 'rails_event_store_active_record/generators/add_valid_at_generator'
5
- require 'rails_event_store_active_record/generators/created_at_precision_generator'
6
- require 'rails_event_store_active_record/generators/no_global_stream_entries_generator'
7
- require 'rails_event_store_active_record/event'
8
- require 'rails_event_store_active_record/with_default_models'
9
- require 'rails_event_store_active_record/with_abstract_base_class'
10
- require 'rails_event_store_active_record/event_repository'
11
- require 'rails_event_store_active_record/batch_enumerator'
12
- require 'rails_event_store_active_record/event_repository_reader'
13
- require 'rails_event_store_active_record/index_violation_detector'
14
- require 'rails_event_store_active_record/pg_linearized_event_repository'
15
- require 'rails_event_store_active_record/version'
3
+ require_relative "rails_event_store_active_record/generators/migration_generator"
4
+ require_relative "rails_event_store_active_record/event"
5
+ require_relative "rails_event_store_active_record/with_default_models"
6
+ require_relative "rails_event_store_active_record/with_abstract_base_class"
7
+ require_relative "rails_event_store_active_record/event_repository"
8
+ require_relative "rails_event_store_active_record/batch_enumerator"
9
+ require_relative "rails_event_store_active_record/event_repository_reader"
10
+ require_relative "rails_event_store_active_record/index_violation_detector"
11
+ require_relative "rails_event_store_active_record/pg_linearized_event_repository"
12
+ require_relative "rails_event_store_active_record/version"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rails_event_store_active_record
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
13
  - !ruby/object:Gem::Dependency
14
14
  name: ruby_event_store
@@ -16,42 +16,28 @@ dependencies:
16
16
  requirements:
17
17
  - - '='
18
18
  - !ruby/object:Gem::Version
19
- version: 2.0.0
19
+ version: 2.3.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - '='
25
25
  - !ruby/object:Gem::Version
26
- version: 2.0.0
26
+ version: 2.3.0
27
27
  - !ruby/object:Gem::Dependency
28
- name: activesupport
28
+ name: activerecord
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: '3.0'
33
+ version: '5.0'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
- version: '3.0'
41
- - !ruby/object:Gem::Dependency
42
- name: activemodel
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - ">="
46
- - !ruby/object:Gem::Version
47
- version: '3.0'
48
- type: :runtime
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - ">="
53
- - !ruby/object:Gem::Version
54
- version: '3.0'
40
+ version: '5.0'
55
41
  - !ruby/object:Gem::Dependency
56
42
  name: activerecord-import
57
43
  requirement: !ruby/object:Gem::Requirement
@@ -66,52 +52,36 @@ dependencies:
66
52
  - - ">="
67
53
  - !ruby/object:Gem::Version
68
54
  version: 1.0.2
69
- description: Implementation of events repository based on Rails Active Record for
70
- Rails Event Store
71
- email:
72
- - dev@arkency.com
55
+ description: |
56
+ Persistent event repository implementation for RubyEventStore based on ActiveRecord. Ships with database schema
57
+ and migrations suitable for PostgreSQL, MySQL ans SQLite database engines.
58
+
59
+ Includes repository implementation with linearized writes to achieve log-like properties of streams
60
+ on top of SQL database engine.
61
+ email: dev@arkency.com
73
62
  executables: []
74
63
  extensions: []
75
- extra_rdoc_files: []
64
+ extra_rdoc_files:
65
+ - README.md
76
66
  files:
77
- - ".mutant.yml"
78
- - CHANGELOG.md
79
- - Gemfile
80
- - Gemfile.lock
81
- - Gemfile.rails_5_0
82
- - Gemfile.rails_5_0.lock
83
- - Gemfile.rails_5_1
84
- - Gemfile.rails_5_1.lock
85
- - Gemfile.rails_5_2
86
- - Gemfile.rails_5_2.lock
87
- - Gemfile.rails_6_0
88
- - Gemfile.rails_6_0.lock
89
- - Makefile
90
67
  - README.md
91
68
  - lib/rails_event_store_active_record.rb
92
69
  - lib/rails_event_store_active_record/batch_enumerator.rb
93
70
  - lib/rails_event_store_active_record/event.rb
94
71
  - lib/rails_event_store_active_record/event_repository.rb
95
72
  - lib/rails_event_store_active_record/event_repository_reader.rb
96
- - lib/rails_event_store_active_record/generators/add_valid_at_generator.rb
97
- - lib/rails_event_store_active_record/generators/created_at_precision_generator.rb
98
73
  - lib/rails_event_store_active_record/generators/migration_generator.rb
99
- - lib/rails_event_store_active_record/generators/no_global_stream_entries_generator.rb
100
- - lib/rails_event_store_active_record/generators/templates/add_valid_at_template.rb
101
74
  - lib/rails_event_store_active_record/generators/templates/create_event_store_events_template.rb
102
- - lib/rails_event_store_active_record/generators/templates/created_at_precision_template.rb
103
- - lib/rails_event_store_active_record/generators/templates/no_global_stream_entries_template.rb
104
75
  - lib/rails_event_store_active_record/index_violation_detector.rb
105
76
  - lib/rails_event_store_active_record/pg_linearized_event_repository.rb
106
77
  - lib/rails_event_store_active_record/version.rb
107
78
  - lib/rails_event_store_active_record/with_abstract_base_class.rb
108
79
  - lib/rails_event_store_active_record/with_default_models.rb
109
- - rails_event_store_active_record.gemspec
110
80
  homepage: https://railseventstore.org
111
81
  licenses:
112
82
  - MIT
113
83
  metadata:
114
- homepage_uri: https://railseventstore.org/
84
+ homepage_uri: https://railseventstore.org
115
85
  changelog_uri: https://github.com/RailsEventStore/rails_event_store/releases
116
86
  source_code_uri: https://github.com/RailsEventStore/rails_event_store
117
87
  bug_tracker_uri: https://github.com/RailsEventStore/rails_event_store/issues
@@ -123,7 +93,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
123
93
  requirements:
124
94
  - - ">="
125
95
  - !ruby/object:Gem::Version
126
- version: '0'
96
+ version: '2.6'
127
97
  required_rubygems_version: !ruby/object:Gem::Requirement
128
98
  requirements:
129
99
  - - ">="
@@ -133,5 +103,5 @@ requirements: []
133
103
  rubygems_version: 3.1.4
134
104
  signing_key:
135
105
  specification_version: 4
136
- summary: Active Record events repository for Rails Event Store
106
+ summary: Persistent event repository implementation for RubyEventStore based on ActiveRecord
137
107
  test_files: []