# This is a non thread safe replacement for the # couchbase counter mechanism since every test needs # a clean start and Hash#clear is soooo much faster than # a couchbase bucket flush class InMemoryQCounter attr_reader :store def initialize @store = {} end def get(key, options = {}) store[key] end def set(key, value) store[key] = value end def incr(key, options = {}) # store[key] ||= options[:initial].to_i # store[key] += 1 if store[key] store[key] += 1 else store[key] = options[:initial].to_i end end def decr(key, options = {}) # store[key] ||= options[:initial].to_i # store[key] -= 1 if store[key] store[key] -= 1 else store[key] = options[:initial].to_i end end def flush store.clear end end