Permalink
Browse files

Tweaks and tinkering

git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@390 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
  • Loading branch information...
1 parent efdabfb commit 2182a8203ff4c7b3d4fc36d59961a73d591f5e6b @dhh dhh committed Jan 11, 2005
Showing with 10 additions and 5 deletions.
  1. +10 −5 actionpack/lib/action_controller/caching.rb
@@ -120,7 +120,13 @@ def caches_action(*actions)
end
def expire_action(options = {})
- expire_fragment(url_for(options).split("://").last)
+ if options[:action].is_a?(Array)
+ options[:action].dup.each do |action|
+ expire_fragment(url_for(options.merge({ :action => action })).split("://").last)
+ end
+ else
+ expire_fragment(url_for(options).split("://").last)
+ end
end
class ActionCacheFilter #:nodoc:
@@ -182,7 +188,6 @@ def self.append_features(base) #:nodoc:
def cache_erb_fragment(binding, name = {}, options = {})
buffer = eval("_erbout", binding)
- name = url_for(name) if name.is_a?(Hash)
if cache = read_fragment(name, options)
buffer.concat(cache)
else
@@ -193,14 +198,14 @@ def cache_erb_fragment(binding, name = {}, options = {})
end
def write_fragment(name, content, options = {})
- name = url_for(name) if name.is_a?(Hash)
+ name = url_for(name).split("://").last if name.is_a?(Hash)
fragment_cache_store.write(name, content, options)
logger.info "Cached fragment: #{name}" unless logger.nil?
content
end
def read_fragment(name, options = {})
- name = url_for(name) if name.is_a?(Hash)
+ name = url_for(name).split("://").last if name.is_a?(Hash)
if cache = fragment_cache_store.read(name, options)
logger.info "Fragment hit: #{name}" unless logger.nil?
cache
@@ -210,7 +215,7 @@ def read_fragment(name, options = {})
end
def expire_fragment(name, options = {})
- name = url_for(name) if name.is_a?(Hash)
+ name = url_for(name).split("://").last if name.is_a?(Hash)
fragment_cache_store.delete(name, options)
logger.info "Expired fragment: #{name}" unless logger.nil?
end

0 comments on commit 2182a82

Please sign in to comment.