Class: SplitIoClient::Cache::Repositories::Events::RedisRepository

Inherits:
SplitIoClient::Cache::Repositories::EventsRepository show all
Defined in:
lib/splitclient-rb/cache/repositories/events/redis_repository.rb

Instance Method Summary collapse

Methods inherited from SplitIoClient::Cache::Repositories::EventsRepository

#post_events

Methods inherited from SplitIoClient::Cache::Repository

#set_string, #string

Constructor Details

#initialize(config) ⇒ RedisRepository

Returns a new instance of RedisRepository.



7
8
9
10
# File 'lib/splitclient-rb/cache/repositories/events/redis_repository.rb', line 7

def initialize(config)
  @config = config
  @adapter = @config.events_adapter
end

Instance Method Details

#add(key, traffic_type, event_type, time, value, properties, size) ⇒ Object



12
13
14
15
16
17
# File 'lib/splitclient-rb/cache/repositories/events/redis_repository.rb', line 12

def add(key, traffic_type, event_type, time, value, properties, size)
  @adapter.add_to_queue(
    namespace_key('.events'),
    { m: , e: event(key, traffic_type, event_type, time, value, properties) }.to_json
  )
end

#batchObject



28
29
30
# File 'lib/splitclient-rb/cache/repositories/events/redis_repository.rb', line 28

def batch
  clear()
end

#clearObject



19
20
21
22
23
24
25
26
# File 'lib/splitclient-rb/cache/repositories/events/redis_repository.rb', line 19

def clear
  @adapter.get_from_queue(namespace_key('.events'), 0).map do |e|
    JSON.parse(e, symbolize_names: true)
  end
rescue StandardError => e
  @config.logger.error("Exception while clearing events cache: #{e}")
  []
end