libcouchbase 1.2.0 → 1.2.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: fbbca533b435a70a968e4db6b7105061cf6a5c4c
4
- data.tar.gz: 8da2a213ffe1262897d76e77d267468272262839
3
+ metadata.gz: 1b0ccfc76f819e532d866eb5696c4e442341ec00
4
+ data.tar.gz: d35f2ff5a08bd9c7e8b6909cca6ce3b0460f0772
5
5
  SHA512:
6
- metadata.gz: 27673bc5a39dbc17238f941a4124e70f43ab3823258d23258ac2fe2c3dcad221b3d28c6c040cd32aee00b70e772f2b08f9747aeb1abb4f6a4f3f5309bbe7f20b
7
- data.tar.gz: a74d898f35f5907c42e1ef62055b010100496614c72405bb2873755e79739f6f242ddf0d8bfa80f634d1e62ea5b0175d03ccc15389dc86ac9dd54fd697fd7bef
6
+ metadata.gz: cd66d502e5a684b84b46b33539cbf73fe5571a086131d08114c1974a36b836e606b2605d349ed6f5c54db842f2bd65fa1457888adc645e4f92f52c858e15a7c5
7
+ data.tar.gz: 65c567b06e3b65480c9d4876b5c56c54015f94c99630cf49d6a5b6626c79a4787d16783225c288539617e3437f6c4280864c58bcb1b1ce3ad992c6629d1b6542
@@ -304,84 +304,6 @@ module Libcouchbase
304
304
  end
305
305
  ReplaceDefaults = {operation: :replace}.freeze
306
306
 
307
- # Append this object to the existing object
308
- #
309
- # @param key [String, Symbol] Key used to reference the value.
310
- # @param value [Object] Value to be appended
311
- # @param options [Hash] Options for operation.
312
- # @option options [Integer] :cas The CAS value for an object. This value is
313
- # created on the server and is guaranteed to be unique for each value of
314
- # a given key. This value is used to provide simple optimistic
315
- # concurrency control when multiple clients or threads try to update an
316
- # item simultaneously.
317
- # @option options [Integer] :persist_to persist to a number of nodes before returing
318
- # a result. Use -1 to persist to the maximum number of nodes
319
- # @option options [Integer] :replicate_to replicate to a number of nodes before
320
- # returning a result. Use -1 to replicate to the maximum number of nodes
321
- #
322
- # @return [Libcouchbase::Result] this includes the CAS value of the object.
323
- #
324
- # @raise [Libcouchbase::Error::KeyExists] if the key already exists on the server
325
- # with a different CAS value to that provided
326
- # @raise [Libouchbase::Error::Timedout] if timeout interval for observe exceeds
327
- # @raise [Libouchbase::Error::NetworkError] if there was a communication issue
328
- # @raise [Libcouchbase::Error::KeyNotFound] if the key doesn't exists
329
- #
330
- # @example Simple append
331
- # c.set(:foo, "aaa")
332
- # c.append(:foo, "bbb")
333
- # c.get("foo") #=> "aaabbb"
334
- #
335
- # @example Using optimistic locking. The operation will fail on CAS mismatch
336
- # resp = c.set("foo", "aaa")
337
- # c.append("foo", "bbb", cas: resp.cas)
338
- #
339
- # @example Ensure that the key will be persisted at least on the one node
340
- # c.append("foo", "bar", persist_to: 1)
341
- def append(key, value, async: false, **opts)
342
- result @connection.store(key, value, **AppendDefaults.merge(opts)), async
343
- end
344
- AppendDefaults = {operation: :append}.freeze
345
-
346
- # Prepend this object to the existing object
347
- #
348
- # @param key [String, Symbol] Key used to reference the value.
349
- # @param value [Object] Value to be appended
350
- # @param options [Hash] Options for operation.
351
- # @option options [Integer] :cas The CAS value for an object. This value is
352
- # created on the server and is guaranteed to be unique for each value of
353
- # a given key. This value is used to provide simple optimistic
354
- # concurrency control when multiple clients or threads try to update an
355
- # item simultaneously.
356
- # @option options [Integer] :persist_to persist to a number of nodes before returing
357
- # a result. Use -1 to persist to the maximum number of nodes
358
- # @option options [Integer] :replicate_to replicate to a number of nodes before
359
- # returning a result. Use -1 to replicate to the maximum number of nodes
360
- #
361
- # @return [Libcouchbase::Result] this includes the CAS value of the object.
362
- #
363
- # @raise [Libcouchbase::Error::KeyExists] if the key already exists on the server
364
- # with a different CAS value to that provided
365
- # @raise [Libouchbase::Error::Timedout] if timeout interval for observe exceeds
366
- # @raise [Libouchbase::Error::NetworkError] if there was a communication issue
367
- # @raise [Libcouchbase::Error::KeyNotFound] if the key doesn't exists
368
- #
369
- # @example Simple prepend
370
- # c.set(:foo, "aaa")
371
- # c.prepend(:foo, "bbb")
372
- # c.get("foo") #=> "bbbaaa"
373
- #
374
- # @example Using optimistic locking. The operation will fail on CAS mismatch
375
- # resp = c.set("foo", "aaa")
376
- # c.prepend("foo", "bbb", cas: resp.cas)
377
- #
378
- # @example Ensure that the key will be persisted at least on the one node
379
- # c.prepend("foo", "bar", persist_to: 1)
380
- def prepend(key, value, async: false, **opts)
381
- result @connection.store(key, value, **PrependDefaults.merge(opts)), async
382
- end
383
- PrependDefaults = {operation: :prepend}.freeze
384
-
385
307
  # Increment the value of an existing numeric key
386
308
  #
387
309
  # The increment method allow you to increase or decrease a given stored
@@ -257,8 +257,6 @@ module Libcouchbase
257
257
  defer.promise
258
258
  end
259
259
 
260
- NonJsonValue = [:append, :prepend].freeze
261
-
262
260
  # http://docs.couchbase.com/sdk-api/couchbase-c-client-2.6.2/group__lcb-store.html
263
261
  # http://docs.couchbase.com/sdk-api/couchbase-c-client-2.6.2/group__lcb-durability.html
264
262
  def store(key, value,
@@ -287,14 +285,10 @@ module Libcouchbase
287
285
  cmd[:operation] = operation
288
286
  cmd[:flags] = flags
289
287
 
290
- if value.is_a?(String)
291
- str_value = value
292
- else
293
- str_value = begin
294
- JSON.generate([value])[1..-2]
295
- rescue
296
- value.respond_to?(:to_str) ? value.to_str : value.to_s
297
- end
288
+ str_value = begin
289
+ [value].to_json[1...-1]
290
+ rescue
291
+ [value.respond_to?(:to_str) ? value.to_str : value.to_s].to_json[1...-1]
298
292
  end
299
293
 
300
294
  req = Request.new(cmd, defer)
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true, encoding: ASCII-8BIT
2
2
 
3
3
  module Libcouchbase
4
- VERSION = '1.2.0'
4
+ VERSION = '1.2.1'
5
5
  end
@@ -26,31 +26,6 @@ describe Libcouchbase::Connection do
26
26
  expect(@log).to eq([true])
27
27
  end
28
28
 
29
- it "should store a raw key on the bucket" do
30
- @reactor.run { |reactor|
31
- connection = Libcouchbase::Connection.new
32
- connection.connect.then do
33
- connection.store('sometestkey', 'rawdata', format: :plain).then(proc {|resp|
34
- @log << resp.callback
35
- prom = connection.store('sometestkey', 'moredata', operation: :append)
36
- prom.then(proc { |success|
37
- connection.get('sometestkey').then(proc {|resp|
38
- @log << resp.value
39
- }, proc { |error|
40
- @log << error
41
- })
42
- }, proc { |error|
43
- @log << error
44
- })
45
- }, proc { |error|
46
- @log << error
47
- }).finally { connection.destroy }
48
- end
49
- }
50
-
51
- expect(@log).to eq([:callback_store, 'rawdatamoredata'])
52
- end
53
-
54
29
  it "should store a key on the default bucket" do
55
30
  @reactor.run { |reactor|
56
31
  connection = Libcouchbase::Connection.new
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: libcouchbase
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.0
4
+ version: 1.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Stephen von Takach