Class: SKVS

Inherits:
Object
  • Object
show all
Defined in:
lib/platform/skvs.rb,
lib/platform/skvs/version.rb,
lib/platform/skvs/http_adapter.rb,
lib/platform/skvs/memory_adapter.rb

Defined Under Namespace

Classes: HttpAdapter, MemoryAdapter

Constant Summary collapse

VERSION =
"0.2.0"

Class Method Summary collapse

Class Method Details

.adapterObject



12
13
14
# File 'lib/platform/skvs.rb', line 12

def adapter
  @adapter ||= HttpAdapter.new
end

.adapter=(adapter) ⇒ Object



8
9
10
# File 'lib/platform/skvs.rb', line 8

def adapter=(adapter)
  @adapter = adapter
end

.del(key) ⇒ Object



42
43
44
# File 'lib/platform/skvs.rb', line 42

def del(key)
  adapter.del key.to_s
end

.get(key) ⇒ Object



16
17
18
# File 'lib/platform/skvs.rb', line 16

def get(key)
  clean adapter.get(key.to_s)
end

.set(key, value) ⇒ Object



20
21
22
# File 'lib/platform/skvs.rb', line 20

def set(key, value)
  adapter.set key.to_s, clean(value)
end

.try(key, value, success:, error:, sleeptime: 1) ⇒ Object



24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# File 'lib/platform/skvs.rb', line 24

def try(key, value, success:, error:, sleeptime: 1)
  del success 
  del error
  original_value = get key
  set key, value

  loop do
    if message = get(success)
      return OpenStruct.new(success: message)
    elsif message = get(error)
      set key, original_value
      return OpenStruct.new(error: message)
    else
      sleep sleeptime
    end
  end
end