Sha256: 4a3b40047ec2a716839ac315f37b8ab6e310c513bd34f62b09b56e5466264325
Contents?: true
Size: 837 Bytes
Versions: 1
Compression:
Stored size: 837 Bytes
Contents
module Prefatory module Storage # Used by Specs. This is not safe for production (in any way!) You have been warned. class TestProvider def initialize(_ttl = nil, key_generator: Prefatory.config.keys.generator.new, marshaler: Prefatory.config.storage.marshaler) @hash = {} @key_generator = key_generator @marshaler = marshaler end def set(key, value, _ttl=nil) @hash.store(key, @marshaler.dump(value)) end def get(key) value = @hash.fetch(key){nil} value ? @marshaler.load(value) : value end def key?(key) @hash.key?(key) end def delete(key) @hash.delete(key) end def next_key(obj = nil) @key_generator.key(obj) end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
prefatory-0.1.2 | lib/prefatory/storage/test_provider.rb |