Method: AbstractController::Caching::Fragments#expire_fragment
- Defined in:
- actionpack/lib/abstract_controller/caching/fragments.rb
#expire_fragment(key, options = nil) ⇒ Object
Removes fragments from the cache.
key can take one of three forms:
-
String - This would normally take the form of a path, like
pages/45/notes. -
Hash - Treated as an implicit call to
url_for, like ‘{ controller: ’pages’, action: ‘notes’, id: 45}‘ -
Regexp - Will remove any fragment that matches, so ‘%rpages/d*/notes` might remove all notes. Make sure you don’t use anchors in the regex (‘^` or `$`) because the actual filename matched looks like
./cache/filename/path.cache. Note: Regexp expiration is only supported on caches that can iterate over all keys (unlike memcached).
options is passed through to the cache store’s delete method (or delete_matched, for Regexp keys).
131 132 133 134 135 136 137 138 139 140 141 142 |
# File 'actionpack/lib/abstract_controller/caching/fragments.rb', line 131 def expire_fragment(key, = 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, ) else cache_store.delete(key, ) end end end |