module AbstractController::Caching::Fragments
def expire_fragment(key, options = nil)
+options+ is passed through to the cache store's +delete+
memcached).
only supported on caches that can iterate over all keys (unlike
./cache/filename/path.cache. Note: Regexp expiration is
the actual filename matched looks like
don't use anchors in the regex (^ or $) because
%r{pages/\d*/notes} might remove all notes. Make sure you
* Regexp - Will remove any fragment that matches, so
{ controller: 'pages', action: 'notes', id: 45}
* Hash - Treated as an implicit call to +url_for+, like
pages/45/notes.
* String - This would normally take the form of a path, like
+key+ can take one of three forms:
Removes fragments from the cache.
def expire_fragment(key, options = nil) return unless cache_configured? key = combined_fragment_cache_key(key) unless key.is_a?(Regexp) instrument_fragment_cache :expire_fragment, key do if key.is_a?(Regexp) cache_store.delete_matched(key, options) else cache_store.delete(key, options) end end end