couchbase-jruby-client 0.1.0-java

Sign up to get free protection for your applications and to get access to all the features.
Files changed (65) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +17 -0
  3. data/.ruby-version +1 -0
  4. data/Gemfile +4 -0
  5. data/LICENSE.txt +203 -0
  6. data/README.md +347 -0
  7. data/Rakefile +10 -0
  8. data/couchbase-jruby-client.gemspec +30 -0
  9. data/lib/couchbase/async/callback.rb +19 -0
  10. data/lib/couchbase/async/queue.rb +26 -0
  11. data/lib/couchbase/async.rb +139 -0
  12. data/lib/couchbase/bucket.rb +663 -0
  13. data/lib/couchbase/cluster.rb +105 -0
  14. data/lib/couchbase/constants.rb +12 -0
  15. data/lib/couchbase/error.rb +28 -0
  16. data/lib/couchbase/jruby/couchbase_client.rb +22 -0
  17. data/lib/couchbase/jruby/future.rb +8 -0
  18. data/lib/couchbase/operations/arithmetic.rb +301 -0
  19. data/lib/couchbase/operations/delete.rb +104 -0
  20. data/lib/couchbase/operations/get.rb +298 -0
  21. data/lib/couchbase/operations/stats.rb +16 -0
  22. data/lib/couchbase/operations/store.rb +468 -0
  23. data/lib/couchbase/operations/touch.rb +123 -0
  24. data/lib/couchbase/operations/utils.rb +49 -0
  25. data/lib/couchbase/operations.rb +23 -0
  26. data/lib/couchbase/result.rb +43 -0
  27. data/lib/couchbase/transcoder.rb +83 -0
  28. data/lib/couchbase/utils.rb +62 -0
  29. data/lib/couchbase/version.rb +3 -0
  30. data/lib/couchbase/view.rb +506 -0
  31. data/lib/couchbase/view_row.rb +272 -0
  32. data/lib/couchbase.rb +177 -0
  33. data/lib/jars/commons-codec-1.5.jar +0 -0
  34. data/lib/jars/couchbase-client-1.2.0-javadoc.jar +0 -0
  35. data/lib/jars/couchbase-client-1.2.0-sources.jar +0 -0
  36. data/lib/jars/couchbase-client-1.2.0.jar +0 -0
  37. data/lib/jars/httpcore-4.1.1.jar +0 -0
  38. data/lib/jars/httpcore-nio-4.1.1.jar +0 -0
  39. data/lib/jars/jettison-1.1.jar +0 -0
  40. data/lib/jars/netty-3.5.5.Final.jar +0 -0
  41. data/lib/jars/spymemcached-2.10.0-javadoc.jar +0 -0
  42. data/lib/jars/spymemcached-2.10.0-sources.jar +0 -0
  43. data/lib/jars/spymemcached-2.10.0.jar +0 -0
  44. data/test/profile/.gitignore +1 -0
  45. data/test/profile/Gemfile +6 -0
  46. data/test/profile/benchmark.rb +195 -0
  47. data/test/setup.rb +201 -0
  48. data/test/test_arithmetic.rb +177 -0
  49. data/test/test_async.rb +324 -0
  50. data/test/test_bucket.rb +213 -0
  51. data/test/test_cas.rb +78 -0
  52. data/test/test_couchbase.rb +29 -0
  53. data/test/test_couchbase_rails_cache_store.rb +341 -0
  54. data/test/test_delete.rb +125 -0
  55. data/test/test_errors.rb +82 -0
  56. data/test/test_format.rb +161 -0
  57. data/test/test_get.rb +417 -0
  58. data/test/test_stats.rb +57 -0
  59. data/test/test_store.rb +216 -0
  60. data/test/test_timer.rb +42 -0
  61. data/test/test_touch.rb +97 -0
  62. data/test/test_unlock.rb +119 -0
  63. data/test/test_utils.rb +58 -0
  64. data/test/test_version.rb +52 -0
  65. metadata +226 -0
@@ -0,0 +1,42 @@
1
+ # Author:: Couchbase <info@couchbase.com>
2
+ # Copyright:: 2012 Couchbase, Inc.
3
+ # License:: Apache License, Version 2.0
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+ #
17
+
18
+ require File.join(File.dirname(__FILE__), 'setup')
19
+
20
+ class TestTimer < MiniTest::Test
21
+
22
+ def setup
23
+ @mock = start_mock
24
+ end
25
+
26
+ def teardown
27
+ stop_mock(@mock)
28
+ end
29
+
30
+ def test_initialization
31
+ connection = Couchbase.new(:hostname => @mock.host, :port => @mock.port)
32
+ num = 0
33
+ connection.run do
34
+ assert Couchbase::Timer.new(connection, 100) { num += 1}
35
+ assert connection.create_timer(100) { num += 1}
36
+
37
+ assert Couchbase::Timer.new(connection, 100, :periodic => true) {|t| num += 1; t.cancel}
38
+ assert connection.create_periodic_timer(100) {|t| num += 1; t.cancel}
39
+ end
40
+ assert_equal 4, num
41
+ end
42
+ end
@@ -0,0 +1,97 @@
1
+ # Author:: Couchbase <info@couchbase.com>
2
+ # Copyright:: 2011, 2012 Couchbase, Inc.
3
+ # License:: Apache License, Version 2.0
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+ #
17
+
18
+ require File.join(File.dirname(__FILE__), 'setup')
19
+
20
+ class TestTouch < MiniTest::Test
21
+
22
+ def setup
23
+ @mock = start_mock
24
+ end
25
+
26
+ def teardown
27
+ stop_mock(@mock)
28
+ end
29
+
30
+ def test_trivial_touch
31
+ connection = Couchbase.new(:hostname => @mock.host, :port => @mock.port)
32
+ connection.set(uniq_id, "bar", :ttl => 1)
33
+ connection.touch(uniq_id, :ttl => 2)
34
+ sleep(1)
35
+ assert connection.get(uniq_id)
36
+ sleep(2)
37
+ assert_raises(Couchbase::Error::NotFound) do
38
+ connection.get(uniq_id)
39
+ end
40
+ end
41
+
42
+ def test_multi_touch
43
+ connection = Couchbase.new(:port => @mock.port)
44
+ connection.set(uniq_id(1), "bar")
45
+ connection.set(uniq_id(2), "baz")
46
+ ret = connection.touch(uniq_id(1) => 1, uniq_id(2) => 1)
47
+ assert ret[uniq_id(1)]
48
+ assert ret[uniq_id(2)]
49
+ sleep(2)
50
+ assert_raises(Couchbase::Error::NotFound) do
51
+ connection.get(uniq_id(1))
52
+ end
53
+ assert_raises(Couchbase::Error::NotFound) do
54
+ connection.get(uniq_id(2))
55
+ end
56
+ end
57
+
58
+ def test_it_uses_default_ttl_for_touch
59
+ connection = Couchbase.new(:hostname => @mock.host, :port => @mock.port, :default_ttl => 1)
60
+ connection.set(uniq_id, "bar", :ttl => 10)
61
+ connection.touch(uniq_id)
62
+ sleep(2)
63
+ assert_raises(Couchbase::Error::NotFound) do
64
+ connection.get(uniq_id)
65
+ end
66
+ end
67
+
68
+ def test_it_accepts_ttl_for_get_command
69
+ connection = Couchbase.new(:hostname => @mock.host, :port => @mock.port)
70
+ connection.set(uniq_id, "bar", :ttl => 10)
71
+ val = connection.get(uniq_id, :ttl => 1)
72
+ assert_equal "bar", val
73
+ sleep(2)
74
+ assert_raises(Couchbase::Error::NotFound) do
75
+ connection.get(uniq_id)
76
+ end
77
+ end
78
+
79
+ def test_missing_in_quiet_mode
80
+ connection = Couchbase.new(:hostname => @mock.host, :port => @mock.port, :quiet => true)
81
+ cas1 = connection.set(uniq_id(1), "foo1")
82
+ cas2 = connection.set(uniq_id(2), "foo2")
83
+
84
+ assert_raises(Couchbase::Error::NotFound) do
85
+ connection.touch(uniq_id(:missing), :quiet => false)
86
+ end
87
+
88
+ val = connection.touch(uniq_id(:missing))
89
+ refute(val)
90
+
91
+ ret = connection.touch(uniq_id(1), uniq_id(:missing), uniq_id(2))
92
+ assert_equal true, ret[uniq_id(1)]
93
+ assert_equal false, ret[uniq_id(:missing)]
94
+ assert_equal true, ret[uniq_id(2)]
95
+ end
96
+
97
+ end
@@ -0,0 +1,119 @@
1
+ # Author:: Couchbase <info@couchbase.com>
2
+ # Copyright:: 2011, 2012 Couchbase, Inc.
3
+ # License:: Apache License, Version 2.0
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+ #
17
+
18
+ require File.join(File.dirname(__FILE__), 'setup')
19
+
20
+ class TestUnlock < MiniTest::Test
21
+
22
+ def setup
23
+ @mock = start_mock
24
+ end
25
+
26
+ def teardown
27
+ stop_mock(@mock)
28
+ end
29
+
30
+ def test_trivial_unlock
31
+ if @mock.real?
32
+ connection = Couchbase.new(:hostname => @mock.host, :port => @mock.port)
33
+ connection.set(uniq_id, "foo")
34
+ _, _, cas = connection.get(uniq_id, :lock => true, :extended => true)
35
+ assert_raises Couchbase::Error::KeyExists do
36
+ connection.set(uniq_id, "bar")
37
+ end
38
+ assert connection.unlock(uniq_id, :cas => cas)
39
+ connection.set(uniq_id, "bar")
40
+ else
41
+ skip("GETL and UNL aren't implemented in CouchbaseMock.jar yet")
42
+ end
43
+ end
44
+
45
+ def test_alternative_syntax_for_single_key
46
+ if @mock.real?
47
+ connection = Couchbase.new(:hostname => @mock.host, :port => @mock.port)
48
+ connection.set(uniq_id, "foo")
49
+ _, _, cas = connection.get(uniq_id, :lock => true, :extended => true)
50
+ assert_raises Couchbase::Error::KeyExists do
51
+ connection.set(uniq_id, "bar")
52
+ end
53
+ assert connection.unlock(uniq_id, cas)
54
+ connection.set(uniq_id, "bar")
55
+ else
56
+ skip("GETL and UNL aren't implemented in CouchbaseMock.jar yet")
57
+ end
58
+ end
59
+
60
+ def test_multiple_unlock
61
+ if @mock.real?
62
+ connection = Couchbase.new(:hostname => @mock.host, :port => @mock.port)
63
+ connection.set(uniq_id(1), "foo")
64
+ connection.set(uniq_id(2), "foo")
65
+ info = connection.get(uniq_id(1), uniq_id(2), :lock => true, :extended => true)
66
+ assert_raises Couchbase::Error::KeyExists do
67
+ connection.set(uniq_id(1), "bar")
68
+ end
69
+ assert_raises Couchbase::Error::KeyExists do
70
+ connection.set(uniq_id(2), "bar")
71
+ end
72
+ ret = connection.unlock(uniq_id(1) => info[uniq_id(1)][2],
73
+ uniq_id(2) => info[uniq_id(2)][2])
74
+ assert ret[uniq_id(1)]
75
+ assert ret[uniq_id(2)]
76
+ connection.set(uniq_id(1), "bar")
77
+ connection.set(uniq_id(2), "bar")
78
+ else
79
+ skip("GETL and UNL aren't implemented in CouchbaseMock.jar yet")
80
+ end
81
+ end
82
+
83
+ def test_quiet_mode
84
+ if @mock.real?
85
+ connection = Couchbase.new(:hostname => @mock.host, :port => @mock.port)
86
+ connection.set(uniq_id, "foo")
87
+ _, _, cas = connection.get(uniq_id, :lock => true, :extended => true)
88
+ assert_raises Couchbase::Error::NotFound do
89
+ connection.unlock(uniq_id(:missing), :cas => 0xdeadbeef)
90
+ end
91
+ keys = {
92
+ uniq_id => cas,
93
+ uniq_id(:missing) => 0xdeadbeef
94
+ }
95
+ ret = connection.unlock(keys, :quiet => true)
96
+ assert ret[uniq_id]
97
+ refute ret[uniq_id(:missing)]
98
+ else
99
+ skip("GETL and UNL aren't implemented in CouchbaseMock.jar yet")
100
+ end
101
+ end
102
+
103
+ def test_tmp_failure
104
+ if @mock.real?
105
+ connection = Couchbase.new(:hostname => @mock.host, :port => @mock.port)
106
+ cas1 = connection.set(uniq_id(1), "foo")
107
+ cas2 = connection.set(uniq_id(2), "foo")
108
+ connection.get(uniq_id(1), :lock => true) # get with lock will update CAS
109
+ assert_raises Couchbase::Error::TemporaryFail do
110
+ connection.unlock(uniq_id(1), cas1)
111
+ end
112
+ assert_raises Couchbase::Error::TemporaryFail do
113
+ connection.unlock(uniq_id(2), cas2)
114
+ end
115
+ else
116
+ skip("GETL and UNL aren't implemented in CouchbaseMock.jar yet")
117
+ end
118
+ end
119
+ end
@@ -0,0 +1,58 @@
1
+ # Author:: Couchbase <info@couchbase.com>
2
+ # Copyright:: 2011, 2012 Couchbase, Inc.
3
+ # License:: Apache License, Version 2.0
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+ #
17
+
18
+ require File.join(File.dirname(__FILE__), 'setup')
19
+
20
+ class TestUtils < MiniTest::Test
21
+
22
+ def setup
23
+ @mock = start_mock
24
+ end
25
+
26
+ def teardown
27
+ stop_mock(@mock)
28
+ end
29
+
30
+ def test_complex_startkey
31
+ assert_equal "all_docs?startkey=%5B%22Deadmau5%22%2C%22%22%5D", Couchbase::Utils.build_query("all_docs", :startkey => ["Deadmau5", ""])
32
+ end
33
+
34
+ def test_it_provides_enough_info_with_value_error
35
+ class << MultiJson
36
+ alias dump_good dump
37
+ def dump(obj)
38
+ raise ArgumentError, "cannot accept your object"
39
+ end
40
+ end
41
+ connection = Couchbase.new(:hostname => @mock.host, :port => @mock.port)
42
+ assert_raises(Couchbase::Error::ValueFormat) do
43
+ connection.set(uniq_id, "foo")
44
+ end
45
+ begin
46
+ connection.set(uniq_id, "foo")
47
+ rescue Couchbase::Error::ValueFormat => ex
48
+ assert_match /cannot accept your object/, ex.to_s
49
+ assert_instance_of ArgumentError, ex.inner_exception
50
+ end
51
+ ensure
52
+ class << MultiJson
53
+ undef dump
54
+ alias dump dump_good
55
+ end
56
+ end
57
+
58
+ end
@@ -0,0 +1,52 @@
1
+ # Author:: Couchbase <info@couchbase.com>
2
+ # Copyright:: 2011, 2012 Couchbase, Inc.
3
+ # License:: Apache License, Version 2.0
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # http://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+ #
17
+
18
+ require File.join(File.dirname(__FILE__), 'setup')
19
+
20
+ class TestVersion < MiniTest::Test
21
+
22
+ def setup
23
+ @mock = start_mock
24
+ end
25
+
26
+ def teardown
27
+ stop_mock(@mock)
28
+ end
29
+
30
+ def test_sync_version
31
+ connection = Couchbase.new(:hostname => @mock.host, :port => @mock.port)
32
+ ver = connection.version
33
+ assert ver.is_a?(Hash)
34
+ assert_equal @mock.num_nodes, ver.size
35
+ end
36
+
37
+ def test_async_version
38
+ connection = Couchbase.new(:hostname => @mock.host, :port => @mock.port)
39
+ ver = {}
40
+ connection.run do |conn|
41
+ conn.version do |ret|
42
+ assert ret.success?
43
+ ver[ret.node] = ret.value
44
+ end
45
+ end
46
+ assert_equal @mock.num_nodes, ver.size
47
+ ver.each do |node, v|
48
+ assert v.is_a?(String)
49
+ end
50
+ end
51
+
52
+ end
metadata ADDED
@@ -0,0 +1,226 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: couchbase-jruby-client
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: java
6
+ authors:
7
+ - Mike Evans
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2013-10-15 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: multi_json
15
+ version_requirements: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ~>
18
+ - !ruby/object:Gem::Version
19
+ version: '1.0'
20
+ requirement: !ruby/object:Gem::Requirement
21
+ requirements:
22
+ - - ~>
23
+ - !ruby/object:Gem::Version
24
+ version: '1.0'
25
+ prerelease: false
26
+ type: :runtime
27
+ - !ruby/object:Gem::Dependency
28
+ name: atomic
29
+ version_requirements: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ~>
32
+ - !ruby/object:Gem::Version
33
+ version: 1.1.14
34
+ requirement: !ruby/object:Gem::Requirement
35
+ requirements:
36
+ - - ~>
37
+ - !ruby/object:Gem::Version
38
+ version: 1.1.14
39
+ prerelease: false
40
+ type: :runtime
41
+ - !ruby/object:Gem::Dependency
42
+ name: bundler
43
+ version_requirements: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ~>
46
+ - !ruby/object:Gem::Version
47
+ version: '1.3'
48
+ requirement: !ruby/object:Gem::Requirement
49
+ requirements:
50
+ - - ~>
51
+ - !ruby/object:Gem::Version
52
+ version: '1.3'
53
+ prerelease: false
54
+ type: :development
55
+ - !ruby/object:Gem::Dependency
56
+ name: rake
57
+ version_requirements: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ requirement: !ruby/object:Gem::Requirement
63
+ requirements:
64
+ - - '>='
65
+ - !ruby/object:Gem::Version
66
+ version: '0'
67
+ prerelease: false
68
+ type: :development
69
+ - !ruby/object:Gem::Dependency
70
+ name: minitest
71
+ version_requirements: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ~>
74
+ - !ruby/object:Gem::Version
75
+ version: 5.0.4
76
+ requirement: !ruby/object:Gem::Requirement
77
+ requirements:
78
+ - - ~>
79
+ - !ruby/object:Gem::Version
80
+ version: 5.0.4
81
+ prerelease: false
82
+ type: :development
83
+ - !ruby/object:Gem::Dependency
84
+ name: active_support
85
+ version_requirements: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - '>='
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ requirement: !ruby/object:Gem::Requirement
91
+ requirements:
92
+ - - '>='
93
+ - !ruby/object:Gem::Version
94
+ version: '0'
95
+ prerelease: false
96
+ type: :development
97
+ - !ruby/object:Gem::Dependency
98
+ name: pry
99
+ version_requirements: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - '>='
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ requirement: !ruby/object:Gem::Requirement
105
+ requirements:
106
+ - - '>='
107
+ - !ruby/object:Gem::Version
108
+ version: '0'
109
+ prerelease: false
110
+ type: :development
111
+ description: Couchbase JRuby driver
112
+ email:
113
+ - mike@urlgonomics.com
114
+ executables: []
115
+ extensions: []
116
+ extra_rdoc_files: []
117
+ files:
118
+ - .gitignore
119
+ - .ruby-version
120
+ - Gemfile
121
+ - LICENSE.txt
122
+ - README.md
123
+ - Rakefile
124
+ - couchbase-jruby-client.gemspec
125
+ - lib/couchbase.rb
126
+ - lib/couchbase/async.rb
127
+ - lib/couchbase/async/callback.rb
128
+ - lib/couchbase/async/queue.rb
129
+ - lib/couchbase/bucket.rb
130
+ - lib/couchbase/cluster.rb
131
+ - lib/couchbase/constants.rb
132
+ - lib/couchbase/error.rb
133
+ - lib/couchbase/jruby/couchbase_client.rb
134
+ - lib/couchbase/jruby/future.rb
135
+ - lib/couchbase/operations.rb
136
+ - lib/couchbase/operations/arithmetic.rb
137
+ - lib/couchbase/operations/delete.rb
138
+ - lib/couchbase/operations/get.rb
139
+ - lib/couchbase/operations/stats.rb
140
+ - lib/couchbase/operations/store.rb
141
+ - lib/couchbase/operations/touch.rb
142
+ - lib/couchbase/operations/utils.rb
143
+ - lib/couchbase/result.rb
144
+ - lib/couchbase/transcoder.rb
145
+ - lib/couchbase/utils.rb
146
+ - lib/couchbase/version.rb
147
+ - lib/couchbase/view.rb
148
+ - lib/couchbase/view_row.rb
149
+ - lib/jars/commons-codec-1.5.jar
150
+ - lib/jars/couchbase-client-1.2.0-javadoc.jar
151
+ - lib/jars/couchbase-client-1.2.0-sources.jar
152
+ - lib/jars/couchbase-client-1.2.0.jar
153
+ - lib/jars/httpcore-4.1.1.jar
154
+ - lib/jars/httpcore-nio-4.1.1.jar
155
+ - lib/jars/jettison-1.1.jar
156
+ - lib/jars/netty-3.5.5.Final.jar
157
+ - lib/jars/spymemcached-2.10.0-javadoc.jar
158
+ - lib/jars/spymemcached-2.10.0-sources.jar
159
+ - lib/jars/spymemcached-2.10.0.jar
160
+ - test/profile/.gitignore
161
+ - test/profile/Gemfile
162
+ - test/profile/benchmark.rb
163
+ - test/setup.rb
164
+ - test/test_arithmetic.rb
165
+ - test/test_async.rb
166
+ - test/test_bucket.rb
167
+ - test/test_cas.rb
168
+ - test/test_couchbase.rb
169
+ - test/test_couchbase_rails_cache_store.rb
170
+ - test/test_delete.rb
171
+ - test/test_errors.rb
172
+ - test/test_format.rb
173
+ - test/test_get.rb
174
+ - test/test_stats.rb
175
+ - test/test_store.rb
176
+ - test/test_timer.rb
177
+ - test/test_touch.rb
178
+ - test/test_unlock.rb
179
+ - test/test_utils.rb
180
+ - test/test_version.rb
181
+ homepage: https://github.com/mje113/couchbase-jruby-client
182
+ licenses:
183
+ - Apache
184
+ metadata: {}
185
+ post_install_message:
186
+ rdoc_options: []
187
+ require_paths:
188
+ - lib
189
+ required_ruby_version: !ruby/object:Gem::Requirement
190
+ requirements:
191
+ - - '>='
192
+ - !ruby/object:Gem::Version
193
+ version: '0'
194
+ required_rubygems_version: !ruby/object:Gem::Requirement
195
+ requirements:
196
+ - - '>='
197
+ - !ruby/object:Gem::Version
198
+ version: '0'
199
+ requirements: []
200
+ rubyforge_project:
201
+ rubygems_version: 2.1.5
202
+ signing_key:
203
+ specification_version: 4
204
+ summary: The unofficial jruby client library for use with Couchbase Server.
205
+ test_files:
206
+ - test/profile/.gitignore
207
+ - test/profile/Gemfile
208
+ - test/profile/benchmark.rb
209
+ - test/setup.rb
210
+ - test/test_arithmetic.rb
211
+ - test/test_async.rb
212
+ - test/test_bucket.rb
213
+ - test/test_cas.rb
214
+ - test/test_couchbase.rb
215
+ - test/test_couchbase_rails_cache_store.rb
216
+ - test/test_delete.rb
217
+ - test/test_errors.rb
218
+ - test/test_format.rb
219
+ - test/test_get.rb
220
+ - test/test_stats.rb
221
+ - test/test_store.rb
222
+ - test/test_timer.rb
223
+ - test/test_touch.rb
224
+ - test/test_unlock.rb
225
+ - test/test_utils.rb
226
+ - test/test_version.rb