Sha256: 7f3086f131a06bdfeb291793d7f6d5a88e5d27fc35a1ceb39b93cacfaf28dbea
Contents?: true
Size: 1.23 KB
Versions: 1
Compression:
Stored size: 1.23 KB
Contents
require './lib/couchpillow.rb' require 'minitest/autorun' require 'minitest/unit' require 'mocha/mini_test' class FakeCouchbaseServer def initialize @storage = {} @cas = {} end def set id, data, opts = {} raise Couchbase::Error::KeyExists if @storage.has_key?(id) && opts[:cas] && @cas[id] != opts[:cas] @storage[id] = data @cas[id] = SecureRandom.hex(8) end def delete id @storage.delete(id) @cas.delete(id) end def replace id, data, opts = {} raise "Document does not exist" unless @storage.has_key?(id) raise Couchbase::Error::KeyExists if @storage.has_key?(id) && opts[:cas] && @cas[id] != opts[:cas] @storage[id] = data @cas[id] = SecureRandom.hex(8) end def get *args opts = has_opts?(args) ? args.pop : {} ids = args if ids.length == 1 id = ids.first opts[:extended] == true and retval = [@storage[id], nil, @cas[id]] or retval = @storage[id] else retval = ids.inject({}) do |memo, id| opts[:extended] == true and memo[id] = [@storage[id], nil, @cas[id]] or memo[id] = @storage[id] memo end end retval end def has_opts? args args.any? { |v| v.is_a?(Hash) } end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
couchpillow-0.4.9 | test/helper.rb |