method
read_multi_entries
v7.2.3 -
Show latest stable
- Class:
ActiveSupport::Cache::Strategy::LocalCache
read_multi_entries(names, **options)private
No documentation available.
# File activesupport/lib/active_support/cache/strategy/local_cache.rb, line 160
def read_multi_entries(names, **options)
return super unless local_cache
keys_to_names = names.index_by { |name| normalize_key(name, options) }
local_entries = local_cache.read_multi_entries(keys_to_names.keys)
results = local_entries.each_with_object({}) do |(key, value), result|
next if value.nil? # recorded cache miss
entry = deserialize_entry(value, **options)
normalized_key = keys_to_names[key]
if entry.nil?
result[normalized_key] = nil
elsif entry.expired? || entry.mismatched?(normalize_version(normalized_key, options))
local_cache.delete_entry(key)
else
result[normalized_key] = entry.value
end
end
if results.size < names.size
results.merge!(super(names - results.keys, **options))
end
results
end