active_record_proxy_adapters 0.1.0.rc2 → 0.1.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: a84998cef36e3e7ba5c4e69909a41db4641a22aaa2b589988fe38f74abefa600
4
- data.tar.gz: e0ab2ac9b05420d952c89f7259c6d3539eadf7b44fd791bb178dc28e91066b30
3
+ metadata.gz: 6f1bd3461586c7443e358fe82092039c05dd7cba760b4e4b7660ce6ecbd928e4
4
+ data.tar.gz: a8b40dce128c9449744ef8725bc6baa446ba8f4119e64c068a3d553e74b6fd1e
5
5
  SHA512:
6
- metadata.gz: 39d6c4508378596812e6dbdf523e05ff662b279ace17f6ec0ec2db24171645374e9447fe5aff6e6a9f9f2bfb227fce4a0dddc6deebe016b2d2a1f62234f198f9
7
- data.tar.gz: 8b423c0d1464157eff63c0c161481acb2a2ba55e95f9337c4a27819c1acbfe41ccf83e7e59bdb98cea1e80419159b475060a166336251c59759d4298fe0c502f
6
+ metadata.gz: 4a50dc55929c1d7c57f5278788d23240314660eba4ceb17335ac079740265b77042a35900ab64482073fabf79cc0612a7a38de9521f0cf5676a30b6545c5811a
7
+ data.tar.gz: 35ec9da8d5d1f4703129e66fa79f2f872bf5e36e053b38ea5abb25383e11980bbb19febee7c579d4e7b9905971b99e58be15d748ca13bafa064470bd873cc138
data/CHANGELOG.md CHANGED
@@ -1,3 +1,7 @@
1
+ ## [0.1.0] - 2024-11-19
2
+
3
+ - Add PostgreSQLProxyAdapter
4
+
1
5
  ## [0.1.0.rc2] - 2024-10-28
2
6
 
3
7
  - Add PostgreSQLProxyAdapter
@@ -0,0 +1,91 @@
1
+ .build_app_base:
2
+ extends: .build_base
3
+ stage: build
4
+ variables:
5
+ DOCKERFILE: Dockerfile
6
+ DOCKER_REGISTRY: registry.git.nasdaq.com/smp/common
7
+ rules:
8
+ - changes:
9
+ - Dockerfile
10
+ - Gemfile
11
+ - active_record_proxy_adapters.gemspec
12
+ - ci/stages/build.yml
13
+ retry: 2
14
+ script:
15
+ - echo "CI_JOB_NAME=${CI_JOB_NAME}"
16
+ - SUFFIX="-rails${RAILS_VERSION}-ruby${RUBY_VERSION}"
17
+ - SUFFIX=$(echo $SUFFIX | tr -d '~> ' | tr -d '>=' | tr -d '<=' | tr -d '>' | tr -d '<' | tr -d ' ' )
18
+ - APP_IMAGE=${ENV_IMAGE_PREFIX}${SUFFIX}
19
+ - echo "APP_IMAGE=${APP_IMAGE}"
20
+ - echo "RAILS_VERSION=${RAILS_VERSION}"
21
+ - echo "RUBY_VERSION=${RUBY_VERSION}"
22
+ - buildah_build -t $APP_IMAGE --build-arg DOCKER_REGISTRY="${DOCKER_REGISTRY}" --build-arg RUBY_VERSION="${RUBY_VERSION}" --build-arg RAILS_VERSION="${RAILS_VERSION}" -f $DOCKERFILE .
23
+ - buildah push $APP_IMAGE
24
+
25
+ env-rails-7.0.x 316 / 3:
26
+ extends: .build_app_base
27
+ variables:
28
+ RAILS_VERSION: '~> 7.0.0'
29
+ RUBY_VERSION: '3.1.6'
30
+
31
+ env-rails-7.0.x 325 / 3:
32
+ extends: .build_app_base
33
+ variables:
34
+ RAILS_VERSION: '~> 7.0.0'
35
+ RUBY_VERSION: '3.2.5'
36
+
37
+ env-rails-7.0.x 335 / 3:
38
+ extends: .build_app_base
39
+ variables:
40
+ RAILS_VERSION: '~> 7.0.0'
41
+ RUBY_VERSION: '3.3.5'
42
+
43
+ env-rails-7.1.x 316 / 3:
44
+ extends: .build_app_base
45
+ variables:
46
+ RAILS_VERSION: '~> 7.1.0'
47
+ RUBY_VERSION: '3.1.6'
48
+
49
+ env-rails-7.1.x 325 / 3:
50
+ extends: .build_app_base
51
+ variables:
52
+ RAILS_VERSION: '~> 7.1.0'
53
+ RUBY_VERSION: '3.2.5'
54
+
55
+ env-rails-7.1.x 335 / 3:
56
+ extends: .build_app_base
57
+ variables:
58
+ RUBY_VERSION: '3.3.5'
59
+ RAILS_VERSION: '~> 7.1.0'
60
+
61
+ env-rails-7.2.x 316 / 3:
62
+ extends: .build_app_base
63
+ variables:
64
+ RAILS_VERSION: '~> 7.2.0'
65
+ RUBY_VERSION: '3.1.6'
66
+
67
+ env-rails-7.2.x 325 / 3:
68
+ extends: .build_app_base
69
+ variables:
70
+ RAILS_VERSION: '~> 7.2.0'
71
+ RUBY_VERSION: '3.2.5'
72
+
73
+ env-rails-7.2.x 335 / 3:
74
+ extends: .build_app_base
75
+ variables:
76
+ RAILS_VERSION: '~> 7.2.0'
77
+ RUBY_VERSION: '3.3.5'
78
+
79
+ # Rails 8.0.x does not support Ruby 3.1.6
80
+
81
+ env-rails-8.0.x 325 / 3:
82
+ extends: .build_app_base
83
+ variables:
84
+ RAILS_VERSION: '~> 8.0.0'
85
+ RUBY_VERSION: '3.2.5'
86
+
87
+ env-rails-8.0.x 335 / 3:
88
+ extends: .build_app_base
89
+ variables:
90
+ RAILS_VERSION: '~> 8.0.0'
91
+ RUBY_VERSION: '3.3.5'
@@ -0,0 +1,18 @@
1
+ export:
2
+ stage: env_vars
3
+ image: registry.git.nasdaq.com/gitlab/ci/buildah/stable:v1.30.0
4
+ artifacts:
5
+ reports:
6
+ dotenv: build.env
7
+ script:
8
+ - !reference [.checksums, functions]
9
+ - POSTGRES_PRIMARY_TAG=$(checksum postgres_primary.dockerfile)
10
+ - POSTGRES_REPLICA_TAG=$(checksum postgres_replica.dockerfile)
11
+ - DOCKERFILE_CHECKSUM=$(checksum Dockerfile)
12
+ - GEMFILE_CHECKSUM=$(checksum Gemfile)
13
+ - GEMSPEC_CHECKSUM=$(checksum active_record_proxy_adapters.gemspec)
14
+ - TAG_PREFIX=$(checksum_join $DOCKERFILE_CHECKSUM $GEMFILE_CHECKSUM $GEMSPEC_CHECKSUM)
15
+ - ENV_IMAGE_PREFIX=${CI_REGISTRY_IMAGE}/env:${TAG_PREFIX}
16
+ - echo "POSTGRES_PRIMARY_IMAGE=${CI_REGISTRY_IMAGE}/postgres_primary:${POSTGRES_PRIMARY_TAG}" >> build.env
17
+ - echo "POSTGRES_REPLICA_IMAGE=${CI_REGISTRY_IMAGE}/postgres_replica:${POSTGRES_REPLICA_TAG}" >> build.env
18
+ - echo "ENV_IMAGE_PREFIX=${ENV_IMAGE_PREFIX}" >> build.env
@@ -0,0 +1,12 @@
1
+ .lint_base:
2
+ stage: lint
3
+ image: ${ENV_IMAGE_PREFIX}-rails7.0.0-ruby3.1.6
4
+ needs:
5
+ - export
6
+ - job: env-rails-7.0.x 316 / 3
7
+ optional: true
8
+
9
+ rubocop:
10
+ extends: .lint_base
11
+ script:
12
+ - rubocop
@@ -0,0 +1,28 @@
1
+
2
+
3
+ postgres_primary:
4
+ extends: .build_base
5
+ stage: prebuild
6
+ variables:
7
+ DOCKERFILE: postgres_primary.dockerfile
8
+ REPLICA_USER: replicator
9
+ REPLICA_PASSWORD: replicator
10
+ script:
11
+ - echo "POSTGRES_PRIMARY_IMAGE=${POSTGRES_PRIMARY_IMAGE}"
12
+ - echo "DOCKERFILE=${DOCKERFILE}"
13
+ - buildah_build -t $POSTGRES_PRIMARY_IMAGE --build-arg REPLICA_USER=${REPLICA_USER} --build-arg REPLICA_PASSWORD=${REPLICA_PASSWORD} -f $DOCKERFILE .
14
+ - buildah push $POSTGRES_PRIMARY_IMAGE
15
+ rules:
16
+ - changes:
17
+ - postgres_primary.dockerfile
18
+ postgres_replica:
19
+ extends: .build_base
20
+ stage: prebuild
21
+ variables:
22
+ DOCKERFILE: postgres_replica.dockerfile
23
+ script:
24
+ - buildah_build -t $POSTGRES_REPLICA_IMAGE -f $DOCKERFILE .
25
+ - buildah push $POSTGRES_REPLICA_IMAGE
26
+ rules:
27
+ - changes:
28
+ - postgres_replica.dockerfile
@@ -0,0 +1,23 @@
1
+ push_to_rubygems:
2
+ stage: push
3
+ image: ruby:alpine
4
+ rules:
5
+ - if: $CI_PIPELINE_SOURCE == "merge_request_event"
6
+ when: manual
7
+ allow_failure: true
8
+ - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
9
+ when: never
10
+ - if: $CI_COMMIT_TAG
11
+ when: always
12
+ script: |
13
+ apk add git curl
14
+ GEM_VERSION="${CI_COMMIT_TAG:-$(grep VERSION lib/active_record_proxy_adapters/version.rb | tr -d 'VERSION=' | tr -d ' ' | tr -d '"')}"
15
+ mkdir ~/.gem
16
+ echo "---" > ~/.gem/credentials
17
+ echo "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/rubygems: '${CI_JOB_TOKEN}'" >> ~/.gem/credentials
18
+ chmod 0600 ~/.gem/credentials
19
+ echo "------------------"
20
+ echo "building gem"
21
+ gem build active_record_proxy_adapters.gemspec
22
+ echo "Uploading to rubygems"
23
+ curl --verbose --fail --user "$NEXUS_USER_ID:$NEXUS_PASSWORD" --upload-file "${CI_PROJECT_DIR}/active_record_proxy_adapters-${GEM_VERSION}.gem" "https://pro.nexus.aws.nasdaq.com/repository/smp-second-market-gems/active_record_proxy_adapters/"
@@ -0,0 +1,133 @@
1
+ .test_base:
2
+ stage: test
3
+ needs:
4
+ - export
5
+ - job: postgres_primary
6
+ optional: true
7
+ - job: postgres_replica
8
+ optional: true
9
+ services:
10
+ - name: $POSTGRES_PRIMARY_IMAGE
11
+ alias: postgres-primary
12
+ variables:
13
+ POSTGRES_DB: postgres_primary_test
14
+ POSTGRES_USER: postgres_primary_test
15
+ POSTGRES_PASSWORD: postgres_primary_test
16
+ POSTGRES_HOST_AUTH_METHOD: "scram-sha-256\nhost replication all 0.0.0.0/0 md5"
17
+ POSTGRES_INITDB_ARGS: "--auth-host=scram-sha-256"
18
+ - name: $POSTGRES_REPLICA_IMAGE
19
+ alias: postgres-replica
20
+ variables:
21
+ PGUSER: replicator
22
+ PGPASSWORD: replicator
23
+ PGPORT: 5433
24
+ PRIMARY_DATABASE_HOST: postgres-primary
25
+ variables:
26
+ PGHOST: postgres-primary
27
+ PG_PRIMARY_USER: postgres_primary_test
28
+ PG_PRIMARY_PASSWORD: postgres_primary_test
29
+ PG_PRIMARY_HOST: postgres-primary
30
+ PG_PRIMARY_PORT: 5432
31
+ PG_REPLICA_USER: postgres_primary_test
32
+ PG_REPLICA_PASSWORD: postgres_primary_test
33
+ PG_REPLICA_HOST: postgres-replica
34
+ PG_REPLICA_PORT: 5433
35
+
36
+
37
+ .rspec:
38
+ extends: .test_base
39
+ retry: 2
40
+ script:
41
+ - echo "Ruby version => $(ruby -v)"
42
+ - echo "ActiveRecord Version => $(gem list | grep activerecord)"
43
+ - rspec --format progress
44
+
45
+ rspec-rails-7.0.x 316 / 3:
46
+ extends: .rspec
47
+ needs:
48
+ - !reference [.test_base, needs]
49
+ - job: env-rails-7.0.x 316 / 3
50
+ optional: true
51
+ image: ${ENV_IMAGE_PREFIX}-rails7.0.0-ruby3.1.6
52
+
53
+ rspec-rails-7.0.x 325 / 3:
54
+ extends: .rspec
55
+ needs:
56
+ - !reference [.test_base, needs]
57
+ - job: env-rails-7.0.x 325 / 3
58
+ optional: true
59
+ image: ${ENV_IMAGE_PREFIX}-rails7.0.0-ruby3.2.5
60
+
61
+ rspec-rails-7.0.x 335 / 3:
62
+ extends: .rspec
63
+ needs:
64
+ - !reference [.test_base, needs]
65
+ - job: env-rails-7.0.x 335 / 3
66
+ optional: true
67
+ image: ${ENV_IMAGE_PREFIX}-rails7.0.0-ruby3.3.5
68
+
69
+ rspec-rails-7.1.x 316 / 3:
70
+ extends: .rspec
71
+ needs:
72
+ - !reference [.test_base, needs]
73
+ - job: env-rails-7.1.x 316 / 3
74
+ optional: true
75
+ image: ${ENV_IMAGE_PREFIX}-rails7.1.0-ruby3.1.6
76
+
77
+ rspec-rails-7.1.x 325 / 3:
78
+ extends: .rspec
79
+ needs:
80
+ - !reference [.test_base, needs]
81
+ - job: env-rails-7.1.x 325 / 3
82
+ optional: true
83
+ image: ${ENV_IMAGE_PREFIX}-rails7.1.0-ruby3.2.5
84
+
85
+ rspec-rails-7.1.x 335 / 3:
86
+ extends: .rspec
87
+ needs:
88
+ - !reference [.test_base, needs]
89
+ - job: env-rails-7.1.x 335 / 3
90
+ optional: true
91
+ image: ${ENV_IMAGE_PREFIX}-rails7.1.0-ruby3.3.5
92
+
93
+ rspec-rails-7.2.x 316 / 3:
94
+ extends: .rspec
95
+ needs:
96
+ - !reference [.test_base, needs]
97
+ - job: env-rails-7.2.x 316 / 3
98
+ optional: true
99
+ image: ${ENV_IMAGE_PREFIX}-rails7.2.0-ruby3.1.6
100
+
101
+ rspec-rails-7.2.x 325 / 3:
102
+ extends: .rspec
103
+ needs:
104
+ - !reference [.test_base, needs]
105
+ - job: env-rails-7.2.x 325 / 3
106
+ optional: true
107
+ image: ${ENV_IMAGE_PREFIX}-rails7.2.0-ruby3.2.5
108
+
109
+ rspec-rails-7.2.x 335 / 3:
110
+ extends: .rspec
111
+ needs:
112
+ - !reference [.test_base, needs]
113
+ - job: env-rails-7.2.x 335 / 3
114
+ optional: true
115
+ image: ${ENV_IMAGE_PREFIX}-rails7.2.0-ruby3.3.5
116
+
117
+ # Rails 8.0.x does not support Ruby 3.1.6
118
+
119
+ rspec-rails-8.0.x 325 / 3:
120
+ extends: .rspec
121
+ needs:
122
+ - !reference [.test_base, needs]
123
+ - job: env-rails-8.0.x 325 / 3
124
+ optional: true
125
+ image: ${ENV_IMAGE_PREFIX}-rails8.0.0-ruby3.2.5
126
+
127
+ rspec-rails-8.0.x 335 / 3:
128
+ extends: .rspec
129
+ needs:
130
+ - !reference [.test_base, needs]
131
+ - job: env-rails-8.0.x 335 / 3
132
+ optional: true
133
+ image: ${ENV_IMAGE_PREFIX}-rails8.0.0-ruby3.3.5
@@ -2,8 +2,9 @@
2
2
 
3
3
  require "active_record/tasks/postgresql_proxy_database_tasks"
4
4
  require "active_record/connection_adapters/postgresql_adapter"
5
- require "active_record_proxy_adapters/postgresql_proxy"
5
+ require "active_record_proxy_adapters/active_record_context"
6
6
  require "active_record_proxy_adapters/hijackable"
7
+ require "active_record_proxy_adapters/postgresql_proxy"
7
8
 
8
9
  module ActiveRecord
9
10
  module ConnectionAdapters
@@ -14,7 +15,11 @@ module ActiveRecord
14
15
 
15
16
  ADAPTER_NAME = "PostgreSQLProxy"
16
17
 
17
- delegate_to_proxy :execute, :exec_query, :exec_no_cache, :exec_cache
18
+ delegate_to_proxy :execute, :exec_query
19
+
20
+ unless ActiveRecordProxyAdapters::ActiveRecordContext.active_record_v8_0_or_greater?
21
+ delegate_to_proxy :exec_no_cache, :exec_cache
22
+ end
18
23
 
19
24
  def initialize(...)
20
25
  @proxy = ActiveRecordProxyAdapters::PostgreSQLProxy.new(self)
@@ -29,7 +34,7 @@ module ActiveRecord
29
34
  end
30
35
  end
31
36
 
32
- if ActiveRecordProxyAdapters::ActiveRecordContext.active_record_v7_2?
37
+ if ActiveRecordProxyAdapters::ActiveRecordContext.active_record_v7_2_or_greater?
33
38
  ActiveRecord::ConnectionAdapters.register(
34
39
  "postgresql_proxy",
35
40
  "ActiveRecord::ConnectionAdapters::PostgreSQLProxyAdapter",
@@ -4,7 +4,7 @@ module ActiveRecordProxyAdapters
4
4
  # Collection of helpers to handle common active record methods that are defined in different places in different
5
5
  # versions of rails.
6
6
  class ActiveRecordContext
7
- delegate :reading_role, :reading_role=, :writing_role, :writing_role=, to: :role_context
7
+ delegate :reading_role, :reading_role=, :writing_role, :writing_role=, to: :ActiveRecord
8
8
  delegate :legacy_connection_handling, :legacy_connection_handling=, to: :connection_handling_context
9
9
  delegate :version, to: :ActiveRecord, prefix: :active_record
10
10
 
@@ -22,45 +22,27 @@ module ActiveRecordProxyAdapters
22
22
  end
23
23
  end
24
24
 
25
- def reading_role
26
- role_context.reading_role
27
- end
28
-
29
- def writing_role
30
- role_context.writing_role
31
- end
32
-
33
25
  def connection_class_for(connection)
34
- klass = active_record_v6_1? ? connection.connection_klass : connection.connection_class
35
-
36
- klass || ActiveRecord::Base
26
+ connection.connection_class || ActiveRecord::Base
37
27
  end
38
28
 
39
29
  def connection_handling_context
40
30
  # This config option has been removed in Rails 7.1+
41
- return NullConnectionHandlingContext.new if active_record_v7_1? || active_record_v7_2?
42
-
43
- global_configuration_context
44
- end
45
-
46
- def role_context
47
- global_configuration_context
48
- end
31
+ return NullConnectionHandlingContext.new if active_record_v7_1_or_greater?
49
32
 
50
- def global_configuration_context
51
- active_record_v6_1? ? ActiveRecord::Base : ActiveRecord
33
+ ActiveRecord
52
34
  end
53
35
 
54
- def active_record_v6_1?
55
- active_record_version >= Gem::Version.new("6.1") && active_record_version < Gem::Version.new("7.0")
36
+ def active_record_v7_1_or_greater?
37
+ active_record_version >= Gem::Version.new("7.1")
56
38
  end
57
39
 
58
- def active_record_v7_1?
59
- active_record_version >= Gem::Version.new("7.1") && active_record_version < Gem::Version.new("7.2")
40
+ def active_record_v7_2_or_greater?
41
+ active_record_version >= Gem::Version.new("7.2")
60
42
  end
61
43
 
62
- def active_record_v7_2?
63
- active_record_version >= Gem::Version.new("7.2") && active_record_version < Gem::Version.new("8.0")
44
+ def active_record_v8_0_or_greater?
45
+ active_record_version >= Gem::Version.new("8.0")
64
46
  end
65
47
  end
66
48
  end
@@ -1,11 +1,14 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require "active_record_proxy_adapters/primary_replica_proxy"
4
+ require "active_record_proxy_adapters/active_record_context"
4
5
 
5
6
  module ActiveRecordProxyAdapters
6
7
  # Proxy to the original PostgreSQLAdapter, allowing the use of the ActiveRecordProxyAdapters::PrimaryReplicaProxy.
7
8
  class PostgreSQLProxy < PrimaryReplicaProxy
8
9
  # ActiveRecord::PostgreSQLAdapter methods that should be proxied.
9
- hijack_method :execute, :exec_query, :exec_no_cache, :exec_cache
10
+ hijack_method :execute, :exec_query
11
+
12
+ hijack_method :exec_no_cache, :exec_cache unless ActiveRecordContext.active_record_v8_0_or_greater?
10
13
  end
11
14
  end
@@ -29,7 +29,10 @@ module ActiveRecordProxyAdapters
29
29
 
30
30
  # Defines which methods should be hijacked from the original adapter and use the proxy
31
31
  # @param method_names [Array<Symbol>] the list of method names from the adapter
32
- def self.hijack_method(*method_names)
32
+ def self.hijack_method(*method_names) # rubocop:disable Metrics/MethodLength
33
+ @hijacked_methods ||= Set.new
34
+ @hijacked_methods += Set.new(method_names)
35
+
33
36
  method_names.each do |method_name|
34
37
  define_method(method_name) do |*args, **kwargs, &block|
35
38
  proxy_bypass_method = "#{method_name}#{UNPROXIED_METHOD_SUFFIX}"
@@ -44,6 +47,10 @@ module ActiveRecordProxyAdapters
44
47
  end
45
48
  end
46
49
 
50
+ def self.hijacked_methods
51
+ @hijacked_methods.to_a
52
+ end
53
+
47
54
  # @param primary_connection [ActiveRecord::ConnectionAdatpers::AbstractAdapter]
48
55
  def initialize(primary_connection)
49
56
  @primary_connection = primary_connection
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ActiveRecordProxyAdapters
4
- VERSION = "0.1.0.rc2"
4
+ VERSION = "0.1.0"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: active_record_proxy_adapters
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0.rc2
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matt Cruz
@@ -16,40 +16,40 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 6.1.a
19
+ version: 7.0.0
20
20
  - - "<"
21
21
  - !ruby/object:Gem::Version
22
- version: '8.0'
22
+ version: '8.1'
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
26
26
  requirements:
27
27
  - - ">="
28
28
  - !ruby/object:Gem::Version
29
- version: 6.1.a
29
+ version: 7.0.0
30
30
  - - "<"
31
31
  - !ruby/object:Gem::Version
32
- version: '8.0'
32
+ version: '8.1'
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: activesupport
35
35
  requirement: !ruby/object:Gem::Requirement
36
36
  requirements:
37
37
  - - ">="
38
38
  - !ruby/object:Gem::Version
39
- version: 6.1.a
39
+ version: 7.0.0
40
40
  - - "<"
41
41
  - !ruby/object:Gem::Version
42
- version: '8.0'
42
+ version: '8.1'
43
43
  type: :runtime
44
44
  prerelease: false
45
45
  version_requirements: !ruby/object:Gem::Requirement
46
46
  requirements:
47
47
  - - ">="
48
48
  - !ruby/object:Gem::Version
49
- version: 6.1.a
49
+ version: 7.0.0
50
50
  - - "<"
51
51
  - !ruby/object:Gem::Version
52
- version: '8.0'
52
+ version: '8.1'
53
53
  description: |-
54
54
  This gem allows automatic connection switching between a primary and one read replica database in ActiveRecord.
55
55
  It pattern matches the SQL statement being sent to decide whether it should go to the replica (SELECT) or the
@@ -68,6 +68,12 @@ files:
68
68
  - LICENSE.txt
69
69
  - README.md
70
70
  - Rakefile
71
+ - ci/stages/build.yml
72
+ - ci/stages/env_vars.yml
73
+ - ci/stages/lint.yml
74
+ - ci/stages/prebuild.yml
75
+ - ci/stages/push.yml
76
+ - ci/stages/test.yml
71
77
  - docker-compose.yml
72
78
  - lib/active_record/connection_adapters/postgresql_proxy_adapter.rb
73
79
  - lib/active_record/tasks/postgresql_proxy_database_tasks.rb
@@ -87,10 +93,10 @@ homepage: https://github.com/Nasdaq/active_record_proxy_adapters
87
93
  licenses:
88
94
  - MIT
89
95
  metadata:
90
- allowed_push_host: https://rubygems.org/
96
+ allowed_push_host: https://rubygems.org
91
97
  homepage_uri: https://github.com/Nasdaq/active_record_proxy_adapters
92
98
  source_code_uri: https://github.com/Nasdaq/active_record_proxy_adapters
93
- changelog_uri: https://github.com/Nasdaq/active_record_proxy_adapters/blob/main/CHANGELOG.md
99
+ changelog_uri: https://github.com/Nasdaq/active_record_proxy_adapters/-/blob/main/CHANGELOG.md
94
100
  post_install_message:
95
101
  rdoc_options: []
96
102
  require_paths: