Sha256: edb5c68188d67508e281509ae02f05aa8c130aefbd179b42ec4c4a3e1047c5b5

Contents?: true

Size: 688 Bytes

Versions: 2

Compression:

Stored size: 688 Bytes

Contents

module SplitIoClient
  module Cache
    module Repositories
      # Repository which forwards impressions interface to the selected adapter
      class ImpressionsRepository < Repository
        extend Forwardable
        def_delegators :@adapter, :add, :clear, :empty?

        def initialize(adapter, config)
          @adapter = case adapter.class.to_s
          when 'SplitIoClient::Cache::Adapters::MemoryAdapter'
            Repositories::Impressions::MemoryRepository.new(adapter, config)
          when 'SplitIoClient::Cache::Adapters::RedisAdapter'
            Repositories::Impressions::RedisRepository.new(adapter, config)
          end
        end
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
splitclient-rb-3.1.0.pre.rc9 lib/cache/repositories/impressions_repository.rb
splitclient-rb-3.1.0.pre.rc8 lib/cache/repositories/impressions_repository.rb