active_record_shards 3.19.1 → 3.19.2

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: 391c29fd84c7b17ac74855b2397903b512648796a6212feebff5cf6984be78a8
4
- data.tar.gz: cce74b546554fd8994ec90ee69fa3aef6a259c6c2aaec193834fd082da9668bc
3
+ metadata.gz: c92296c3b3a78ff97323797b16a0f110a473bf149713e901b178eac343148d18
4
+ data.tar.gz: b74a33acb7c8a55cfecc211013e7871ca8710b726c969cadb8937495a6fdfba3
5
5
  SHA512:
6
- metadata.gz: 033e74714876add1c2e89c479b44bc23374371410c5f961967ed2dc58719f8bae2eb9212e8ed87af4294380beb72dcc13cfab92acdedb34147a62411115cdb00
7
- data.tar.gz: 2f217fb5098b08417973c8430d3cc46715203a7402060d0980148a3f492f01f1b95d7fdcfa4a30b6a31b6643b0dd21d037b40a239863df64c19515f26d27417f
6
+ metadata.gz: 0b2a16d3380ebf680180c848bd7b64b838e9bb729470943e7016e3cca2f07135a4b8c45c11ab8d4476b76dc1c3a8b735ac29ed14de95d1972d0aaca327ff0892
7
+ data.tar.gz: 9afeb1052dd9a4f79f1c49e9c69a9e148e226ae90e8bee891376994e061988bd7290ca56fa36f992597dd978c7adb6fdcc753b89f1d8355c03766f38a890f5f8
@@ -41,6 +41,19 @@ module ActiveRecordShards
41
41
  conf
42
42
  end
43
43
 
44
+ def replace_slave_keys(conf)
45
+ conf.to_a.each do |env_name, env_config|
46
+ next unless env_name.end_with?("_slave")
47
+
48
+ replica_key = env_name.sub(/_slave$/, "_replica")
49
+ next if conf.key?(replica_key)
50
+
51
+ conf[replica_key] = env_config.deep_dup
52
+ end
53
+
54
+ conf
55
+ end
56
+
44
57
  def expand_child!(parent, child)
45
58
  parent.each do |key, value|
46
59
  unless ['slave', 'replica', 'shards'].include?(key) || value.is_a?(Hash)
@@ -50,7 +63,9 @@ module ActiveRecordShards
50
63
  end
51
64
 
52
65
  def configurations_with_shard_explosion=(conf)
53
- self.configurations_without_shard_explosion = explode(conf)
66
+ exploded_configuration = explode(conf)
67
+ configuration_with_slave_keys_replaced = replace_slave_keys(exploded_configuration)
68
+ self.configurations_without_shard_explosion = configuration_with_slave_keys_replaced
54
69
  end
55
70
 
56
71
  def self.extended(base)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: active_record_shards
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.19.1
4
+ version: 3.19.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Benjamin Quorning
@@ -13,7 +13,7 @@ authors:
13
13
  autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
- date: 2021-09-23 00:00:00.000000000 Z
16
+ date: 2022-02-01 00:00:00.000000000 Z
17
17
  dependencies:
18
18
  - !ruby/object:Gem::Dependency
19
19
  name: activerecord
@@ -232,7 +232,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
232
232
  - !ruby/object:Gem::Version
233
233
  version: '0'
234
234
  requirements: []
235
- rubygems_version: 3.2.16
235
+ rubygems_version: 3.3.1
236
236
  signing_key:
237
237
  specification_version: 4
238
238
  summary: Simple database switching for ActiveRecord.