From 9e63f9f2e42a3cbfd7b36e47ee5a7c94da757152 Mon Sep 17 00:00:00 2001 From: Sebi Burkhard Date: Fri, 8 Jul 2011 18:08:37 +0700 Subject: Properly cache value when it is "false" --- activesupport/lib/active_support/cache.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'activesupport/lib/active_support') diff --git a/activesupport/lib/active_support/cache.rb b/activesupport/lib/active_support/cache.rb index 85692428e3..ac88c82709 100644 --- a/activesupport/lib/active_support/cache.rb +++ b/activesupport/lib/active_support/cache.rb @@ -557,7 +557,7 @@ module ActiveSupport @expires_in = options[:expires_in] @expires_in = @expires_in.to_f if @expires_in @created_at = Time.now.to_f - if value + if defined?(value) if should_compress?(value, options) @value = Zlib::Deflate.deflate(Marshal.dump(value)) @compressed = true @@ -576,7 +576,7 @@ module ActiveSupport # Get the value stored in the cache. def value - if @value + if defined?(@value) val = compressed? ? Marshal.load(Zlib::Inflate.inflate(@value)) : @value unless val.frozen? val.freeze rescue nil -- cgit v1.2.3