aboutsummaryrefslogtreecommitdiffstats
path: root/actionview/lib/action_view/digestor.rb
diff options
context:
space:
mode:
Diffstat (limited to 'actionview/lib/action_view/digestor.rb')
-rw-r--r--actionview/lib/action_view/digestor.rb21
1 files changed, 10 insertions, 11 deletions
diff --git a/actionview/lib/action_view/digestor.rb b/actionview/lib/action_view/digestor.rb
index da43fef2e3..c302bc15fa 100644
--- a/actionview/lib/action_view/digestor.rb
+++ b/actionview/lib/action_view/digestor.rb
@@ -18,16 +18,11 @@ module ActionView
# * <tt>dependencies</tt> - An array of dependent views
# * <tt>partial</tt> - Specifies whether the template is a partial
def digest(*args)
- options = _setup_options(*args)
+ options = _options_for_digest(*args)
- name = options[:name]
- format = options[:format]
- variant = options[:variant]
- finder = options[:finder]
-
- details_key = finder.details_key.hash
+ details_key = options[:finder].details_key.hash
dependencies = Array.wrap(options[:dependencies])
- cache_key = ([name, details_key, format, variant].compact + dependencies).join('.')
+ cache_key = ([options[:name], details_key, options[:format], options[:variant]].compact + dependencies).join('.')
# this is a correctly done double-checked locking idiom
# (ThreadSafe::Cache's lookups have volatile semantics)
@@ -38,7 +33,7 @@ module ActionView
end
end
- def _setup_options(*args)
+ def _options_for_digest(*args)
unless args.first.is_a?(Hash)
ActiveSupport::Deprecation.warn("Arguments to ActionView::Digestor should be provided as a hash. The support for regular arguments will be removed in Rails 5.0 or later")
@@ -81,7 +76,7 @@ module ActionView
attr_reader :name, :format, :variant, :finder, :options
def initialize(*args)
- @options = self.class._setup_options(*args)
+ @options = self.class._options_for_digest(*args)
@name = @options.delete(:name)
@format = @options.delete(:format)
@@ -126,7 +121,11 @@ module ActionView
end
def template
- @template ||= finder.find(logical_name, [], partial?, formats: [ format ], variants: [ variant ])
+ @template ||= begin
+ finder.disable_cache do
+ finder.find(logical_name, [], partial?, [], formats: [format], variants: [variant])
+ end
+ end
end
def source