replica_pools 2.6.6 → 2.6.7

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: d922bbdd8ecbc6f8738bad680376d89886018b681fbfc7df10cc082ae3f475e4
4
- data.tar.gz: 7d89312f16e3e172b10b7b08c63c8a11c546782d790ef3d7492992926a8cca3f
3
+ metadata.gz: 3ea5f09fa92639eed7f9b4ca9cfd8f2d0e0ed4fb7448c0c2a9cbd85405efb890
4
+ data.tar.gz: ae4de86f30747a71de0962504a84aaed5c383b8d5b2618143256f666cc829f94
5
5
  SHA512:
6
- metadata.gz: 2dbcdf906d0dae7171c64e250b11805817595316ad6ce877214856c4b5be71594d218c16f1df99ed8c362db07a7b9981950e3f90d45e4d9238383c33cdec445f
7
- data.tar.gz: ba7f78a5e3f0e4ca562232f914c161544aa51a1a873ab74eb37af4badf905e3000c7e4bd33f984bb9bfcf66879b94c763e165e33026c07bde2ddbdda94a07c50
6
+ metadata.gz: 489ba3598de82b85a43d33b9f9b65630be4983926f084f18ee9a3fdcb5fadd963bd6870352dd7fd8bba490fd12503006b21e9578fc6ad33254ef745921efd8ca
7
+ data.tar.gz: 9d177b1e2bf10b36b0008820e8d8045853bf975d47a1b767ecb28bb77993991ec9d8b16de7ba653ecd1aede3d482317db9b52537c074372a0fcd0864d2992f86
@@ -53,22 +53,24 @@ module ReplicaPools
53
53
  # generates a unique ActiveRecord::Base subclass for a single replica
54
54
  def connection_class(pool_name, replica_name, connection_name)
55
55
  class_name = "#{pool_name.camelize}#{replica_name.camelize}"
56
- connection_config_method_name = ReplicaPools::ConnectionProxy.get_connection_config_method_name
57
- ReplicaPools.const_set(class_name, Class.new(ActiveRecord::Base) do |c|
58
- c.abstract_class = true
59
- c.define_singleton_method(connection_config_method_name) do
60
- if ActiveRecord::VERSION::MAJOR == 6
61
- configurations.configs_for(env_name: connection_name.to_s, include_replicas: true)
62
- elsif ActiveRecord::VERSION::MAJOR == 7
63
- configurations.configs_for(env_name: connection_name.to_s, include_hidden: true)
56
+
57
+ unless ReplicaPools.const_defined?(class_name)
58
+ connection_config_method_name = ReplicaPools::ConnectionProxy.get_connection_config_method_name
59
+ ReplicaPools.const_set(class_name, Class.new(ActiveRecord::Base) do |c|
60
+ c.abstract_class = true
61
+ c.define_singleton_method(connection_config_method_name) do
62
+ if ActiveRecord::VERSION::MAJOR == 6
63
+ configurations.configs_for(env_name: connection_name.to_s, include_replicas: true)
64
+ elsif ActiveRecord::VERSION::MAJOR == 7
65
+ configurations.configs_for(env_name: connection_name.to_s, include_hidden: true)
66
+ end
64
67
  end
65
- end
66
- end)
68
+ end)
69
+ end
67
70
 
68
71
  ReplicaPools.const_get(class_name).tap do |c|
69
72
  c.establish_connection(connection_name.to_sym)
70
73
  end
71
74
  end
72
-
73
75
  end
74
76
  end
@@ -1,3 +1,3 @@
1
1
  module ReplicaPools
2
- VERSION = "2.6.6"
2
+ VERSION = "2.6.7"
3
3
  end
data/spec/spec_helper.rb CHANGED
@@ -2,6 +2,8 @@ require 'rubygems'
2
2
  require 'bundler/setup'
3
3
  require 'logger'
4
4
 
5
+ ENV['MYSQL_PORT'] ||= %x(docker compose port mysql 3306)[/\d+$/]
6
+
5
7
  module Rails
6
8
  def self.env
7
9
  ActiveSupport::StringInquirer.new("test")
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: replica_pools
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.6.6
4
+ version: 2.6.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dan Drabik
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2024-01-17 00:00:00.000000000 Z
12
+ date: 2024-05-15 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activerecord
@@ -158,7 +158,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
158
158
  - !ruby/object:Gem::Version
159
159
  version: '1.2'
160
160
  requirements: []
161
- rubygems_version: 3.4.10
161
+ rubygems_version: 3.4.19
162
162
  signing_key:
163
163
  specification_version: 4
164
164
  summary: Connection proxy for ActiveRecord for leader / replica setups.