aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport/lib/active_support/cache.rb
diff options
context:
space:
mode:
authorJosé Valim <jose.valim@gmail.com>2009-06-23 16:52:39 +0200
committerJosé Valim <jose.valim@gmail.com>2009-06-23 16:52:39 +0200
commit0744900861892be85b4a110612a8e92aed94d858 (patch)
treee879b3cd4d0839baaa0fb50f0927c6671b75ca11 /activesupport/lib/active_support/cache.rb
parent6dd196914c293fbc1a331e4a0bc1c06a26dded43 (diff)
parent80f1f863cd0f9cba89079511282de5710a2e1832 (diff)
downloadrails-0744900861892be85b4a110612a8e92aed94d858.tar.gz
rails-0744900861892be85b4a110612a8e92aed94d858.tar.bz2
rails-0744900861892be85b4a110612a8e92aed94d858.zip
Merge branch 'master' of git://github.com/rails/rails
Diffstat (limited to 'activesupport/lib/active_support/cache.rb')
-rw-r--r--activesupport/lib/active_support/cache.rb12
1 files changed, 10 insertions, 2 deletions
diff --git a/activesupport/lib/active_support/cache.rb b/activesupport/lib/active_support/cache.rb
index feb6b1f2cf..192a82e74f 100644
--- a/activesupport/lib/active_support/cache.rb
+++ b/activesupport/lib/active_support/cache.rb
@@ -129,8 +129,8 @@ module ActiveSupport
#
# For example, MemCacheStore's #write method supports the +:expires_in+
# option, which tells the memcached server to automatically expire the
- # cache item after a certain period. We can use this option with #fetch
- # too:
+ # cache item after a certain period. This options is also supported by
+ # FileStore's #read method. We can use this option with #fetch too:
#
# cache = ActiveSupport::Cache::MemCacheStore.new
# cache.fetch("foo", :force => true, :expires_in => 5.seconds) do
@@ -169,6 +169,10 @@ module ActiveSupport
# You may also specify additional options via the +options+ argument.
# The specific cache store implementation will decide what to do with
# +options+.
+ #
+ # For example, FileStore supports the +:expires_in+ option, which
+ # makes the method return nil for cache items older than the specified
+ # period.
def read(key, options = nil)
log("read", key, options)
end
@@ -223,6 +227,10 @@ module ActiveSupport
end
private
+ def expires_in(options)
+ (options && options[:expires_in]) || 0
+ end
+
def log(operation, key, options)
logger.debug("Cache #{operation}: #{key}#{options ? " (#{options.inspect})" : ""}") if logger && !@silence && !@logger_off
end