module ActionView::LookupContext::DetailsCache

def _set_detail(key, value) # :doc:

:doc:
def _set_detail(key, value) # :doc:
  @details = @details.dup if @digest_cache || @details_key
  @digest_cache = nil
  @details_key = nil
  @details[key] = value
end

def details_key # :nodoc:

:nodoc:
since the user cannot modify it explicitly.
Calculate the details key. Remove the handlers from calculation to improve performance
def details_key # :nodoc:
  @details_key ||= DetailsKey.details_cache_key(@details) if @cache
end

def disable_cache

Temporary skip passing the details_key forward.
def disable_cache
  old_value, @cache = @cache, false
  yield
ensure
  @cache = old_value
end