aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport
diff options
context:
space:
mode:
Diffstat (limited to 'activesupport')
-rw-r--r--activesupport/CHANGELOG2
-rw-r--r--activesupport/lib/active_support/cache.rb9
2 files changed, 7 insertions, 4 deletions
diff --git a/activesupport/CHANGELOG b/activesupport/CHANGELOG
index 8fb730dfd8..a39be78ca5 100644
--- a/activesupport/CHANGELOG
+++ b/activesupport/CHANGELOG
@@ -1,5 +1,7 @@
*SVN*
+* cache.fetch(key, :force => true) to force a cache miss. [Jeremy Kemper]
+
* Support retrieving TimeZones with a Duration. TimeZone[-28800] == TimeZone[-480.minutes]. [rick]
* TimeWithZone#- added, so that #- can handle a Time or TimeWithZone argument correctly [Geoff Buesing]
diff --git a/activesupport/lib/active_support/cache.rb b/activesupport/lib/active_support/cache.rb
index 8252ada032..f9cfed43b8 100644
--- a/activesupport/lib/active_support/cache.rb
+++ b/activesupport/lib/active_support/cache.rb
@@ -47,9 +47,10 @@ module ActiveSupport
self
end
- def fetch(key, options = nil)
- @logger_off = true
- if value = read(key, options)
+ # Pass :force => true to force a cache miss.
+ def fetch(key, options = {})
+ @logger_off = true
+ if !options[:force] && value = read(key, options)
@logger_off = false
log("hit", key, options)
value
@@ -118,4 +119,4 @@ require 'active_support/cache/file_store'
require 'active_support/cache/memory_store'
require 'active_support/cache/drb_store'
require 'active_support/cache/mem_cache_store'
-require 'active_support/cache/compressed_mem_cache_store' \ No newline at end of file
+require 'active_support/cache/compressed_mem_cache_store'