Sha256: b92fc8c2a8d33e9282d89588776cfc7a0fc1939cac25f51b0e21b2aefae3e7b4

Contents?: true

Size: 664 Bytes

Versions: 1

Compression:

Stored size: 664 Bytes

Contents

class APICache
  class MemoryStore < APICache::AbstractStore
    def initialize(cache = {})
      APICache.logger.debug "Using memory store"
      @cache = cache
      true
    end

    def set(key, value)
      APICache.logger.debug("cache: set (#{key})")
      @cache[key] = [Time.now, value]
      true
    end

    def get(key)
      data = exists?(key) ? @cache[key][1] : nil
      APICache.logger.debug("cache: #{data.nil? ? "miss" : "hit"} (#{key})")
      data
    end

    def delete(key)
      @cache.delete(key)
    end

    def exists?(key)
      !@cache[key].nil?
    end

    def created_at(key)
      @cache[key] && @cache[key][0]
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
api_cache-0.3.0 lib/api_cache/memory_store.rb