Sha256: 70a7862f6b5e25a7a307c59d879fef9da3e75c781b89555fa11e26e1aeecec59
Contents?: true
Size: 1.17 KB
Versions: 36
Compression:
Stored size: 1.17 KB
Contents
module SplitIoClient module Cache module Repositories # Repository which forwards events interface to the selected adapter class EventsRepository < Repository extend Forwardable def_delegators :@adapter, :add, :clear def initialize(adapter) @adapter = case adapter.class.to_s when 'SplitIoClient::Cache::Adapters::MemoryAdapter' Repositories::Events::MemoryRepository.new(adapter) when 'SplitIoClient::Cache::Adapters::RedisAdapter' Repositories::Events::RedisRepository.new(adapter) end end protected def metadata { s: "#{SplitIoClient.configuration.language}-#{SplitIoClient.configuration.version}", i: SplitIoClient.configuration.machine_ip, n: SplitIoClient.configuration.machine_name } end def event(key, traffic_type, event_type, time, value) { key: key, trafficTypeName: traffic_type, eventTypeId: event_type, value: value, timestamp: time }.reject { |_, v| v.nil? } end end end end end
Version data entries
36 entries across 36 versions & 1 rubygems