Рассмотрим использование
Rails.cache.fetch("key", expires_in: 2.minutes) do
do_something_to_get_value
end
Я бы хотел поиграть с пользовательским объектом
class FakeRedis
def initialize() @data = {} end
def clear() @data = {} end
def write(key, val, *args) @data[key] = val end
def read(key, *args) @data[key] end
def expire(key, *args) @data.delete(key) end
def fetch(key, *args) @data[key] end
end
Для случая nil
(key
истекает или никогда не существует), как я могупереписать fetch
, чтобы впоследствии вызвать блок кода и сохранить в @data
?