class ActionView::LookupContext::DetailsKey
:nodoc:
def self.clear
def self.clear ActionView::ViewPaths.all_view_paths.each do |path_set| path_set.each(&:clear_cache) end @view_context_class = nil @details_keys.clear @digest_cache.clear end
def self.details_cache_key(details)
def self.details_cache_key(details) if details[:formats] details = details.dup details[:formats] &= Template::Types.symbols end @details_keys[details] ||= TemplateDetails::Requested.new(**details) end
def self.digest_cache(details)
def self.digest_cache(details) @digest_cache[details_cache_key(details)] ||= Concurrent::Map.new end
def self.digest_caches
def self.digest_caches @digest_cache.values end
def self.view_context_class(klass)
def self.view_context_class(klass) @view_context_mutex.synchronize do @view_context_class ||= klass.with_empty_template_cache end end