rails_event_store_active_record 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 (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: []