couchbase-jruby-client 0.2.0-java → 0.2.1-java
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.ruby-version +1 -1
- data/lib/couchbase/operations/arithmetic.rb +1 -1
- data/lib/couchbase/operations/delete.rb +2 -2
- data/lib/couchbase/operations/get.rb +5 -2
- data/lib/couchbase/operations/store.rb +1 -1
- data/lib/couchbase/operations/touch.rb +1 -1
- data/lib/couchbase/operations/utils.rb +15 -4
- data/lib/couchbase/version.rb +1 -1
- data/lib/couchbase/view_row.rb +1 -1
- data/lib/couchbase.rb +4 -4
- data/lib/jars/couchbase-client-1.3.2-javadoc.jar +0 -0
- data/lib/jars/{couchbase-client-1.2.3-sources.jar → couchbase-client-1.3.2-sources.jar} +0 -0
- data/lib/jars/couchbase-client-1.3.2.jar +0 -0
- data/lib/jars/httpcore-4.3.1.jar +0 -0
- data/lib/jars/httpcore-nio-4.3.1.jar +0 -0
- data/lib/jars/spymemcached-2.10.5-javadoc.jar +0 -0
- data/lib/jars/{spymemcached-2.10.3-sources.jar → spymemcached-2.10.5-sources.jar} +0 -0
- data/lib/jars/{spymemcached-2.10.3.jar → spymemcached-2.10.5.jar} +0 -0
- data/test/test_store.rb +1 -1
- data/test/test_utils.rb +18 -0
- data/test/test_view.rb +13 -0
- metadata +10 -10
- data/lib/jars/couchbase-client-1.2.3-javadoc.jar +0 -0
- data/lib/jars/couchbase-client-1.2.3.jar +0 -0
- data/lib/jars/httpcore-4.1.1.jar +0 -0
- data/lib/jars/httpcore-nio-4.1.1.jar +0 -0
- data/lib/jars/spymemcached-2.10.3-javadoc.jar +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3602c5d2a676e611e016787b1dfaea84f82dd738
|
4
|
+
data.tar.gz: a107ce06192daa7153e2e84c3e153404315f1aab
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0b1fcf6aa920b132318d3b0952b0e578a7220bb948f8ea35dba12f7c1bea9da89a6de07f83fb46a019bb2e2e31e7d54185ee63f2cd23eeef525a17b7ec529b0c
|
7
|
+
data.tar.gz: a82c445f29e05d27fb37d558c6258d6978db1c334dc56f103a28cb348d8ea1f3f5439a4d1b1afd5218f4818cfad40dbf688fd8576e7dd05616f54975436fda57
|
data/.ruby-version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
jruby-1.7.
|
1
|
+
jruby-1.7.11
|
@@ -82,7 +82,7 @@ module Couchbase::Operations
|
|
82
82
|
key, options = expand_get_args(args)
|
83
83
|
|
84
84
|
if key.respond_to?(:to_str)
|
85
|
-
[key, options[:cas], options]
|
85
|
+
[validate_key(key), options[:cas], options]
|
86
86
|
else
|
87
87
|
cas = if key.size > 1 &&
|
88
88
|
key.last.respond_to?(:to_int)
|
@@ -93,7 +93,7 @@ module Couchbase::Operations
|
|
93
93
|
|
94
94
|
key = key.size == 1 ? key.first : key
|
95
95
|
|
96
|
-
[key, cas, options]
|
96
|
+
[validate_key(key), cas, options]
|
97
97
|
end
|
98
98
|
end
|
99
99
|
|
@@ -155,6 +155,7 @@ module Couchbase::Operations
|
|
155
155
|
end
|
156
156
|
|
157
157
|
def get_bulk(keys, options)
|
158
|
+
keys = keys.map { |key| validate_key(key) }
|
158
159
|
results = if options[:extended]
|
159
160
|
get_bulk_extended(keys, options)
|
160
161
|
else
|
@@ -175,11 +176,13 @@ module Couchbase::Operations
|
|
175
176
|
|
176
177
|
case key
|
177
178
|
when String, Symbol
|
179
|
+
key = validate_key(key)
|
178
180
|
meta = { op: :get, key: key }
|
179
181
|
future = client.asyncGet(key)
|
180
182
|
when Array
|
183
|
+
keys = key.map { |key| validate_key(key) }
|
181
184
|
meta = { op: :get }
|
182
|
-
future = client.asyncGetBulk(
|
185
|
+
future = client.asyncGetBulk(keys)
|
183
186
|
when Hash
|
184
187
|
# async_get_and_touch(key, options, &block)
|
185
188
|
end
|
@@ -203,7 +206,7 @@ module Couchbase::Operations
|
|
203
206
|
options = extract_options_hash(args)
|
204
207
|
key = args.size == 1 ? args.first : args
|
205
208
|
|
206
|
-
[key, options]
|
209
|
+
[validate_key(key), options]
|
207
210
|
end
|
208
211
|
|
209
212
|
def get_single(key, options)
|
@@ -386,7 +386,7 @@ module Couchbase::Operations
|
|
386
386
|
ttl = options.delete(:ttl) || default_ttl
|
387
387
|
transcoder = @transcoders[options.delete(:format)] || self.transcoder
|
388
388
|
|
389
|
-
[key, value, ttl, transcoder]
|
389
|
+
[validate_key(key), value, ttl, transcoder]
|
390
390
|
end
|
391
391
|
|
392
392
|
def store_op(op, key, value, options = {})
|
@@ -21,11 +21,22 @@ module Couchbase::Operations
|
|
21
21
|
private
|
22
22
|
|
23
23
|
def validate_key(key)
|
24
|
-
if
|
25
|
-
|
26
|
-
|
27
|
-
|
24
|
+
raise ArgumentError, "key cannot be blank" if !key || key.length == 0
|
25
|
+
key = key_with_prefix(key)
|
26
|
+
|
27
|
+
if key.length > 250
|
28
|
+
max_length = key_prefix ? 212 - key_prefix.size : 212
|
29
|
+
key = "#{key[0, max_length]}:md5:#{Digest::MD5.hexdigest(key)}"
|
28
30
|
end
|
31
|
+
return key
|
32
|
+
end
|
33
|
+
|
34
|
+
def key_with_prefix(key)
|
35
|
+
(prefix = key_prefix) ? "#{prefix}:#{key}" : key
|
36
|
+
end
|
37
|
+
|
38
|
+
def key_without_prefix(key)
|
39
|
+
(prefix = key_prefix) ? key.sub(%r(\A#{prefix}:), '') : key
|
29
40
|
end
|
30
41
|
|
31
42
|
def extract_options_hash(args)
|
data/lib/couchbase/version.rb
CHANGED
data/lib/couchbase/view_row.rb
CHANGED
@@ -126,10 +126,10 @@ module Couchbase
|
|
126
126
|
@data = data
|
127
127
|
@key = data.key
|
128
128
|
@last = false
|
129
|
+
@id = data.id unless data.is_a?(ViewRowReduced)
|
129
130
|
|
130
131
|
case data
|
131
132
|
when ViewRowWithDocs, SpatialViewRowWithDocs
|
132
|
-
@id = data.id
|
133
133
|
@doc = data.document
|
134
134
|
when ViewRowReduced
|
135
135
|
@value = MultiJson.load(data.value)
|
data/lib/couchbase.rb
CHANGED
@@ -22,12 +22,12 @@ end
|
|
22
22
|
|
23
23
|
require 'java'
|
24
24
|
require 'jars/commons-codec-1.5.jar'
|
25
|
-
require 'jars/couchbase-client-1.2.
|
25
|
+
require 'jars/couchbase-client-1.3.2.jar'
|
26
26
|
require 'jars/jettison-1.1.jar'
|
27
|
-
require 'jars/httpcore-4.
|
27
|
+
require 'jars/httpcore-4.3.1.jar'
|
28
|
+
require 'jars/httpcore-nio-4.3.1.jar'
|
28
29
|
require 'jars/netty-3.5.5.Final.jar'
|
29
|
-
require 'jars/spymemcached-2.10.
|
30
|
-
require 'jars/httpcore-nio-4.1.1.jar'
|
30
|
+
require 'jars/spymemcached-2.10.5.jar'
|
31
31
|
require 'couchbase/version'
|
32
32
|
require 'uri'
|
33
33
|
require 'thread_safe'
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
data/test/test_store.rb
CHANGED
data/test/test_utils.rb
CHANGED
@@ -19,6 +19,24 @@ require File.join(File.dirname(__FILE__), 'setup')
|
|
19
19
|
|
20
20
|
class TestUtils < Minitest::Test
|
21
21
|
|
22
|
+
def test_nil_or_empty_key
|
23
|
+
assert_raises ArgumentError do
|
24
|
+
cb.set(nil, 'fu')
|
25
|
+
end
|
26
|
+
|
27
|
+
assert_raises ArgumentError do
|
28
|
+
cb.set('', 'bar')
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
def test_truncate_long_keys
|
33
|
+
key = 'a' * 500
|
34
|
+
|
35
|
+
assert cb.set(key, 'fu')
|
36
|
+
assert_equal 'fu', cb.get(key)
|
37
|
+
assert cb.delete(key)
|
38
|
+
end
|
39
|
+
|
22
40
|
def test_complex_startkey
|
23
41
|
assert_equal "all_docs?startkey=%5B%22Deadmau5%22%2C%22%22%5D", Couchbase::Utils.build_query("all_docs", :startkey => ["Deadmau5", ""])
|
24
42
|
end
|
data/test/test_view.rb
CHANGED
@@ -55,6 +55,19 @@ class TestView < Minitest::Test
|
|
55
55
|
assert results.first.doc.nil?
|
56
56
|
assert_equal 4, results.total_rows
|
57
57
|
results.each do |result|
|
58
|
+
%w(bob frank sam fred).include?(result.id)
|
59
|
+
%w(bob frank sam fred).include?(result.key)
|
60
|
+
end
|
61
|
+
end
|
62
|
+
|
63
|
+
def test_fetch_no_docs
|
64
|
+
skip unless $mock.real?
|
65
|
+
assert results = view.fetch(include_docs: false, stale: false)
|
66
|
+
assert_instance_of Couchbase::ViewRow, results.first
|
67
|
+
assert results.first.doc.nil?
|
68
|
+
assert_equal 4, results.total_rows
|
69
|
+
results.each do |result|
|
70
|
+
%w(bob frank sam fred).include?(result.id)
|
58
71
|
%w(bob frank sam fred).include?(result.key)
|
59
72
|
end
|
60
73
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: couchbase-jruby-client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.1
|
5
5
|
platform: java
|
6
6
|
authors:
|
7
7
|
- Mike Evans
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-03-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: multi_json
|
@@ -166,16 +166,16 @@ files:
|
|
166
166
|
- lib/couchbase/view.rb
|
167
167
|
- lib/couchbase/view_row.rb
|
168
168
|
- lib/jars/commons-codec-1.5.jar
|
169
|
-
- lib/jars/couchbase-client-1.2
|
170
|
-
- lib/jars/couchbase-client-1.2
|
171
|
-
- lib/jars/couchbase-client-1.2.
|
172
|
-
- lib/jars/httpcore-4.
|
173
|
-
- lib/jars/httpcore-nio-4.
|
169
|
+
- lib/jars/couchbase-client-1.3.2-javadoc.jar
|
170
|
+
- lib/jars/couchbase-client-1.3.2-sources.jar
|
171
|
+
- lib/jars/couchbase-client-1.3.2.jar
|
172
|
+
- lib/jars/httpcore-4.3.1.jar
|
173
|
+
- lib/jars/httpcore-nio-4.3.1.jar
|
174
174
|
- lib/jars/jettison-1.1.jar
|
175
175
|
- lib/jars/netty-3.5.5.Final.jar
|
176
|
-
- lib/jars/spymemcached-2.10.
|
177
|
-
- lib/jars/spymemcached-2.10.
|
178
|
-
- lib/jars/spymemcached-2.10.
|
176
|
+
- lib/jars/spymemcached-2.10.5-javadoc.jar
|
177
|
+
- lib/jars/spymemcached-2.10.5-sources.jar
|
178
|
+
- lib/jars/spymemcached-2.10.5.jar
|
179
179
|
- tasks/benchmark.rake
|
180
180
|
- tasks/test.rake
|
181
181
|
- tasks/util.rake
|
Binary file
|
Binary file
|
data/lib/jars/httpcore-4.1.1.jar
DELETED
Binary file
|
Binary file
|
Binary file
|