# 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