Sha256: 895c65fdc05acaf4299b237f444026a9bf569b14b24000db9745e04f11753866
Contents?: true
Size: 473 Bytes
Versions: 13
Compression:
Stored size: 473 Bytes
Contents
# frozen_string_literal: true module Logster class Cache def initialize(age = 2) @age = age @hash = {} end def fetch(key) if !@hash.key?(key) || @hash[key][:created_at] + @age < Process.clock_gettime(Process::CLOCK_MONOTONIC) @hash[key] = { data: yield, created_at: Process.clock_gettime(Process::CLOCK_MONOTONIC) } end @hash[key][:data] end def clear(key) @hash.delete(key) end end end
Version data entries
13 entries across 13 versions & 1 rubygems