replica_pools 2.5.0 → 2.6.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: 5266f3b52cb6ff8d9e54175b60ee4938a2765ac08fc5c1a09af659b8a93d61f4
4
- data.tar.gz: ad735b62e57f38f238941e579b106f744c41db7b2985d9a7044fd4fa3f738227
3
+ metadata.gz: ca5913b321778c59730e29d5845c52cec3acc626ce4940e921fb40309ef3f39b
4
+ data.tar.gz: 89cbec0176c695013e1fa3691d02d004aa05bda88ccfcaf60c1452da06d7b9ac
5
5
  SHA512:
6
- metadata.gz: a8a5292802eab9a70512d8e91b6838556614f35c43efd3d277c54b838e913168980bfbab0dedfd961ab55e4a0dc1b65f5422ee0cb3f4afddacc923d3a75b26e7
7
- data.tar.gz: 9c7e5fa395316788a77e836a82a83a1e6141df829ea573539421e95e8d4b3ade55e6588afd85990dbbc2101fc519006312c022f1ad1524e1f74dc4e25a19fa2d
6
+ metadata.gz: 6a99fc420ef83d2eee33302c0c50095a64c8c7f47c11471bc3310afb3557e22e64f6a6b4a288cd750b830c552cb9f6a3cc742e07c95ae9b1816a25f20d31b0c2
7
+ data.tar.gz: eb1e3a46c3e4bb83b5510f782f493e7490a8165bd5ea23952726d6d3e36bef7216811960254e87292a0628534ec06471aa442c56535b3a68cfaab2c9b471499a
@@ -64,8 +64,8 @@ module ReplicaPools
64
64
  end
65
65
  end
66
66
 
67
- def transaction(*args, &block)
68
- with_leader { leader.transaction(*args, &block) }
67
+ def transaction(...)
68
+ with_leader { leader.transaction(...) }
69
69
  end
70
70
 
71
71
  def next_replica!
@@ -86,9 +86,9 @@ module ReplicaPools
86
86
  # Proxies any unknown methods to leader.
87
87
  # Safe methods have been generated during `setup!`.
88
88
  # Creates a method to speed up subsequent calls.
89
- def method_missing(method, *args, &block)
90
- self.class.define_method(method) do |*args, &block|
91
- route_to(leader, method, *args, &block).tap do
89
+ def method_missing(method, *args, **kwargs, &block)
90
+ self.class.define_method(method) do |*args, **kwargs, &block|
91
+ route_to(leader, method, *args, **kwargs, &block).tap do
92
92
  if %i[insert delete update].include?(method)
93
93
  leader.retrieve_connection.clear_query_cache
94
94
  end
@@ -18,11 +18,11 @@ module ReplicaPools
18
18
  # select_all is trickier. it needs to use the leader
19
19
  # connection for cache logic, but ultimately pass its query
20
20
  # through to whatever connection is current.
21
- def select_all(*args)
21
+ def select_all(*args, **kwargs)
22
22
  relation, name, raw_binds = args
23
23
 
24
24
  if !query_cache_enabled || locked?(relation)
25
- return route_to(current, :select_all, *args)
25
+ return route_to(current, :select_all, *args, **kwargs)
26
26
  end
27
27
 
28
28
  # duplicate binds_from_relation behavior introduced in 4.2.
@@ -38,9 +38,9 @@ module ReplicaPools
38
38
  args[2] = binds
39
39
 
40
40
  if Gem::Version.new(ActiveRecord.version) < Gem::Version.new('5.1')
41
- cache_sql(sql, binds) { route_to(current, :select_all, *args) }
41
+ cache_sql(sql, binds) { route_to(current, :select_all, *args, **kwargs) }
42
42
  else
43
- cache_sql(sql, name, binds) { route_to(current, :select_all, *args) }
43
+ cache_sql(sql, name, binds) { route_to(current, :select_all, *args, **kwargs) }
44
44
  end
45
45
  end
46
46
 
@@ -1,3 +1,3 @@
1
1
  module ReplicaPools
2
- VERSION = "2.5.0"
2
+ VERSION = "2.6.0"
3
3
  end
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.5.0
4
+ version: 2.6.0
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: 2023-03-13 00:00:00.000000000 Z
12
+ date: 2023-03-23 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activerecord
@@ -151,21 +151,21 @@ required_ruby_version: !ruby/object:Gem::Requirement
151
151
  requirements:
152
152
  - - ">="
153
153
  - !ruby/object:Gem::Version
154
- version: '0'
154
+ version: 2.7.0
155
155
  required_rubygems_version: !ruby/object:Gem::Requirement
156
156
  requirements:
157
157
  - - ">="
158
158
  - !ruby/object:Gem::Version
159
159
  version: '1.2'
160
160
  requirements: []
161
- rubygems_version: 3.2.33
161
+ rubygems_version: 3.1.6
162
162
  signing_key:
163
163
  specification_version: 4
164
164
  summary: Connection proxy for ActiveRecord for leader / replica setups.
165
165
  test_files:
166
- - spec/config/test_model.rb
167
- - spec/connection_proxy_spec.rb
166
+ - spec/spec_helper.rb
168
167
  - spec/pool_spec.rb
169
- - spec/query_cache_spec.rb
170
168
  - spec/slave_pools_spec.rb
171
- - spec/spec_helper.rb
169
+ - spec/config/test_model.rb
170
+ - spec/query_cache_spec.rb
171
+ - spec/connection_proxy_spec.rb