rails_event_store_active_record 0.40.1 → 0.41.0

Sign up to get free protection for your applications and to get access to all the features.
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