Class: Blinkist::Config::DiplomatAdapter

Inherits:
Adapter
  • Object
show all
Defined in:
lib/blinkist/config/adapters/diplomat_adapter.rb

Instance Method Summary collapse

Methods inherited from Adapter

instance_for, #preload

Constructor Details

#initialize(env, app_name) ⇒ DiplomatAdapter

Returns a new instance of DiplomatAdapter.



7
8
9
10
11
# File 'lib/blinkist/config/adapters/diplomat_adapter.rb', line 7

def initialize(env, app_name)
  super

  @items_cache = {}
end

Instance Method Details

#get(key, default = nil, scope: nil, refetch: false) ⇒ Object



13
14
15
16
17
18
19
20
21
22
23
# File 'lib/blinkist/config/adapters/diplomat_adapter.rb', line 13

def get(key, default = nil, scope: nil, refetch: false)
  scope ||= @app_name

  diplomat_key = "#{scope}/#{key}"

  @items_cache[diplomat_key] = Diplomat::Kv.get(diplomat_key) if refetch || !@items_cache.key?(diplomat_key)

  @items_cache[diplomat_key]
rescue Diplomat::KeyNotFound
  default
end