diff options
author | Rafael França <rafaelmfranca@gmail.com> | 2018-03-22 19:09:21 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-03-22 19:09:21 -0400 |
commit | 57e145387ba57602afb0907f2a3897d37089dc4e (patch) | |
tree | 3a1cf8763c4fd700e2bc53a7d348be61e7cb9bfd /activesupport/lib/active_support/cache/strategy | |
parent | e26424a74092ba278c7744bbccdbc97a080693cc (diff) | |
parent | 4e13a364a67e02ed0b3b8f69bac84d69632f58f6 (diff) | |
download | rails-57e145387ba57602afb0907f2a3897d37089dc4e.tar.gz rails-57e145387ba57602afb0907f2a3897d37089dc4e.tar.bz2 rails-57e145387ba57602afb0907f2a3897d37089dc4e.zip |
Merge pull request #32315 from huacnlee/fix/local-cache-read-multi-entry-return
Fix Cache `read_multi` with local_cache bug, should returns raw value, not `ActiveSupport::Cache::Entry` instance.
Diffstat (limited to 'activesupport/lib/active_support/cache/strategy')
-rw-r--r-- | activesupport/lib/active_support/cache/strategy/local_cache.rb | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/activesupport/lib/active_support/cache/strategy/local_cache.rb b/activesupport/lib/active_support/cache/strategy/local_cache.rb index e17308f83e..39b32fc7f6 100644 --- a/activesupport/lib/active_support/cache/strategy/local_cache.rb +++ b/activesupport/lib/active_support/cache/strategy/local_cache.rb @@ -55,7 +55,14 @@ module ActiveSupport end def read_multi_entries(keys, options) - Hash[keys.map { |name| [name, read_entry(name, options)] }.keep_if { |_name, value| value }] + values = {} + + keys.each do |name| + entry = read_entry(name, options) + values[name] = entry.value if entry + end + + values end def write_entry(key, value, options) |