couchbase-jruby-client 0.1.0-java → 0.1.5-java

Sign up to get free protection for your applications and to get access to all the features.
Files changed (54) hide show
  1. checksums.yaml +4 -4
  2. data/.jrubyrc +722 -0
  3. data/.ruby-version +1 -1
  4. data/README.md +12 -90
  5. data/couchbase-jruby-client.gemspec +6 -6
  6. data/lib/couchbase/async.rb +18 -0
  7. data/lib/couchbase/bucket.rb +90 -180
  8. data/lib/couchbase/constants.rb +17 -0
  9. data/lib/couchbase/design_doc.rb +83 -0
  10. data/lib/couchbase/error.rb +31 -0
  11. data/lib/couchbase/operations/arithmetic.rb +17 -0
  12. data/lib/couchbase/operations/delete.rb +17 -0
  13. data/lib/couchbase/operations/design_docs.rb +99 -0
  14. data/lib/couchbase/operations/get.rb +73 -67
  15. data/lib/couchbase/operations/stats.rb +28 -1
  16. data/lib/couchbase/operations/store.rb +114 -97
  17. data/lib/couchbase/operations/touch.rb +49 -19
  18. data/lib/couchbase/operations/unlock.rb +209 -0
  19. data/lib/couchbase/operations/utils.rb +22 -10
  20. data/lib/couchbase/operations.rb +21 -0
  21. data/lib/couchbase/query.rb +92 -0
  22. data/lib/couchbase/result.rb +18 -1
  23. data/lib/couchbase/transcoder.rb +36 -42
  24. data/lib/couchbase/version.rb +18 -1
  25. data/lib/couchbase/view.rb +30 -172
  26. data/lib/couchbase/view_row.rb +38 -98
  27. data/lib/couchbase.rb +74 -72
  28. data/test/profile/.jrubyrc +722 -0
  29. data/test/profile/Gemfile +5 -5
  30. data/test/profile/benchmark.rb +106 -124
  31. data/test/profile/profile.rb +59 -0
  32. data/test/setup.rb +10 -145
  33. data/test/test_arithmetic.rb +54 -77
  34. data/test/test_async.rb +74 -102
  35. data/test/test_bucket.rb +74 -60
  36. data/test/test_cas.rb +10 -23
  37. data/test/test_couchbase.rb +11 -3
  38. data/test/test_delete.rb +41 -43
  39. data/test/test_design_docs.rb +62 -0
  40. data/test/test_errors.rb +9 -18
  41. data/test/test_format.rb +21 -31
  42. data/test/test_get.rb +107 -151
  43. data/test/test_query.rb +23 -0
  44. data/test/test_stats.rb +9 -24
  45. data/test/test_store.rb +52 -65
  46. data/test/test_timer.rb +4 -12
  47. data/test/test_touch.rb +26 -33
  48. data/test/test_unlock.rb +47 -78
  49. data/test/test_utils.rb +2 -11
  50. data/test/test_version.rb +5 -14
  51. data/test/test_view.rb +87 -0
  52. metadata +27 -14
  53. data/lib/couchbase/jruby/couchbase_client.rb +0 -22
  54. data/lib/couchbase/jruby/future.rb +0 -8
data/test/test_view.rb ADDED
@@ -0,0 +1,87 @@
1
+ # Author:: Mike Evans <mike@urlgonomics.com>
2
+ # Copyright:: 2013 Urlgonomics LLC.
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 TestView < MiniTest::Test
21
+
22
+ def setup
23
+ @path = '_design/users/_view/by_age'
24
+ cb.save_design_doc(design_doc)
25
+ { bob: 32, frank: 25, sam: 42, fred: 21 }.each_pair do |name, age|
26
+ cb.set(name, { type: 'user', name: name, age: age })
27
+ end
28
+ @view = Couchbase::View.new(cb, @path)
29
+ end
30
+
31
+ def test_initialize
32
+ assert_equal 'users', @view.design_doc
33
+ assert_equal 'by_age', @view.name
34
+ end
35
+
36
+ def test_simple_fetch
37
+ assert results = @view.fetch
38
+ assert results.is_a?(Couchbase::View::ArrayWithTotalRows)
39
+ end
40
+
41
+ def test_fetch_without_stale
42
+ assert results = @view.fetch(stale: false)
43
+ assert results.first.is_a?(Couchbase::ViewRow)
44
+ assert results.first.doc.nil?
45
+ assert_equal 4, results.total_rows
46
+ results.each do |result|
47
+ %w(bob frank sam fred).include?(result.key)
48
+ end
49
+ end
50
+
51
+ def test_fetch_with_docs
52
+ assert results = @view.fetch(stale: false, include_docs: true)
53
+ assert results.is_a?(Array)
54
+ assert results.first.doc.is_a?(Hash)
55
+ end
56
+
57
+ def test_fetch_with_block
58
+ refute @view.fetch(stale: false, include_docs: true) { |row|
59
+ assert row.is_a?(Couchbase::ViewRow)
60
+ assert row.doc['name'].is_a?(String)
61
+ assert row.doc['age'].is_a?(Fixnum)
62
+ }
63
+ end
64
+
65
+ def test_design_doc_access
66
+ assert results = cb.design_docs['users'].by_age.to_a
67
+ assert results.first.is_a?(Couchbase::ViewRow)
68
+ end
69
+
70
+ def design_doc
71
+ {
72
+ '_id' => '_design/users',
73
+ 'language' => 'javascript',
74
+ 'views' => {
75
+ 'by_age' => {
76
+ 'map' => <<-JS
77
+ function (doc, meta) {
78
+ if (doc.type && doc.type == 'user')
79
+ emit(meta.id, doc.age);
80
+ }
81
+ JS
82
+ }
83
+ }
84
+ }
85
+ end
86
+
87
+ 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.1.0
4
+ version: 0.1.5
5
5
  platform: java
6
6
  authors:
7
7
  - Mike Evans
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-10-15 00:00:00.000000000 Z
11
+ date: 2013-11-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: multi_json
@@ -25,17 +25,17 @@ dependencies:
25
25
  prerelease: false
26
26
  type: :runtime
27
27
  - !ruby/object:Gem::Dependency
28
- name: atomic
28
+ name: thread_safe
29
29
  version_requirements: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - ~>
32
32
  - !ruby/object:Gem::Version
33
- version: 1.1.14
33
+ version: 0.1.2
34
34
  requirement: !ruby/object:Gem::Requirement
35
35
  requirements:
36
36
  - - ~>
37
37
  - !ruby/object:Gem::Version
38
- version: 1.1.14
38
+ version: 0.1.2
39
39
  prerelease: false
40
40
  type: :runtime
41
41
  - !ruby/object:Gem::Dependency
@@ -81,21 +81,21 @@ dependencies:
81
81
  prerelease: false
82
82
  type: :development
83
83
  - !ruby/object:Gem::Dependency
84
- name: active_support
84
+ name: jrjackson
85
85
  version_requirements: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - '>='
87
+ - - ~>
88
88
  - !ruby/object:Gem::Version
89
- version: '0'
89
+ version: 0.2.3
90
90
  requirement: !ruby/object:Gem::Requirement
91
91
  requirements:
92
- - - '>='
92
+ - - ~>
93
93
  - !ruby/object:Gem::Version
94
- version: '0'
94
+ version: 0.2.3
95
95
  prerelease: false
96
96
  type: :development
97
97
  - !ruby/object:Gem::Dependency
98
- name: pry
98
+ name: active_support
99
99
  version_requirements: !ruby/object:Gem::Requirement
100
100
  requirements:
101
101
  - - '>='
@@ -116,6 +116,7 @@ extensions: []
116
116
  extra_rdoc_files: []
117
117
  files:
118
118
  - .gitignore
119
+ - .jrubyrc
119
120
  - .ruby-version
120
121
  - Gemfile
121
122
  - LICENSE.txt
@@ -129,17 +130,19 @@ files:
129
130
  - lib/couchbase/bucket.rb
130
131
  - lib/couchbase/cluster.rb
131
132
  - lib/couchbase/constants.rb
133
+ - lib/couchbase/design_doc.rb
132
134
  - lib/couchbase/error.rb
133
- - lib/couchbase/jruby/couchbase_client.rb
134
- - lib/couchbase/jruby/future.rb
135
135
  - lib/couchbase/operations.rb
136
136
  - lib/couchbase/operations/arithmetic.rb
137
137
  - lib/couchbase/operations/delete.rb
138
+ - lib/couchbase/operations/design_docs.rb
138
139
  - lib/couchbase/operations/get.rb
139
140
  - lib/couchbase/operations/stats.rb
140
141
  - lib/couchbase/operations/store.rb
141
142
  - lib/couchbase/operations/touch.rb
143
+ - lib/couchbase/operations/unlock.rb
142
144
  - lib/couchbase/operations/utils.rb
145
+ - lib/couchbase/query.rb
143
146
  - lib/couchbase/result.rb
144
147
  - lib/couchbase/transcoder.rb
145
148
  - lib/couchbase/utils.rb
@@ -158,8 +161,10 @@ files:
158
161
  - lib/jars/spymemcached-2.10.0-sources.jar
159
162
  - lib/jars/spymemcached-2.10.0.jar
160
163
  - test/profile/.gitignore
164
+ - test/profile/.jrubyrc
161
165
  - test/profile/Gemfile
162
166
  - test/profile/benchmark.rb
167
+ - test/profile/profile.rb
163
168
  - test/setup.rb
164
169
  - test/test_arithmetic.rb
165
170
  - test/test_async.rb
@@ -168,9 +173,11 @@ files:
168
173
  - test/test_couchbase.rb
169
174
  - test/test_couchbase_rails_cache_store.rb
170
175
  - test/test_delete.rb
176
+ - test/test_design_docs.rb
171
177
  - test/test_errors.rb
172
178
  - test/test_format.rb
173
179
  - test/test_get.rb
180
+ - test/test_query.rb
174
181
  - test/test_stats.rb
175
182
  - test/test_store.rb
176
183
  - test/test_timer.rb
@@ -178,6 +185,7 @@ files:
178
185
  - test/test_unlock.rb
179
186
  - test/test_utils.rb
180
187
  - test/test_version.rb
188
+ - test/test_view.rb
181
189
  homepage: https://github.com/mje113/couchbase-jruby-client
182
190
  licenses:
183
191
  - Apache
@@ -198,14 +206,16 @@ required_rubygems_version: !ruby/object:Gem::Requirement
198
206
  version: '0'
199
207
  requirements: []
200
208
  rubyforge_project:
201
- rubygems_version: 2.1.5
209
+ rubygems_version: 2.1.9
202
210
  signing_key:
203
211
  specification_version: 4
204
212
  summary: The unofficial jruby client library for use with Couchbase Server.
205
213
  test_files:
206
214
  - test/profile/.gitignore
215
+ - test/profile/.jrubyrc
207
216
  - test/profile/Gemfile
208
217
  - test/profile/benchmark.rb
218
+ - test/profile/profile.rb
209
219
  - test/setup.rb
210
220
  - test/test_arithmetic.rb
211
221
  - test/test_async.rb
@@ -214,9 +224,11 @@ test_files:
214
224
  - test/test_couchbase.rb
215
225
  - test/test_couchbase_rails_cache_store.rb
216
226
  - test/test_delete.rb
227
+ - test/test_design_docs.rb
217
228
  - test/test_errors.rb
218
229
  - test/test_format.rb
219
230
  - test/test_get.rb
231
+ - test/test_query.rb
220
232
  - test/test_stats.rb
221
233
  - test/test_store.rb
222
234
  - test/test_timer.rb
@@ -224,3 +236,4 @@ test_files:
224
236
  - test/test_unlock.rb
225
237
  - test/test_utils.rb
226
238
  - test/test_version.rb
239
+ - test/test_view.rb
@@ -1,22 +0,0 @@
1
- module Couchbase
2
- module Jruby
3
- class CouchbaseClient < Java::ComCouchbaseClient::CouchbaseClient
4
-
5
- # Futures
6
- %w(add set append asyncCAS asyncDecr asyncGet asyncGetAndTouch asyncGetBulk
7
- asyncGets asyncIncr delete flush prepend replace set touch).each do |op|
8
- define_method(op) do |*|
9
- super
10
- end
11
- end
12
-
13
- def get(*)
14
- super
15
- end
16
-
17
- VALUE_OPS = %w(
18
-
19
- ).freeze
20
- end
21
- end
22
- end
@@ -1,8 +0,0 @@
1
- module Couchbase
2
- module Jruby
3
- module Future
4
-
5
-
6
- end
7
- end
8
- end