aboutsummaryrefslogtreecommitdiffstats
path: root/actionview/lib
diff options
context:
space:
mode:
authorKasper Timm Hansen <kaspth@gmail.com>2016-02-12 23:17:13 +0100
committerKasper Timm Hansen <kaspth@gmail.com>2016-02-12 23:22:56 +0100
commit42fd563f66798ab286699520dc5f3550a6e4c575 (patch)
tree55525527a9ccc654347ac8a589aa58b01304269d /actionview/lib
parent8e331713f2496396405787e4364bad9e0ac529fa (diff)
downloadrails-42fd563f66798ab286699520dc5f3550a6e4c575.tar.gz
rails-42fd563f66798ab286699520dc5f3550a6e4c575.tar.bz2
rails-42fd563f66798ab286699520dc5f3550a6e4c575.zip
Inline `fetch_or_cache_partial`.
Wasn't pulling its weight for a simple yield anymore.
Diffstat (limited to 'actionview/lib')
-rw-r--r--actionview/lib/action_view/renderer/partial_renderer/collection_caching.rb16
1 files changed, 6 insertions, 10 deletions
diff --git a/actionview/lib/action_view/renderer/partial_renderer/collection_caching.rb b/actionview/lib/action_view/renderer/partial_renderer/collection_caching.rb
index a037424498..e13943499c 100644
--- a/actionview/lib/action_view/renderer/partial_renderer/collection_caching.rb
+++ b/actionview/lib/action_view/renderer/partial_renderer/collection_caching.rb
@@ -15,13 +15,15 @@ module ActionView
return yield unless cache_collection?
keyed_collection = collection_by_cache_keys
- partial_cache = collection_cache.read_multi(*keyed_collection.keys)
+ cached_partials = collection_cache.read_multi(*keyed_collection.keys)
- @collection = keyed_collection.reject { |key, _| partial_cache.key?(key) }.values
+ @collection = keyed_collection.reject { |key, _| cached_partials.key?(key) }.values
rendered_partials = @collection.any? ? yield.dup : []
- fetch_or_cache_partial(partial_cache, order_by: keyed_collection.each_key) do
- rendered_partials.shift
+ keyed_collection.map do |cache_key, _|
+ cached_partials.fetch(cache_key) do
+ rendered_partials.shift
+ end
end
end
@@ -50,12 +52,6 @@ module ActionView
key.frozen? ? key.dup : key # #read_multi & #write may require mutability, Dalli 2.6.0.
end
- def fetch_or_cache_partial(cached_partials, order_by:)
- order_by.map do |key|
- cached_partials.fetch(key) { yield }
- end
- end
-
def collection_cache_rendered_partial(rendered_partial, key_by)
if callable_cache_key?
key = expanded_cache_key(@options[:cache].call(key_by))