seomoz-riak-client 1.0.0.pre

Sign up to get free protection for your applications and to get access to all the features.
Files changed (102) hide show
  1. data/Gemfile +27 -0
  2. data/Guardfile +14 -0
  3. data/Rakefile +76 -0
  4. data/erl_src/riak_kv_test_backend.beam +0 -0
  5. data/erl_src/riak_kv_test_backend.erl +174 -0
  6. data/erl_src/riak_search_test_backend.beam +0 -0
  7. data/erl_src/riak_search_test_backend.erl +175 -0
  8. data/lib/active_support/cache/riak_store.rb +2 -0
  9. data/lib/riak.rb +21 -0
  10. data/lib/riak/bucket.rb +215 -0
  11. data/lib/riak/cache_store.rb +84 -0
  12. data/lib/riak/client.rb +415 -0
  13. data/lib/riak/client/beefcake/messages.rb +147 -0
  14. data/lib/riak/client/beefcake/object_methods.rb +92 -0
  15. data/lib/riak/client/beefcake_protobuffs_backend.rb +176 -0
  16. data/lib/riak/client/excon_backend.rb +65 -0
  17. data/lib/riak/client/http_backend.rb +203 -0
  18. data/lib/riak/client/http_backend/configuration.rb +46 -0
  19. data/lib/riak/client/http_backend/key_streamer.rb +43 -0
  20. data/lib/riak/client/http_backend/object_methods.rb +94 -0
  21. data/lib/riak/client/http_backend/request_headers.rb +34 -0
  22. data/lib/riak/client/http_backend/transport_methods.rb +218 -0
  23. data/lib/riak/client/net_http_backend.rb +79 -0
  24. data/lib/riak/client/protobuffs_backend.rb +97 -0
  25. data/lib/riak/client/pump.rb +30 -0
  26. data/lib/riak/client/search.rb +94 -0
  27. data/lib/riak/core_ext.rb +6 -0
  28. data/lib/riak/core_ext/blank.rb +53 -0
  29. data/lib/riak/core_ext/extract_options.rb +7 -0
  30. data/lib/riak/core_ext/json.rb +15 -0
  31. data/lib/riak/core_ext/slice.rb +18 -0
  32. data/lib/riak/core_ext/stringify_keys.rb +10 -0
  33. data/lib/riak/core_ext/symbolize_keys.rb +10 -0
  34. data/lib/riak/core_ext/to_param.rb +31 -0
  35. data/lib/riak/encoding.rb +6 -0
  36. data/lib/riak/failed_request.rb +81 -0
  37. data/lib/riak/i18n.rb +3 -0
  38. data/lib/riak/json.rb +28 -0
  39. data/lib/riak/link.rb +85 -0
  40. data/lib/riak/locale/en.yml +48 -0
  41. data/lib/riak/map_reduce.rb +206 -0
  42. data/lib/riak/map_reduce/filter_builder.rb +94 -0
  43. data/lib/riak/map_reduce/phase.rb +98 -0
  44. data/lib/riak/map_reduce_error.rb +7 -0
  45. data/lib/riak/robject.rb +290 -0
  46. data/lib/riak/search.rb +3 -0
  47. data/lib/riak/serializers.rb +74 -0
  48. data/lib/riak/stamp.rb +77 -0
  49. data/lib/riak/test_server.rb +252 -0
  50. data/lib/riak/util/escape.rb +45 -0
  51. data/lib/riak/util/fiber1.8.rb +48 -0
  52. data/lib/riak/util/headers.rb +53 -0
  53. data/lib/riak/util/multipart.rb +52 -0
  54. data/lib/riak/util/multipart/stream_parser.rb +62 -0
  55. data/lib/riak/util/tcp_socket_extensions.rb +58 -0
  56. data/lib/riak/util/translation.rb +19 -0
  57. data/lib/riak/walk_spec.rb +105 -0
  58. data/riak-client.gemspec +55 -0
  59. data/seomoz-riak-client.gemspec +55 -0
  60. data/spec/fixtures/cat.jpg +0 -0
  61. data/spec/fixtures/multipart-blank.txt +7 -0
  62. data/spec/fixtures/multipart-mapreduce.txt +10 -0
  63. data/spec/fixtures/multipart-with-body.txt +16 -0
  64. data/spec/fixtures/server.cert.crt +15 -0
  65. data/spec/fixtures/server.cert.key +15 -0
  66. data/spec/fixtures/test.pem +1 -0
  67. data/spec/integration/riak/cache_store_spec.rb +154 -0
  68. data/spec/integration/riak/http_backends_spec.rb +58 -0
  69. data/spec/integration/riak/protobuffs_backends_spec.rb +32 -0
  70. data/spec/integration/riak/test_server_spec.rb +161 -0
  71. data/spec/riak/beefcake_protobuffs_backend_spec.rb +59 -0
  72. data/spec/riak/bucket_spec.rb +205 -0
  73. data/spec/riak/client_spec.rb +517 -0
  74. data/spec/riak/core_ext/to_param_spec.rb +15 -0
  75. data/spec/riak/escape_spec.rb +69 -0
  76. data/spec/riak/excon_backend_spec.rb +64 -0
  77. data/spec/riak/headers_spec.rb +38 -0
  78. data/spec/riak/http_backend/configuration_spec.rb +51 -0
  79. data/spec/riak/http_backend/object_methods_spec.rb +217 -0
  80. data/spec/riak/http_backend/transport_methods_spec.rb +117 -0
  81. data/spec/riak/http_backend_spec.rb +269 -0
  82. data/spec/riak/link_spec.rb +71 -0
  83. data/spec/riak/map_reduce/filter_builder_spec.rb +32 -0
  84. data/spec/riak/map_reduce/phase_spec.rb +136 -0
  85. data/spec/riak/map_reduce_spec.rb +310 -0
  86. data/spec/riak/multipart_spec.rb +23 -0
  87. data/spec/riak/net_http_backend_spec.rb +16 -0
  88. data/spec/riak/robject_spec.rb +427 -0
  89. data/spec/riak/search_spec.rb +178 -0
  90. data/spec/riak/serializers_spec.rb +93 -0
  91. data/spec/riak/stamp_spec.rb +54 -0
  92. data/spec/riak/stream_parser_spec.rb +53 -0
  93. data/spec/riak/walk_spec_spec.rb +195 -0
  94. data/spec/spec_helper.rb +39 -0
  95. data/spec/support/drb_mock_server.rb +39 -0
  96. data/spec/support/http_backend_implementation_examples.rb +266 -0
  97. data/spec/support/integration_setup.rb +10 -0
  98. data/spec/support/mock_server.rb +81 -0
  99. data/spec/support/mocks.rb +4 -0
  100. data/spec/support/test_server.yml.example +2 -0
  101. data/spec/support/unified_backend_examples.rb +255 -0
  102. metadata +271 -0
@@ -0,0 +1,255 @@
1
+
2
+ shared_examples_for "Unified backend API" do
3
+ # ping
4
+ it "should ping the server" do
5
+ @backend.ping.should be_true
6
+ end
7
+
8
+ # fetch_object
9
+ context "fetching an object" do
10
+ before do
11
+ @robject = Riak::RObject.new(@client.bucket("test"), "fetch")
12
+ @robject.content_type = "application/json"
13
+ @robject.data = { "test" => "pass" }
14
+ @backend.store_object(@robject)
15
+ end
16
+
17
+ it "should find a stored object" do
18
+ robj = @backend.fetch_object("test", "fetch")
19
+ robj.should be_kind_of(Riak::RObject)
20
+ robj.data.should == { "test" => "pass" }
21
+ end
22
+
23
+ it "should raise an error when the object is not found" do
24
+ begin
25
+ @backend.fetch_object("test", "notfound")
26
+ rescue Riak::FailedRequest => exception
27
+ @exception = exception
28
+ end
29
+ @exception.should be_kind_of(Riak::FailedRequest)
30
+ @exception.should be_not_found
31
+ end
32
+
33
+ [1,2,3,:one,:quorum,:all,:default].each do |q|
34
+ it "should accept a R value of #{q.inspect} for the request" do
35
+ robj = @backend.fetch_object("test", "fetch", q)
36
+ robj.should be_kind_of(Riak::RObject)
37
+ robj.data.should == { "test" => "pass" }
38
+ end
39
+ end
40
+ end
41
+
42
+ # reload_object
43
+ context "reloading an existing object" do
44
+ before do
45
+ @robject = Riak::RObject.new(@client.bucket('test'), 'reload')
46
+ @robject.content_type = "application/json"
47
+ @robject.data = {"test" => "pass"}
48
+ @backend.store_object(@robject)
49
+ @robject2 = @backend.fetch_object("test", "reload")
50
+ @robject2.data["test"] = "second"
51
+ @backend.store_object(@robject2, true)
52
+ end
53
+
54
+ it "should modify the object with the reloaded data" do
55
+ @backend.reload_object(@robject)
56
+ end
57
+
58
+ [1,2,3,:one,:quorum,:all,:default].each do |q|
59
+ it "should accept a valid R value of #{q.inspect} for the request" do
60
+ @backend.reload_object(@robject, q)
61
+ end
62
+ end
63
+
64
+ after do
65
+ @robject.vclock.should == @robject2.vclock
66
+ @robject.data['test'].should == "second"
67
+ end
68
+ end
69
+
70
+ # store_object
71
+ context "storing an object" do
72
+ before do
73
+ @robject = Riak::RObject.new(@client.bucket('test'), 'store')
74
+ @robject.content_type = "application/json"
75
+ @robject.data = {"test" => "pass"}
76
+ end
77
+
78
+ it "should save the object" do
79
+ @backend.store_object(@robject)
80
+ end
81
+
82
+ it "should modify the object with the returned data if returnbody" do
83
+ @backend.store_object(@robject, true)
84
+ @robject.vclock.should be_present
85
+ end
86
+
87
+ [1,2,3,:one,:quorum,:all,:default].each do |q|
88
+ it "should accept a W value of #{q.inspect} for the request" do
89
+ @backend.store_object(@robject, false, q)
90
+ @client.bucket("test").exists?("store").should be_true
91
+ end
92
+
93
+ it "should accept a DW value of #{q.inspect} for the request" do
94
+ @backend.store_object(@robject, false, nil, q)
95
+ end
96
+ end
97
+
98
+ after do
99
+ @client.bucket("test").exists?("store").should be_true
100
+ end
101
+ end
102
+
103
+ # delete_object
104
+ context "deleting an object" do
105
+ before do
106
+ @obj = Riak::RObject.new(@client.bucket("test"), "delete")
107
+ @obj.content_type = "application/json"
108
+ @obj.data = [1]
109
+ @backend.store_object(@obj)
110
+ end
111
+
112
+ it "should remove the object" do
113
+ @backend.delete_object("test", "delete")
114
+ @obj.bucket.exists?("delete").should be_false
115
+ end
116
+
117
+ [1,2,3,:one,:quorum,:all,:default].each do |q|
118
+ it "should accept an RW value of #{q.inspect} for the request" do
119
+ @backend.delete_object("test", "delete", q)
120
+ end
121
+ end
122
+
123
+ after do
124
+ @obj.bucket.exists?("delete").should be_false
125
+ end
126
+ end
127
+
128
+ # get_bucket_props
129
+ context "fetching bucket properties" do
130
+ it "should fetch a hash of bucket properties" do
131
+ props = @backend.get_bucket_props("test")
132
+ props.should be_kind_of(Hash)
133
+ props.should include("n_val")
134
+ end
135
+ end
136
+
137
+ # set_bucket_props
138
+ context "setting bucket properties" do
139
+ it "should store properties for the bucket" do
140
+ @backend.set_bucket_props("test", {"n_val" => 3})
141
+ @backend.get_bucket_props("test")["n_val"].should == 3
142
+ end
143
+ end
144
+
145
+ # list_keys
146
+ context "listing keys in a bucket" do
147
+ before do
148
+ obj = Riak::RObject.new(@client.bucket("test"), "keys")
149
+ obj.content_type = "application/json"
150
+ obj.data = [1]
151
+ @backend.store_object(obj)
152
+ end
153
+
154
+ it "should fetch an array of string keys" do
155
+ @backend.list_keys("test").should == ["keys"]
156
+ end
157
+
158
+ context "streaming through a block" do
159
+ it "should handle a large number of keys" do
160
+ obj = Riak::RObject.new(@client.bucket("test"))
161
+ obj.content_type = "application/json"
162
+ obj.data = [1]
163
+ 750.times do |i|
164
+ obj.key = i.to_s
165
+ obj.store(:w => 1, :dw => 0, :returnbody => false)
166
+ end
167
+ @backend.list_keys("test") do |keys|
168
+ keys.should be_all {|k| k == 'keys' || (0..749).include?(k.to_i) }
169
+ end
170
+ end
171
+
172
+ it "should pass an array of keys to the block" do
173
+ @backend.list_keys("test") do |keys|
174
+ keys.should == ["keys"] unless keys.empty?
175
+ end
176
+ end
177
+
178
+ it "should allow requests issued inside the block to execute" do
179
+ errors = []
180
+ @backend.list_keys("test") do |keys|
181
+ keys.each do |key|
182
+ begin
183
+ @backend.fetch_object("test", key)
184
+ rescue => e
185
+ errors << e
186
+ end
187
+ end
188
+ end
189
+ errors.should be_empty
190
+ end
191
+ end
192
+ end
193
+
194
+ # list_buckets
195
+ context "listing buckets" do
196
+ before do
197
+ obj = Riak::RObject.new(@client.bucket("test"), "buckets")
198
+ obj.content_type = "application/json"
199
+ obj.data = [1]
200
+ @backend.store_object(obj)
201
+ end
202
+
203
+ it "should fetch a list of string bucket names" do
204
+ list = @backend.list_buckets
205
+ list.should be_kind_of(Array)
206
+ list.should include("test")
207
+ end
208
+ end
209
+
210
+ # mapred
211
+ context "performing MapReduce" do
212
+ before do
213
+ obj = Riak::RObject.new(@client.bucket("test"), "1")
214
+ obj.content_type = "application/json"
215
+ obj.data = {"value" => "1" }
216
+ @backend.store_object(obj)
217
+ @mapred = Riak::MapReduce.new(@client).add("test").map("Riak.mapValuesJson", :keep => true)
218
+ end
219
+
220
+ it "should perform a simple MapReduce request" do
221
+ @backend.mapred(@mapred).should == [{"value" => "1"}]
222
+ end
223
+
224
+ context "streaming results through a block" do
225
+ it "should pass phase number and result to the block" do
226
+ @backend.mapred(@mapred) do |phase, result|
227
+ unless result.empty?
228
+ phase.should == 0
229
+ result.should == [{"value" => "1"}]
230
+ end
231
+ end
232
+ end
233
+
234
+ it "should allow requests issued inside the block to execute" do
235
+ errors = []
236
+ @backend.mapred(@mapred) do |phase, result|
237
+ unless result.empty?
238
+ result.each do |v|
239
+ begin
240
+ @backend.fetch_object("test", v['value'])
241
+ rescue => e
242
+ errors << e
243
+ end
244
+ end
245
+ end
246
+ end
247
+ errors.should be_empty
248
+ end
249
+ end
250
+ end
251
+
252
+ after do
253
+ $test_server.recycle if $test_server.started?
254
+ end
255
+ end
metadata ADDED
@@ -0,0 +1,271 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: seomoz-riak-client
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0.pre
5
+ platform: ruby
6
+ authors:
7
+ - Sean Cribbs
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+
12
+ date: 2011-11-18 00:00:00 -08:00
13
+ default_executable:
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: rspec
17
+ type: :development
18
+ version_requirement:
19
+ version_requirements: !ruby/object:Gem::Requirement
20
+ requirements:
21
+ - - ~>
22
+ - !ruby/object:Gem::Version
23
+ version: 2.6.0
24
+ version:
25
+ - !ruby/object:Gem::Dependency
26
+ name: fakeweb
27
+ type: :development
28
+ version_requirement:
29
+ version_requirements: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: "1.2"
34
+ version:
35
+ - !ruby/object:Gem::Dependency
36
+ name: rack
37
+ type: :development
38
+ version_requirement:
39
+ version_requirements: !ruby/object:Gem::Requirement
40
+ requirements:
41
+ - - ">="
42
+ - !ruby/object:Gem::Version
43
+ version: "1.0"
44
+ version:
45
+ - !ruby/object:Gem::Dependency
46
+ name: excon
47
+ type: :development
48
+ version_requirement:
49
+ version_requirements: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - ~>
52
+ - !ruby/object:Gem::Version
53
+ version: 0.6.1
54
+ version:
55
+ - !ruby/object:Gem::Dependency
56
+ name: rake
57
+ type: :development
58
+ version_requirement:
59
+ version_requirements: !ruby/object:Gem::Requirement
60
+ requirements:
61
+ - - ~>
62
+ - !ruby/object:Gem::Version
63
+ version: 0.8.7
64
+ version:
65
+ - !ruby/object:Gem::Dependency
66
+ name: i18n
67
+ type: :runtime
68
+ version_requirement:
69
+ version_requirements: !ruby/object:Gem::Requirement
70
+ requirements:
71
+ - - ">="
72
+ - !ruby/object:Gem::Version
73
+ version: 0.4.0
74
+ version:
75
+ - !ruby/object:Gem::Dependency
76
+ name: builder
77
+ type: :runtime
78
+ version_requirement:
79
+ version_requirements: !ruby/object:Gem::Requirement
80
+ requirements:
81
+ - - ">="
82
+ - !ruby/object:Gem::Version
83
+ version: 2.1.2
84
+ version:
85
+ - !ruby/object:Gem::Dependency
86
+ name: beefcake
87
+ type: :runtime
88
+ version_requirement:
89
+ version_requirements: !ruby/object:Gem::Requirement
90
+ requirements:
91
+ - - "="
92
+ - !ruby/object:Gem::Version
93
+ version: 0.3.2
94
+ version:
95
+ - !ruby/object:Gem::Dependency
96
+ name: multi_json
97
+ type: :runtime
98
+ version_requirement:
99
+ version_requirements: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ~>
102
+ - !ruby/object:Gem::Version
103
+ version: 1.0.0
104
+ version:
105
+ description: riak-client is a rich client for Riak, the distributed database by Basho. It supports the full HTTP interface including storage operations, bucket configuration, link-walking and map-reduce.
106
+ email: sean@basho.com
107
+ executables: []
108
+
109
+ extensions: []
110
+
111
+ extra_rdoc_files: []
112
+
113
+ files:
114
+ - erl_src/riak_kv_test_backend.beam
115
+ - erl_src/riak_kv_test_backend.erl
116
+ - erl_src/riak_search_test_backend.beam
117
+ - erl_src/riak_search_test_backend.erl
118
+ - Gemfile
119
+ - Guardfile
120
+ - lib/active_support/cache/riak_store.rb
121
+ - lib/riak/bucket.rb
122
+ - lib/riak/cache_store.rb
123
+ - lib/riak/client/beefcake/messages.rb
124
+ - lib/riak/client/beefcake/object_methods.rb
125
+ - lib/riak/client/beefcake_protobuffs_backend.rb
126
+ - lib/riak/client/excon_backend.rb
127
+ - lib/riak/client/http_backend/configuration.rb
128
+ - lib/riak/client/http_backend/key_streamer.rb
129
+ - lib/riak/client/http_backend/object_methods.rb
130
+ - lib/riak/client/http_backend/request_headers.rb
131
+ - lib/riak/client/http_backend/transport_methods.rb
132
+ - lib/riak/client/http_backend.rb
133
+ - lib/riak/client/net_http_backend.rb
134
+ - lib/riak/client/protobuffs_backend.rb
135
+ - lib/riak/client/pump.rb
136
+ - lib/riak/client/search.rb
137
+ - lib/riak/client.rb
138
+ - lib/riak/core_ext/blank.rb
139
+ - lib/riak/core_ext/extract_options.rb
140
+ - lib/riak/core_ext/json.rb
141
+ - lib/riak/core_ext/slice.rb
142
+ - lib/riak/core_ext/stringify_keys.rb
143
+ - lib/riak/core_ext/symbolize_keys.rb
144
+ - lib/riak/core_ext/to_param.rb
145
+ - lib/riak/core_ext.rb
146
+ - lib/riak/encoding.rb
147
+ - lib/riak/failed_request.rb
148
+ - lib/riak/i18n.rb
149
+ - lib/riak/json.rb
150
+ - lib/riak/link.rb
151
+ - lib/riak/locale/en.yml
152
+ - lib/riak/map_reduce/filter_builder.rb
153
+ - lib/riak/map_reduce/phase.rb
154
+ - lib/riak/map_reduce.rb
155
+ - lib/riak/map_reduce_error.rb
156
+ - lib/riak/robject.rb
157
+ - lib/riak/search.rb
158
+ - lib/riak/serializers.rb
159
+ - lib/riak/stamp.rb
160
+ - lib/riak/test_server.rb
161
+ - lib/riak/util/escape.rb
162
+ - lib/riak/util/fiber1.8.rb
163
+ - lib/riak/util/headers.rb
164
+ - lib/riak/util/multipart/stream_parser.rb
165
+ - lib/riak/util/multipart.rb
166
+ - lib/riak/util/tcp_socket_extensions.rb
167
+ - lib/riak/util/translation.rb
168
+ - lib/riak/walk_spec.rb
169
+ - lib/riak.rb
170
+ - Rakefile
171
+ - riak-client.gemspec
172
+ - seomoz-riak-client.gemspec
173
+ - spec/fixtures/cat.jpg
174
+ - spec/fixtures/multipart-blank.txt
175
+ - spec/fixtures/multipart-mapreduce.txt
176
+ - spec/fixtures/multipart-with-body.txt
177
+ - spec/fixtures/server.cert.crt
178
+ - spec/fixtures/server.cert.key
179
+ - spec/fixtures/test.pem
180
+ - spec/integration/riak/cache_store_spec.rb
181
+ - spec/integration/riak/http_backends_spec.rb
182
+ - spec/integration/riak/protobuffs_backends_spec.rb
183
+ - spec/integration/riak/test_server_spec.rb
184
+ - spec/riak/beefcake_protobuffs_backend_spec.rb
185
+ - spec/riak/bucket_spec.rb
186
+ - spec/riak/client_spec.rb
187
+ - spec/riak/core_ext/to_param_spec.rb
188
+ - spec/riak/escape_spec.rb
189
+ - spec/riak/excon_backend_spec.rb
190
+ - spec/riak/headers_spec.rb
191
+ - spec/riak/http_backend/configuration_spec.rb
192
+ - spec/riak/http_backend/object_methods_spec.rb
193
+ - spec/riak/http_backend/transport_methods_spec.rb
194
+ - spec/riak/http_backend_spec.rb
195
+ - spec/riak/link_spec.rb
196
+ - spec/riak/map_reduce/filter_builder_spec.rb
197
+ - spec/riak/map_reduce/phase_spec.rb
198
+ - spec/riak/map_reduce_spec.rb
199
+ - spec/riak/multipart_spec.rb
200
+ - spec/riak/net_http_backend_spec.rb
201
+ - spec/riak/robject_spec.rb
202
+ - spec/riak/search_spec.rb
203
+ - spec/riak/serializers_spec.rb
204
+ - spec/riak/stamp_spec.rb
205
+ - spec/riak/stream_parser_spec.rb
206
+ - spec/riak/walk_spec_spec.rb
207
+ - spec/spec_helper.rb
208
+ - spec/support/drb_mock_server.rb
209
+ - spec/support/http_backend_implementation_examples.rb
210
+ - spec/support/integration_setup.rb
211
+ - spec/support/mock_server.rb
212
+ - spec/support/mocks.rb
213
+ - spec/support/test_server.yml.example
214
+ - spec/support/unified_backend_examples.rb
215
+ has_rdoc: true
216
+ homepage: http://seancribbs.github.com/ripple
217
+ licenses: []
218
+
219
+ post_install_message:
220
+ rdoc_options: []
221
+
222
+ require_paths:
223
+ - lib
224
+ required_ruby_version: !ruby/object:Gem::Requirement
225
+ requirements:
226
+ - - ">="
227
+ - !ruby/object:Gem::Version
228
+ version: "0"
229
+ version:
230
+ required_rubygems_version: !ruby/object:Gem::Requirement
231
+ requirements:
232
+ - - ">"
233
+ - !ruby/object:Gem::Version
234
+ version: 1.3.1
235
+ version:
236
+ requirements: []
237
+
238
+ rubyforge_project:
239
+ rubygems_version: 1.3.5
240
+ signing_key:
241
+ specification_version: 3
242
+ summary: riak-client is a rich client for Riak, the distributed database by Basho.
243
+ test_files:
244
+ - lib/riak/walk_spec.rb
245
+ - spec/integration/riak/cache_store_spec.rb
246
+ - spec/integration/riak/http_backends_spec.rb
247
+ - spec/integration/riak/protobuffs_backends_spec.rb
248
+ - spec/integration/riak/test_server_spec.rb
249
+ - spec/riak/beefcake_protobuffs_backend_spec.rb
250
+ - spec/riak/bucket_spec.rb
251
+ - spec/riak/client_spec.rb
252
+ - spec/riak/core_ext/to_param_spec.rb
253
+ - spec/riak/escape_spec.rb
254
+ - spec/riak/excon_backend_spec.rb
255
+ - spec/riak/headers_spec.rb
256
+ - spec/riak/http_backend/configuration_spec.rb
257
+ - spec/riak/http_backend/object_methods_spec.rb
258
+ - spec/riak/http_backend/transport_methods_spec.rb
259
+ - spec/riak/http_backend_spec.rb
260
+ - spec/riak/link_spec.rb
261
+ - spec/riak/map_reduce/filter_builder_spec.rb
262
+ - spec/riak/map_reduce/phase_spec.rb
263
+ - spec/riak/map_reduce_spec.rb
264
+ - spec/riak/multipart_spec.rb
265
+ - spec/riak/net_http_backend_spec.rb
266
+ - spec/riak/robject_spec.rb
267
+ - spec/riak/search_spec.rb
268
+ - spec/riak/serializers_spec.rb
269
+ - spec/riak/stamp_spec.rb
270
+ - spec/riak/stream_parser_spec.rb
271
+ - spec/riak/walk_spec_spec.rb