Sha256: ee87084495526b2543e8ee7e831d6547dd1199e2bdfcdcb4851a392e9302df7d

Contents?: true

Size: 710 Bytes

Versions: 1

Compression:

Stored size: 710 Bytes

Contents

require 'dalli'

module Prefatory
  module Storage
    # Used by Specs. This is not safe for production (in any way!) You have been warned.
    class TestProvider
      include Prefatory::Keys

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

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

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

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

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

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

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
prefatory-0.1.1 lib/prefatory/storage/test_provider.rb