aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib/action_controller/caching/pages.rb
diff options
context:
space:
mode:
authorJosé Valim <jose.valim@gmail.com>2010-09-27 21:00:54 +0200
committerJosé Valim <jose.valim@gmail.com>2010-09-27 21:00:54 +0200
commitfe0251e408a8b5d1ee149c7cad7bcfc495ce1595 (patch)
tree620f92c8485809ded3cd4081966d147efc8ad806 /actionpack/lib/action_controller/caching/pages.rb
parent6067d1620075c1c311bbae01993453cd80967804 (diff)
parent50decfbc0e2e58961cc3665710922860d38ee2fb (diff)
downloadrails-fe0251e408a8b5d1ee149c7cad7bcfc495ce1595.tar.gz
rails-fe0251e408a8b5d1ee149c7cad7bcfc495ce1595.tar.bz2
rails-fe0251e408a8b5d1ee149c7cad7bcfc495ce1595.zip
Merge remote branch 'miloops/warnings'
Conflicts: actionpack/lib/action_controller/metal/url_for.rb
Diffstat (limited to 'actionpack/lib/action_controller/caching/pages.rb')
-rw-r--r--actionpack/lib/action_controller/caching/pages.rb6
1 files changed, 5 insertions, 1 deletions
diff --git a/actionpack/lib/action_controller/caching/pages.rb b/actionpack/lib/action_controller/caching/pages.rb
index 4f7a5d3f55..b845c6f6f9 100644
--- a/actionpack/lib/action_controller/caching/pages.rb
+++ b/actionpack/lib/action_controller/caching/pages.rb
@@ -99,7 +99,7 @@ module ActionController #:nodoc:
private
def page_cache_file(path)
- name = (path.empty? || path == "/") ? "/index" : URI.unescape(path.chomp('/'))
+ name = (path.empty? || path == "/") ? "/index" : uri_parser.unescape(path.chomp('/'))
name << page_cache_extension unless (name.split('/').last || name).include? '.'
return name
end
@@ -111,6 +111,10 @@ module ActionController #:nodoc:
def instrument_page_cache(name, path)
ActiveSupport::Notifications.instrument("#{name}.action_controller", :path => path){ yield }
end
+
+ def uri_parser
+ @uri_parser ||= URI.const_defined?(:Parser) ? URI::Parser.new : URI
+ end
end
# Expires the page that was cached with the +options+ as a key. Example: