Sha256: c1b407244a1192ef48b1c95924c672f463e374cb5fbafaf74632ea697d456950

Contents?: true

Size: 290 Bytes

Versions: 1

Compression:

Stored size: 290 Bytes

Contents

require "delegate"

module Atethechon
  class StoreCache < SimpleDelegator
    attr_reader :cached

    def initialize(data_store)
      super(data_store)

      @cached = {}
    end

    def load(key, ...)
      cached.fetch(key) do
        cached[key] = super
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
atethechon-0.1.0 lib/atethechon/store_cache.rb