Class: Prefatory::Storage::TestProvider
- Inherits:
-
Object
- Object
- Prefatory::Storage::TestProvider
- 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.
Instance Method Summary collapse
- #delete(key) ⇒ Object
- #get(key) ⇒ Object
-
#initialize(_ttl = nil, key_generator: Prefatory.config.keys.generator.new, marshaler: Prefatory.config.storage.marshaler) ⇒ TestProvider
constructor
A new instance of TestProvider.
- #key?(key) ⇒ Boolean
- #next_key(obj = nil) ⇒ Object
- #set(key, value, _ttl = nil) ⇒ Object
Constructor Details
#initialize(_ttl = nil, key_generator: Prefatory.config.keys.generator.new, marshaler: Prefatory.config.storage.marshaler) ⇒ TestProvider
Returns a new instance of TestProvider.
6 7 8 9 10 11 12 |
# File 'lib/prefatory/storage/test_provider.rb', line 6 def initialize(_ttl = nil, key_generator: Prefatory.config.keys.generator.new, marshaler: Prefatory.config.storage.marshaler) @hash = {} @key_generator = key_generator @marshaler = marshaler end |
Instance Method Details
#delete(key) ⇒ Object
27 28 29 |
# File 'lib/prefatory/storage/test_provider.rb', line 27 def delete(key) @hash.delete(key) end |
#get(key) ⇒ Object
18 19 20 21 |
# File 'lib/prefatory/storage/test_provider.rb', line 18 def get(key) value = @hash.fetch(key){nil} value ? @marshaler.load(value) : value end |
#key?(key) ⇒ Boolean
23 24 25 |
# File 'lib/prefatory/storage/test_provider.rb', line 23 def key?(key) @hash.key?(key) end |
#next_key(obj = nil) ⇒ Object
31 32 33 |
# File 'lib/prefatory/storage/test_provider.rb', line 31 def next_key(obj = nil) @key_generator.key(obj) end |
#set(key, value, _ttl = nil) ⇒ Object
14 15 16 |
# File 'lib/prefatory/storage/test_provider.rb', line 14 def set(key, value, _ttl=nil) @hash.store(key, @marshaler.dump(value)) end |