Class: Prefatory::Storage::TestProvider

Inherits:
Object
  • Object
show all
Includes:
Keys
Defined in:
lib/prefatory/storage/test_provider.rb

Overview

Used by Specs. This is not safe for production (in any way!) You have been warned.

Constant Summary

Constants included from Keys

Keys::INCR_KEY

Instance Method Summary collapse

Methods included from Keys

#build_key

Constructor Details

#initialize(ttl = nil, key_prefix = nil) ⇒ TestProvider

Returns a new instance of TestProvider.



9
10
11
12
13
14
# File 'lib/prefatory/storage/test_provider.rb', line 9

def initialize(ttl = nil, key_prefix = nil)
  @ttl = ttl
  @key_prefix = key_prefix
  @hash = {}
  @next_key = 0
end

Instance Method Details

#delete(key) ⇒ Object



28
29
30
# File 'lib/prefatory/storage/test_provider.rb', line 28

def delete(key)
  @hash.delete(key)
end

#get(key) ⇒ Object



20
21
22
# File 'lib/prefatory/storage/test_provider.rb', line 20

def get(key)
  @hash.fetch(key){nil}
end

#key?(key) ⇒ Boolean

Returns:

  • (Boolean)


24
25
26
# File 'lib/prefatory/storage/test_provider.rb', line 24

def key?(key)
  @hash.key?(key)
end

#next_key(obj = nil) ⇒ Object



32
33
34
# File 'lib/prefatory/storage/test_provider.rb', line 32

def next_key(obj = nil)
  build_key(obj, @next_key += 1, @key_prefix)
end

#set(key, value, ttl = nil) ⇒ Object



16
17
18
# File 'lib/prefatory/storage/test_provider.rb', line 16

def set(key, value, ttl=nil)
  @hash.store(key, value)
end