From 40f9fd39f6b471cb35b551b456f2c22d52f1b825 Mon Sep 17 00:00:00 2001 From: Jeremy Kemper Date: Mon, 24 Sep 2007 19:47:45 +0000 Subject: Include asset host in public path cache key. Clear cache between asset tag tests. git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@7617 5ecf4fe2-1ee6-0310-87b1-e25e094e27de --- .../lib/action_view/helpers/asset_tag_helper.rb | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) (limited to 'actionpack/lib/action_view/helpers') diff --git a/actionpack/lib/action_view/helpers/asset_tag_helper.rb b/actionpack/lib/action_view/helpers/asset_tag_helper.rb index fd311fadfc..83bc33bd3b 100644 --- a/actionpack/lib/action_view/helpers/asset_tag_helper.rb +++ b/actionpack/lib/action_view/helpers/asset_tag_helper.rb @@ -384,8 +384,12 @@ module ActionView # a single or wildcarded asset host, if configured, with the correct # request protocol. def compute_public_path(source, dir, ext = nil, include_host = true) - @@computed_public_paths ||= {} - @@computed_public_paths["#{@controller.request.protocol}#{@controller.request.relative_url_root}#{dir}#{source}#{ext}#{include_host}"] ||= + cache_key = [ @controller.request.protocol, + ActionController::Base.asset_host, + @controller.request.relative_url_root, + dir, source, ext, include_host ].join + + ActionView::Base.computed_public_paths[cache_key] ||= begin source += ".#{ext}" if File.extname(source).blank? && ext @@ -426,15 +430,15 @@ module ActionView if asset_id = ENV["RAILS_ASSET_ID"] asset_id else - @@asset_id_cache[source] ||= - if file_exist?(path = File.join(ASSETS_DIR, source)) - File.mtime(path).to_i.to_s - else - '' - end + path = File.join(ASSETS_DIR, source) + + if File.exist?(path) + File.mtime(path).to_i.to_s + else + '' + end end end - @@asset_id_cache = {} # Break out the asset path rewrite so you wish to put the asset id # someplace other than the query string. -- cgit v1.2.3