switchman 4.3.2 → 4.3.3

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: 930ab408c80afadb2064fa5476f4c0cd68130f13a7dd4303bf356194d0e4bed4
4
- data.tar.gz: 1dca68c3804bf3ea9756e2d3a9054ca830ae79bbc8977d713a9d76f3eafef8cc
3
+ metadata.gz: 4437e8d734e3c009a9d46806e1030d9afa36701db8999c28c9892e2db7b1171e
4
+ data.tar.gz: 10cbc99e69f2a32d87a9f3c0b19d183124aeb2c10ddd88575a8f0dec86125efb
5
5
  SHA512:
6
- metadata.gz: 7c0a3ab18976beb94b4e9a46efb7f24e503c66363d6354946c7156e1221ffacafdc364c7bcc61205092801508ab6a329caf00c2c95592426a467b5cab86692e7
7
- data.tar.gz: 94e9b98dfd1453eb967d02fe4a07c0cdbf4c4fdb04258da291994c9e04e3ac55c0bd4e1d214de9a0c6cfa4c10fe1b8d1476cc6509f27369f45abff1f997aadaf
6
+ metadata.gz: 516ded0cd496113906deefabc1a05908d0ac865913c790cf92e26b665b60617b56221952d84936bdbf9ffef48ab5d0fa66425575c85c0448b19f0d35725afd3d
7
+ data.tar.gz: 26c13f7b3915f62c92506b68814888374d00eb4a20e982fd038cf962675a7de2df4188a8c8fbcdeffe7caddb3d68e1c1fd5f92ad29949c72889d594c9e93d47d
@@ -149,9 +149,18 @@ module Switchman
149
149
  cached_shards[id]
150
150
  end
151
151
 
152
- def preload_cache
153
- cached_shards.reverse_merge!(active_shards.values.index_by(&:id))
154
- cached_shards.reverse_merge!(all.index_by(&:id))
152
+ def preload_cache(shard_ids: nil)
153
+ if shard_ids
154
+ missing = shard_ids - cached_shards.keys
155
+ return if missing.empty?
156
+
157
+ found = where(id: missing).index_by(&:id)
158
+ missing.each { |id| found[id] = nil unless found.key?(id) } # cache nonexistence of shards
159
+ cached_shards.reverse_merge!(found)
160
+ else
161
+ cached_shards.reverse_merge!(active_shards.values.index_by(&:id))
162
+ cached_shards.reverse_merge!(all.index_by(&:id))
163
+ end
155
164
  end
156
165
 
157
166
  def clear_cache
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Switchman
4
- VERSION = "4.3.2"
4
+ VERSION = "4.3.3"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: switchman
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.3.2
4
+ version: 4.3.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Cody Cutrer
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2026-08-19 00:00:00.000000000 Z
13
+ date: 2026-08-26 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: activerecord