couchbase-jruby-client 0.1.0-java

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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