Sha256: 758e6fac566e2c71f8b8edaa755e81aa3bf179617c931fe024fc4c77a49c8946

Contents?: true

Size: 520 Bytes

Versions: 1

Compression:

Stored size: 520 Bytes

Contents

module FastSerializer
  # ActiveSupport compatible cache implementation.
  class Cache::ActiveSupportCache < Cache
    attr_reader :cache
    
    def initialize(cache)
      @cache = cache
    end
    
    def fetch(serializer, ttl, &block)
      exists = !!@cache.read(serializer.cache_key)
      @cache.fetch(serializer.cache_key, :expires_in => ttl, &block)
    end
    
    def fetch_all(serializers, ttl)
      @cache.fetch_multi(*serializers) do |serializer|
        yield(serializer)
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
fast_serializer-1.0.0 lib/fast_serializer/cache/active_support_cache.rb