rails_event_store_active_record 0.40.1 → 0.41.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
  SHA256:
3
- metadata.gz: 73422a819339db6a95487656fbc344babaeba3fd9d4daa1f868c4b4e0e6b352a
4
- data.tar.gz: fc73a85521286529924aeff79cc69c65d0e48f671d2887bb55aff13269661c3b
3
+ metadata.gz: '03784db0e91a086929498ea7b87d84e6c7ffd6dc2f27e645fbc325fdb131e319'
4
+ data.tar.gz: 07c85cd688ad7fc39d96c8044e5742cfec5b489f10ec96ce817c069dd7e85dd3
5
5
  SHA512:
6
- metadata.gz: 0354a384e179f094d571527b0d145b008bf4dc6c5c92b0202cd5b941b968eeed7c6977ebe35a9df6b54aad52d81cd071cf5568a6025c576473c01c1db2101a15
7
- data.tar.gz: eb6b3d5e37c6dc25d59f7149c677e302e370a713bdfd5b8b970d3c76f3547eed782e23cb1c21a82c6012ea9ef4999a29261cffdf87819d65f2de0e304fedd788
6
+ metadata.gz: 6fff7153e17fff577041c739e5eecaf2beb2650ff16afbfab762ffecf1618392fb8981c69b619917466995b9b3c743647afbc14d5d8d888da1fcda2a723f759a
7
+ data.tar.gz: 30c5ae620744bc878bd87c2621a20a49826894a40d2652da610fa32bfe5424b67214f691fdbfdb0aa0e11897427c5a988bd67a4301dfd795bb2a3f9e1eef4851
data/Gemfile CHANGED
@@ -5,9 +5,14 @@ gemspec
5
5
  eval_gemfile File.expand_path('../support/bundler/Gemfile.shared', __dir__)
6
6
 
7
7
  gem 'ruby_event_store', path: '../ruby_event_store'
8
- gem 'sqlite3', '1.3.13'
9
8
  gem 'pg', '0.21'
10
9
  gem 'mysql2', '0.4.10'
11
10
  gem 'fakefs', '~> 0.11.2'
12
11
  gem 'childprocess'
13
- gem 'rails', ENV['RAILS_VERSION']
12
+ gem 'rails', ENV['RAILS_VERSION']
13
+
14
+ if Gem::Version.new(ENV['RAILS_VERSION']) >= Gem::Version.new('6.0.0.rc1')
15
+ gem 'sqlite3', '1.4.1'
16
+ else
17
+ gem 'sqlite3', '1.3.13'
18
+ end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'rails_event_store_active_record/generators/migration_generator'
2
4
  require 'rails_event_store_active_record/generators/index_by_event_type_generator'
3
5
  require 'rails_event_store_active_record/generators/limit_for_event_id_generator'
@@ -5,7 +7,6 @@ require 'rails_event_store_active_record/generators/binary_data_and_metadata_gen
5
7
  require 'rails_event_store_active_record/event'
6
8
  require 'rails_event_store_active_record/event_repository'
7
9
  require 'rails_event_store_active_record/event_repository_reader'
8
- require 'rails_event_store_active_record/correct_schema_verifier'
9
10
  require 'rails_event_store_active_record/index_violation_detector'
10
11
  require 'rails_event_store_active_record/pg_linearized_event_repository'
11
12
  require 'rails_event_store_active_record/version'
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'active_record'
2
4
 
3
5
  module RailsEventStoreActiveRecord
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'activerecord-import'
2
4
 
3
5
  module RailsEventStoreActiveRecord
@@ -6,7 +8,6 @@ module RailsEventStoreActiveRecord
6
8
  SERIALIZED_GLOBAL_STREAM_NAME = "all".freeze
7
9
 
8
10
  def initialize
9
- verify_correct_schema_present
10
11
  @repo_reader = EventRepositoryReader.new
11
12
  end
12
13
 
@@ -122,10 +123,6 @@ module RailsEventStoreActiveRecord
122
123
  )
123
124
  end
124
125
 
125
- def verify_correct_schema_present
126
- CorrectSchemaVerifier.new.verify
127
- end
128
-
129
126
  # Overwritten in a sub-class
130
127
  def fill_ids(_in_stream)
131
128
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module RailsEventStoreActiveRecord
2
4
  class EventRepositoryReader
3
5
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  begin
2
4
  require 'rails/generators'
3
5
  rescue LoadError
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  begin
2
4
  require 'rails/generators'
3
5
  rescue LoadError
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  begin
2
4
  require 'rails/generators'
3
5
  rescue LoadError
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  begin
2
4
  require 'rails/generators'
3
5
  rescue LoadError
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  class BinaryDataAndMetadata < ActiveRecord::Migration<%= migration_version %>
2
4
  def change
3
5
  rails_42 = Gem::Version.new(ActiveRecord::VERSION::STRING) < Gem::Version.new("5.0.0")
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  class CreateEventStoreEvents < ActiveRecord::Migration<%= migration_version %>
2
4
  def change
3
5
  postgres = ActiveRecord::Base.connection.adapter_name == "PostgreSQL"
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  class IndexByEventType < ActiveRecord::Migration<%= migration_version %>
2
4
  def change
3
5
  add_index :event_store_events, :event_type unless index_exists? :event_store_events, :event_type
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  class LimitForEventId < ActiveRecord::Migration<%= migration_version %>
2
4
  def change
3
5
  postgres = ActiveRecord::Base.connection.adapter_name == "PostgreSQL"
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module RailsEventStoreActiveRecord
2
4
  class IndexViolationDetector
3
5
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'activerecord-import'
2
4
 
3
5
  module RailsEventStoreActiveRecord
@@ -5,10 +7,10 @@ module RailsEventStoreActiveRecord
5
7
 
6
8
  def start_transaction(&proc)
7
9
  ActiveRecord::Base.transaction(requires_new: true) do
8
- ActiveRecord::Base.
9
- connection.
10
- execute("SELECT pg_advisory_xact_lock(1845240511599988039) as l").
11
- each{}
10
+ ActiveRecord::Base
11
+ .connection
12
+ .execute("SELECT pg_advisory_xact_lock(1845240511599988039) as l")
13
+ .each{}
12
14
 
13
15
  proc.call
14
16
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module RailsEventStoreActiveRecord
2
- VERSION = "0.40.1"
4
+ VERSION = "0.41.0"
3
5
  end
@@ -25,8 +25,8 @@ Gem::Specification.new do |spec|
25
25
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
26
26
  spec.require_paths = ['lib']
27
27
 
28
- spec.add_dependency 'ruby_event_store', '= 0.40.1'
28
+ spec.add_dependency 'ruby_event_store', '= 0.41.0'
29
29
  spec.add_dependency 'activesupport', '>= 3.0'
30
30
  spec.add_dependency 'activemodel', '>= 3.0'
31
- spec.add_dependency 'activerecord-import', '~> 0.26'
31
+ spec.add_dependency 'activerecord-import', '>= 1.0.2'
32
32
  end
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: 0.40.1
4
+ version: 0.41.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Arkency
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-06-27 00:00:00.000000000 Z
11
+ date: 2019-07-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: ruby_event_store
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - '='
18
18
  - !ruby/object:Gem::Version
19
- version: 0.40.1
19
+ version: 0.41.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: 0.40.1
26
+ version: 0.41.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: activesupport
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -56,16 +56,16 @@ dependencies:
56
56
  name: activerecord-import
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - "~>"
59
+ - - ">="
60
60
  - !ruby/object:Gem::Version
61
- version: '0.26'
61
+ version: 1.0.2
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - "~>"
66
+ - - ">="
67
67
  - !ruby/object:Gem::Version
68
- version: '0.26'
68
+ version: 1.0.2
69
69
  description: Implementation of events repository based on Rails Active Record for
70
70
  Rails Event Store
71
71
  email:
@@ -81,7 +81,6 @@ files:
81
81
  - bin/console
82
82
  - bin/setup
83
83
  - lib/rails_event_store_active_record.rb
84
- - lib/rails_event_store_active_record/correct_schema_verifier.rb
85
84
  - lib/rails_event_store_active_record/event.rb
86
85
  - lib/rails_event_store_active_record/event_repository.rb
87
86
  - lib/rails_event_store_active_record/event_repository_reader.rb
@@ -120,7 +119,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
120
119
  - !ruby/object:Gem::Version
121
120
  version: '0'
122
121
  requirements: []
123
- rubygems_version: 3.0.3
122
+ rubyforge_project:
123
+ rubygems_version: 2.7.6.2
124
124
  signing_key:
125
125
  specification_version: 4
126
126
  summary: Active Record events repository for Rails Event Store
@@ -1,78 +0,0 @@
1
- module RailsEventStoreActiveRecord
2
-
3
- class EventRepository
4
- InvalidDatabaseSchema = Class.new(StandardError)
5
- end
6
-
7
- class CorrectSchemaVerifier
8
- def verify
9
- with_connection do
10
- return if no_tables_yet? || correct_schema?
11
- raise_invalid_db_schema
12
- end
13
- end
14
-
15
- private
16
-
17
- def with_connection(&block)
18
- return unless connected?
19
- block.call
20
- end
21
-
22
- def connected?
23
- ActiveRecord::Base.connected?
24
- end
25
-
26
- def correct_schema?
27
- correct_events_schema? && correct_streams_schema?
28
- end
29
-
30
- def correct_events_schema?
31
- table_exists?(:event_store_events) &&
32
- event_store_events_columns.eql?(current_columns(:event_store_events))
33
- end
34
-
35
- def correct_streams_schema?
36
- table_exists?(:event_store_events_in_streams) &&
37
- event_store_events_in_streams_columns.eql?(current_columns(:event_store_events_in_streams))
38
- end
39
-
40
- def table_exists?(table_name)
41
- ActiveRecord::Base.connection.table_exists?(table_name)
42
- end
43
-
44
- def raise_invalid_db_schema
45
- raise EventRepository::InvalidDatabaseSchema.new(incorrect_schema_message)
46
- end
47
-
48
- def no_tables_yet?
49
- !table_exists?('event_store_events') &&
50
- !table_exists?('event_store_events_in_streams')
51
- end
52
-
53
- def event_store_events_columns
54
- %w(id event_type metadata data created_at)
55
- end
56
-
57
- def event_store_events_in_streams_columns
58
- %w(id stream position event_id created_at)
59
- end
60
-
61
- def current_columns(table_name)
62
- ActiveRecord::Base.connection.columns(table_name).map(&:name)
63
- end
64
-
65
- def incorrect_schema_message
66
- <<-MESSAGE
67
- Oh no!
68
-
69
- It seems you're using RailsEventStoreActiveRecord::EventRepository
70
- with incompatible database schema.
71
-
72
- See release notes how to migrate to current database schema.
73
- MESSAGE
74
- end
75
- end
76
-
77
- private_constant(:CorrectSchemaVerifier)
78
- end