diff options
author | Aaron Patterson <aaron.patterson@gmail.com> | 2019-01-28 14:22:32 -0800 |
---|---|---|
committer | Aaron Patterson <aaron.patterson@gmail.com> | 2019-01-28 14:22:32 -0800 |
commit | e98b51300ab1c58b790cbaf9a27bd277184579ac (patch) | |
tree | 85cf896d40fa0aab8270a8eb8bee93643605d1ae /actionview/lib/action_view/renderer/partial_renderer/collection_caching.rb | |
parent | bd3bea1598919e177ca6e56d23ae2fc9d8d5e22e (diff) | |
download | rails-e98b51300ab1c58b790cbaf9a27bd277184579ac.tar.gz rails-e98b51300ab1c58b790cbaf9a27bd277184579ac.tar.bz2 rails-e98b51300ab1c58b790cbaf9a27bd277184579ac.zip |
Remove `@view` instance variable from the partial renderer
Similar to 1853b0d0abf87dfdd4c3a277c3badb17ca19652e
Diffstat (limited to 'actionview/lib/action_view/renderer/partial_renderer/collection_caching.rb')
-rw-r--r-- | actionview/lib/action_view/renderer/partial_renderer/collection_caching.rb | 16 |
1 files changed, 8 insertions, 8 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 5aa6f77902..2d4a171726 100644 --- a/actionview/lib/action_view/renderer/partial_renderer/collection_caching.rb +++ b/actionview/lib/action_view/renderer/partial_renderer/collection_caching.rb @@ -11,13 +11,13 @@ module ActionView end private - def cache_collection_render(instrumentation_payload) + def cache_collection_render(instrumentation_payload, view) return yield unless @options[:cached] # Result is a hash with the key represents the # key used for cache lookup and the value is the item # on which the partial is being rendered - keyed_collection = collection_by_cache_keys + keyed_collection = collection_by_cache_keys(view) # Pull all partials from cache # Result is a hash, key matches the entry in @@ -51,21 +51,21 @@ module ActionView @options[:cached].respond_to?(:call) end - def collection_by_cache_keys + def collection_by_cache_keys(view) seed = callable_cache_key? ? @options[:cached] : ->(i) { i } @collection.each_with_object({}) do |item, hash| - hash[expanded_cache_key(seed.call(item))] = item + hash[expanded_cache_key(seed.call(item), view)] = item end end - def expanded_cache_key(key) - key = @view.combined_fragment_cache_key(@view.cache_fragment_name(key, virtual_path: @template.virtual_path, digest_path: digest_path)) + def expanded_cache_key(key, view) + key = view.combined_fragment_cache_key(view.cache_fragment_name(key, virtual_path: @template.virtual_path, digest_path: digest_path(view))) key.frozen? ? key.dup : key # #read_multi & #write may require mutability, Dalli 2.6.0. end - def digest_path - @digest_path ||= @view.digest_path_from_virtual(@template.virtual_path) + def digest_path(view) + @digest_path ||= view.digest_path_from_virtual(@template.virtual_path) end # `order_by` is an enumerable object containing keys of the cache, |