# File lib/innate/cache/api.rb, line 81 def cache_fetch(key, default = nil) value = default if entry = yield(key) if expires = entry[:expires] if expires > Time.now value = entry[:value] else cache_delete(key) end else value = entry[:value] end end return value end