Sha256: fd0cf4cb1d8526e150bc4ec67d12e6dce2457e179cfe8a913f03bd9e1952efe9
Contents?: true
Size: 768 Bytes
Versions: 3
Compression:
Stored size: 768 Bytes
Contents
module Makitoo module FeatureFlag class MemoryCache def initialize(logger, ttl = 20.seconds) @logger = logger @cache = {} @ttl = ttl end def get(key) if @cache.has_key?(key) if @cache[key][:end] > Time.now() @logger.debug 'Cache hit' @cache[key][:value] else @logger.debug 'Cache invalid' @cache.delete(key) nil end else @logger.debug 'Cache miss' nil end end def put(key, value) @logger.debug 'Cache put' @cache[key] = { value: value, end: Time.now() + @ttl } end end end end
Version data entries
3 entries across 3 versions & 1 rubygems