If infer_extension
is true, the cache path extension is looked
up from the request's path and format. This is desirable when reading
and writing the cache, but not when expiring the cache - expire_action
should expire the same files regardless of the request format.
# File lib/action_controller/caching/actions.rb, line 166 def initialize(controller, options = {}, infer_extension = true) if infer_extension @extension = controller.params[:format] options.reverse_merge!(:format => @extension) if options.is_a?(Hash) end path = controller.url_for(options).split(%r{://}).last @path = normalize!(path) end
# File lib/action_controller/caching/actions.rb, line 177 def normalize!(path) path << 'index' if path[-1] == / path << ".#{extension}" if extension and !path.split('?').first.ends_with?(".#{extension}") URI.parser.unescape(path) end