# File lib/active_support/cache.rb, line 151 def fetch(key, options = {}) @logger_off = true if !options[:force] && value = read(key, options) @logger_off = false log("hit", key, options) value elsif block_given? @logger_off = false log("miss", key, options) value = nil ms = Benchmark.ms { value = yield } @logger_off = true write(key, value, options) @logger_off = false log('write (will save %.2fms)' % ms, key, nil) value end end