riak-client 0.8.2 → 0.8.3
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile +14 -5
- data/Rakefile +71 -18
- data/lib/riak.rb +13 -6
- data/lib/riak/bucket.rb +7 -4
- data/lib/riak/cache_store.rb +7 -1
- data/lib/riak/client.rb +31 -14
- data/lib/riak/client/curb_backend.rb +11 -18
- data/lib/riak/client/excon_backend.rb +60 -0
- data/lib/riak/client/http_backend.rb +33 -2
- data/lib/riak/client/net_http_backend.rb +11 -2
- data/lib/riak/core_ext.rb +6 -0
- data/lib/riak/core_ext/blank.rb +39 -0
- data/lib/riak/core_ext/extract_options.rb +7 -0
- data/lib/riak/core_ext/slice.rb +18 -0
- data/lib/riak/core_ext/stringify_keys.rb +10 -0
- data/lib/riak/core_ext/symbolize_keys.rb +10 -0
- data/lib/riak/core_ext/to_param.rb +31 -0
- data/lib/riak/i18n.rb +1 -5
- data/lib/riak/link.rb +36 -19
- data/lib/riak/locale/en.yml +1 -1
- data/lib/riak/map_reduce.rb +9 -8
- data/lib/riak/robject.rb +13 -6
- data/lib/riak/search.rb +7 -2
- data/lib/riak/test_server.rb +5 -1
- data/riak-client.gemspec +49 -0
- data/spec/integration/riak/cache_store_spec.rb +2 -1
- data/spec/riak/client_spec.rb +15 -9
- data/spec/riak/curb_backend_spec.rb +14 -15
- data/spec/riak/excon_backend_spec.rb +76 -0
- data/spec/riak/link_spec.rb +8 -14
- data/spec/riak/object_spec.rb +0 -4
- data/spec/riak/search_spec.rb +2 -2
- data/spec/support/drb_mock_server.rb +39 -0
- data/spec/support/mock_server.rb +16 -3
- data/spec/support/test_server.yml.example +2 -0
- metadata +42 -18
- data/Gemfile.lock +0 -35
@@ -12,6 +12,7 @@
|
|
12
12
|
# See the License for the specific language governing permissions and
|
13
13
|
# limitations under the License.
|
14
14
|
require File.expand_path("../../spec_helper", File.dirname(__FILE__))
|
15
|
+
require 'riak/cache_store'
|
15
16
|
|
16
17
|
describe Riak::CacheStore do
|
17
18
|
before :all do
|
@@ -137,7 +138,7 @@ describe Riak::CacheStore do
|
|
137
138
|
end
|
138
139
|
|
139
140
|
it "should return the default value when fetching on miss" do
|
140
|
-
@cache.fetch('foo'){'baz'}.should == 'baz'
|
141
|
+
@cache.fetch('foo'){ 'baz' }.should == 'baz'
|
141
142
|
end
|
142
143
|
|
143
144
|
it "should return the default value when forcing a miss" do
|
data/spec/riak/client_spec.rb
CHANGED
@@ -144,15 +144,21 @@ describe Riak::Client do
|
|
144
144
|
@client = Riak::Client.new
|
145
145
|
end
|
146
146
|
|
147
|
-
it "should choose the
|
148
|
-
@client.
|
149
|
-
@client.http.should be_instance_of(Riak::Client::
|
147
|
+
it "should choose the selected backend" do
|
148
|
+
@client.http_backend = :NetHTTP
|
149
|
+
@client.http.should be_instance_of(Riak::Client::NetHTTPBackend)
|
150
|
+
|
151
|
+
unless defined? JRUBY_VERSION
|
152
|
+
@client = Riak::Client.new
|
153
|
+
@client.http_backend = :Curb
|
154
|
+
@client.http.should be_instance_of(Riak::Client::CurbBackend)
|
155
|
+
end
|
150
156
|
end
|
151
157
|
|
152
|
-
it "should
|
153
|
-
|
154
|
-
@client.
|
155
|
-
@client.http.should
|
158
|
+
it "should raise an error when the chosen backend is not valid" do
|
159
|
+
Riak::Client::NetHTTPBackend.should_receive(:configured?).and_return(false)
|
160
|
+
@client = Riak::Client.new(:http_backend => :NetHTTP)
|
161
|
+
lambda { @client.http }.should raise_error
|
156
162
|
end
|
157
163
|
end
|
158
164
|
|
@@ -233,13 +239,13 @@ describe Riak::Client do
|
|
233
239
|
@http.should_receive(:delete).with([204,404], "/luwak", "greeting.txt")
|
234
240
|
@client.delete_file("greeting.txt")
|
235
241
|
end
|
236
|
-
|
242
|
+
|
237
243
|
it "should return true if the file exists" do
|
238
244
|
@client = Riak::Client.new
|
239
245
|
@client.http.should_receive(:head).and_return(:code => 200)
|
240
246
|
@client.file_exists?("foo").should be_true
|
241
247
|
end
|
242
|
-
|
248
|
+
|
243
249
|
it "should return false if the file doesn't exist" do
|
244
250
|
@client = Riak::Client.new
|
245
251
|
@client.http.should_receive(:head).and_return(:code => 404)
|
@@ -18,8 +18,8 @@ begin
|
|
18
18
|
rescue LoadError
|
19
19
|
warn "Skipping CurbBackend specs, curb library not found."
|
20
20
|
else
|
21
|
-
$
|
22
|
-
|
21
|
+
$mock_server = DrbMockServer
|
22
|
+
$mock_server.maybe_start
|
23
23
|
|
24
24
|
describe Riak::Client::CurbBackend do
|
25
25
|
def setup_http_mock(method, uri, options={})
|
@@ -31,17 +31,21 @@ else
|
|
31
31
|
body = options[:body] || []
|
32
32
|
headers = options[:headers] || {}
|
33
33
|
headers['Content-Type'] ||= "text/plain"
|
34
|
-
|
35
|
-
|
36
|
-
env["PATH_INFO"].should == path
|
37
|
-
env["QUERY_STRING"].should == query
|
38
|
-
[status, headers, Array(body)]
|
39
|
-
end
|
34
|
+
@_mock_set = [status, headers, method, path, query, body]
|
35
|
+
$mock_server.expect(*@_mock_set)
|
40
36
|
end
|
41
37
|
|
42
38
|
before :each do
|
43
|
-
@client = Riak::Client.new(:port => $
|
44
|
-
@backend =
|
39
|
+
@client = Riak::Client.new(:port => $mock_server.port, :http_backend => :Curb) # Point to our mock
|
40
|
+
@backend = @client.http
|
41
|
+
@_mock_set = false
|
42
|
+
end
|
43
|
+
|
44
|
+
after :each do
|
45
|
+
if @_mock_set
|
46
|
+
$mock_server.satisfied.should be_true("Expected #{@_mock_set.inspect}, failed")
|
47
|
+
end
|
48
|
+
Thread.current[:curl_easy_handle] = nil
|
45
49
|
end
|
46
50
|
|
47
51
|
it_should_behave_like "HTTP backend"
|
@@ -68,10 +72,5 @@ else
|
|
68
72
|
@backend.post(200, "/riak/", "foo", file, {})
|
69
73
|
end.should_not raise_error
|
70
74
|
end
|
71
|
-
|
72
|
-
after :each do
|
73
|
-
$server.detach
|
74
|
-
Thread.current[:curl_easy_handle] = nil
|
75
|
-
end
|
76
75
|
end
|
77
76
|
end
|
@@ -0,0 +1,76 @@
|
|
1
|
+
# Copyright 2010 Sean Cribbs, Sonian Inc., and Basho Technologies, Inc.
|
2
|
+
#
|
3
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
|
+
# you may not use this file except in compliance with the License.
|
5
|
+
# You may obtain a copy of the License at
|
6
|
+
#
|
7
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
8
|
+
#
|
9
|
+
# Unless required by applicable law or agreed to in writing, software
|
10
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
+
# See the License for the specific language governing permissions and
|
13
|
+
# limitations under the License.
|
14
|
+
require File.expand_path("../spec_helper", File.dirname(__FILE__))
|
15
|
+
|
16
|
+
begin
|
17
|
+
require 'excon'
|
18
|
+
rescue LoadError
|
19
|
+
warn "Skipping ExconBackend specs, excon library not found."
|
20
|
+
else
|
21
|
+
$mock_server = DrbMockServer
|
22
|
+
$mock_server.maybe_start
|
23
|
+
|
24
|
+
describe Riak::Client::ExconBackend do
|
25
|
+
def setup_http_mock(method, uri, options={})
|
26
|
+
method = method.to_s.upcase
|
27
|
+
uri = URI.parse(uri)
|
28
|
+
path = uri.path || "/"
|
29
|
+
query = uri.query || ""
|
30
|
+
status = options[:status] ? Array(options[:status]).first.to_i : 200
|
31
|
+
body = options[:body] || []
|
32
|
+
headers = options[:headers] || {}
|
33
|
+
headers['Content-Type'] ||= "text/plain"
|
34
|
+
@_mock_set = [status, headers, method, path, query, body]
|
35
|
+
$mock_server.expect(*@_mock_set)
|
36
|
+
end
|
37
|
+
|
38
|
+
before :each do
|
39
|
+
@client = Riak::Client.new(:port => $mock_server.port, :http_backend => :Excon) # Point to our mock
|
40
|
+
@backend = @client.http
|
41
|
+
@_mock_set = false
|
42
|
+
end
|
43
|
+
|
44
|
+
after :each do
|
45
|
+
if @_mock_set
|
46
|
+
$mock_server.satisfied.should be_true("Expected #{@_mock_set.inspect}, failed")
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
|
+
it_should_behave_like "HTTP backend"
|
51
|
+
|
52
|
+
it "should split long headers into 8KB chunks" do
|
53
|
+
# TODO: This doesn't actually inspect the emitted headers. How
|
54
|
+
# can it?
|
55
|
+
setup_http_mock(:put, @backend.path("/riak/","foo").to_s, :body => "ok")
|
56
|
+
lambda do
|
57
|
+
@backend.put(200, "/riak/", "foo", "body",{"Long-Header" => (["12345678"*10]*100).join(", ") })
|
58
|
+
end.should_not raise_error
|
59
|
+
end
|
60
|
+
|
61
|
+
it "should support IO objects as the request body" do
|
62
|
+
file = File.open(File.expand_path("../../fixtures/cat.jpg", __FILE__), 'rb')
|
63
|
+
lambda do
|
64
|
+
setup_http_mock(:put, @backend.path("/riak/","foo").to_s, :body => "ok")
|
65
|
+
@backend.put(200, "/riak/", "foo", file, {})
|
66
|
+
$mock_server.satisfied.should be_true
|
67
|
+
end.should_not raise_error
|
68
|
+
file.rewind # Have to rewind the file or we hang
|
69
|
+
lambda do
|
70
|
+
setup_http_mock(:post, @backend.path("/riak/","foo").to_s, :body => "ok")
|
71
|
+
@backend.post(200, "/riak/", "foo", file, {})
|
72
|
+
$mock_server.satisfied.should be_true
|
73
|
+
end.should_not raise_error
|
74
|
+
end
|
75
|
+
end
|
76
|
+
end
|
data/spec/riak/link_spec.rb
CHANGED
@@ -32,20 +32,6 @@ describe Riak::Link do
|
|
32
32
|
result[1].key.should == nil
|
33
33
|
result[1].rel.should == "up"
|
34
34
|
end
|
35
|
-
|
36
|
-
it "should set url properly, and set bucket and key to nil for non-Riak links" do
|
37
|
-
result = Riak::Link.parse('<http://www.example.com/123.html>; riaktag="tag", </riak/foo>; rel="up"')
|
38
|
-
result[0].url.should == "http://www.example.com/123.html"
|
39
|
-
result[0].bucket.should == nil
|
40
|
-
result[0].key.should == nil
|
41
|
-
result[0].rel.should == "tag"
|
42
|
-
|
43
|
-
result = Riak::Link.parse('<http://www.example.com/>; riaktag="tag", </riak/foo>; rel="up"')
|
44
|
-
result[0].url.should == "http://www.example.com/"
|
45
|
-
result[0].bucket.should == nil
|
46
|
-
result[0].key.should == nil
|
47
|
-
result[0].rel.should == "tag"
|
48
|
-
end
|
49
35
|
end
|
50
36
|
|
51
37
|
it "should convert to a string appropriate for use in the Link header" do
|
@@ -79,4 +65,12 @@ describe Riak::Link do
|
|
79
65
|
link.bucket.should == "bucket"
|
80
66
|
link.key.should == "key"
|
81
67
|
end
|
68
|
+
|
69
|
+
it "should construct from bucket, key and tag" do
|
70
|
+
link = Riak::Link.new("bucket", "key", "tag")
|
71
|
+
link.bucket.should == "bucket"
|
72
|
+
link.key.should == "key"
|
73
|
+
link.tag.should == "tag"
|
74
|
+
link.url.should == "/riak/bucket/key"
|
75
|
+
end
|
82
76
|
end
|
data/spec/riak/object_spec.rb
CHANGED
@@ -88,15 +88,11 @@ describe Riak::RObject do
|
|
88
88
|
|
89
89
|
it "should serialize into a JSON blob" do
|
90
90
|
@object.serialize({"foo" => "bar"}).should == '{"foo":"bar"}'
|
91
|
-
@object.serialize(2).should == "2"
|
92
|
-
@object.serialize("Some text").should == '"Some text"'
|
93
91
|
@object.serialize([1,2,3]).should == "[1,2,3]"
|
94
92
|
end
|
95
93
|
|
96
94
|
it "should deserialize a JSON blob" do
|
97
95
|
@object.deserialize('{"foo":"bar"}').should == {"foo" => "bar"}
|
98
|
-
@object.deserialize("2").should == 2
|
99
|
-
@object.deserialize('"Some text"').should == "Some text"
|
100
96
|
@object.deserialize('[1,2,3]').should == [1,2,3]
|
101
97
|
end
|
102
98
|
end
|
data/spec/riak/search_spec.rb
CHANGED
@@ -69,12 +69,12 @@ describe "Search mixins" do
|
|
69
69
|
|
70
70
|
it "should build a Solr <add> request" do
|
71
71
|
expect_update_body('<add><doc><field name="id">1</field><field name="field">value</field></doc></add>')
|
72
|
-
@client.index({
|
72
|
+
@client.index({'id' => 1, 'field' => "value"})
|
73
73
|
end
|
74
74
|
|
75
75
|
it "should include multiple documents in the <add> request" do
|
76
76
|
expect_update_body('<add><doc><field name="id">1</field><field name="field">value</field></doc><doc><field name="id">2</field><field name="foo">bar</field></doc></add>')
|
77
|
-
@client.index({
|
77
|
+
@client.index({'id' => 1, 'field' => "value"}, {'id' => 2, 'foo' => "bar"})
|
78
78
|
end
|
79
79
|
end
|
80
80
|
describe "removing documents" do
|
@@ -0,0 +1,39 @@
|
|
1
|
+
require 'drb/drb'
|
2
|
+
DRBURI="druby://localhost:8787"
|
3
|
+
|
4
|
+
module DrbMockServer
|
5
|
+
extend self
|
6
|
+
|
7
|
+
def start_client
|
8
|
+
# JRuby doesn't support fork
|
9
|
+
if defined? JRUBY_VERSION
|
10
|
+
@server = MockServer.new
|
11
|
+
at_exit { @server.stop }
|
12
|
+
else
|
13
|
+
child_pid = Process.fork do
|
14
|
+
start_server
|
15
|
+
end
|
16
|
+
sleep 1
|
17
|
+
at_exit { Process.kill("HUP", child_pid); Process.wait2 }
|
18
|
+
DRb.start_service
|
19
|
+
@server = DRbObject.new_with_uri(DRBURI)
|
20
|
+
end
|
21
|
+
true
|
22
|
+
end
|
23
|
+
|
24
|
+
def maybe_start
|
25
|
+
start_client unless @server
|
26
|
+
end
|
27
|
+
|
28
|
+
def method_missing(meth, *args, &block)
|
29
|
+
@server.send(meth, *args, &block)
|
30
|
+
end
|
31
|
+
|
32
|
+
private
|
33
|
+
def start_server
|
34
|
+
server = MockServer.new
|
35
|
+
DRb.start_service(DRBURI, server)
|
36
|
+
Signal.trap("HUP") { server.stop; exit }
|
37
|
+
DRb.thread.join
|
38
|
+
end
|
39
|
+
end
|
data/spec/support/mock_server.rb
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
# -*- coding: utf-8 -*-
|
1
2
|
# Copyright 2010 Sean Cribbs, Sonian Inc., and Basho Technologies, Inc.
|
2
3
|
#
|
3
4
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
@@ -18,7 +19,8 @@ require 'rack'
|
|
18
19
|
|
19
20
|
class MockServer
|
20
21
|
attr_accessor :port
|
21
|
-
|
22
|
+
attr_accessor :satisfied
|
23
|
+
|
22
24
|
def initialize(pause = 1)
|
23
25
|
self.port = 4000 + rand(61535)
|
24
26
|
@block = nil
|
@@ -33,6 +35,15 @@ class MockServer
|
|
33
35
|
Thread.kill(@thread)
|
34
36
|
end
|
35
37
|
|
38
|
+
def expect(status, headers, method, path, query, body)
|
39
|
+
attach do |env|
|
40
|
+
@satisfied = (env["REQUEST_METHOD"] == method &&
|
41
|
+
env["PATH_INFO"] == path &&
|
42
|
+
env["QUERY_STRING"] == query)
|
43
|
+
[status, headers, Array(body)]
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
36
47
|
def attach(&block)
|
37
48
|
@block = block
|
38
49
|
end
|
@@ -46,8 +57,10 @@ class MockServer
|
|
46
57
|
raise "Specify a handler for the request using attach(block), the block should return a valid rack response and can test expectations" unless @block
|
47
58
|
@block.call(env)
|
48
59
|
rescue Exception => e
|
49
|
-
@
|
50
|
-
|
60
|
+
@satisfied = false
|
61
|
+
# @parent_thread.raise e
|
62
|
+
body = "Bad test code\n#{e.inspect}\n#{e.backtrace}"
|
63
|
+
[ 500, { 'Content-Type' => 'text/plain', 'Content-Length' => body.length.to_s }, [ body ]]
|
51
64
|
end
|
52
65
|
end
|
53
66
|
|
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 0
|
7
7
|
- 8
|
8
|
-
-
|
9
|
-
version: 0.8.
|
8
|
+
- 3
|
9
|
+
version: 0.8.3
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- Sean Cribbs
|
@@ -14,7 +14,7 @@ autorequire:
|
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
16
|
|
17
|
-
date: 2010-
|
17
|
+
date: 2010-12-13 00:00:00 -06:00
|
18
18
|
default_executable:
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
@@ -75,19 +75,19 @@ dependencies:
|
|
75
75
|
type: :development
|
76
76
|
version_requirements: *id004
|
77
77
|
- !ruby/object:Gem::Dependency
|
78
|
-
name:
|
78
|
+
name: excon
|
79
79
|
prerelease: false
|
80
80
|
requirement: &id005 !ruby/object:Gem::Requirement
|
81
81
|
none: false
|
82
82
|
requirements:
|
83
|
-
- -
|
83
|
+
- - ~>
|
84
84
|
- !ruby/object:Gem::Version
|
85
85
|
segments:
|
86
|
-
-
|
86
|
+
- 0
|
87
87
|
- 3
|
88
|
-
-
|
89
|
-
version:
|
90
|
-
type: :
|
88
|
+
- 4
|
89
|
+
version: 0.3.4
|
90
|
+
type: :development
|
91
91
|
version_requirements: *id005
|
92
92
|
- !ruby/object:Gem::Dependency
|
93
93
|
name: i18n
|
@@ -95,7 +95,7 @@ dependencies:
|
|
95
95
|
requirement: &id006 !ruby/object:Gem::Requirement
|
96
96
|
none: false
|
97
97
|
requirements:
|
98
|
-
- -
|
98
|
+
- - ">="
|
99
99
|
- !ruby/object:Gem::Version
|
100
100
|
segments:
|
101
101
|
- 0
|
@@ -104,8 +104,23 @@ dependencies:
|
|
104
104
|
version: 0.4.0
|
105
105
|
type: :runtime
|
106
106
|
version_requirements: *id006
|
107
|
+
- !ruby/object:Gem::Dependency
|
108
|
+
name: builder
|
109
|
+
prerelease: false
|
110
|
+
requirement: &id007 !ruby/object:Gem::Requirement
|
111
|
+
none: false
|
112
|
+
requirements:
|
113
|
+
- - ~>
|
114
|
+
- !ruby/object:Gem::Version
|
115
|
+
segments:
|
116
|
+
- 2
|
117
|
+
- 1
|
118
|
+
- 2
|
119
|
+
version: 2.1.2
|
120
|
+
type: :runtime
|
121
|
+
version_requirements: *id007
|
107
122
|
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.
|
108
|
-
email:
|
123
|
+
email: sean@basho.com
|
109
124
|
executables: []
|
110
125
|
|
111
126
|
extensions: []
|
@@ -116,14 +131,21 @@ files:
|
|
116
131
|
- erl_src/riak_kv_test_backend.beam
|
117
132
|
- erl_src/riak_kv_test_backend.erl
|
118
133
|
- Gemfile
|
119
|
-
- Gemfile.lock
|
120
134
|
- lib/active_support/cache/riak_store.rb
|
121
135
|
- lib/riak/bucket.rb
|
122
136
|
- lib/riak/cache_store.rb
|
123
137
|
- lib/riak/client/curb_backend.rb
|
138
|
+
- lib/riak/client/excon_backend.rb
|
124
139
|
- lib/riak/client/http_backend.rb
|
125
140
|
- lib/riak/client/net_http_backend.rb
|
126
141
|
- lib/riak/client.rb
|
142
|
+
- lib/riak/core_ext/blank.rb
|
143
|
+
- lib/riak/core_ext/extract_options.rb
|
144
|
+
- lib/riak/core_ext/slice.rb
|
145
|
+
- lib/riak/core_ext/stringify_keys.rb
|
146
|
+
- lib/riak/core_ext/symbolize_keys.rb
|
147
|
+
- lib/riak/core_ext/to_param.rb
|
148
|
+
- lib/riak/core_ext.rb
|
127
149
|
- lib/riak/failed_request.rb
|
128
150
|
- lib/riak/i18n.rb
|
129
151
|
- lib/riak/invalid_response.rb
|
@@ -143,6 +165,7 @@ files:
|
|
143
165
|
- lib/riak/walk_spec.rb
|
144
166
|
- lib/riak.rb
|
145
167
|
- Rakefile
|
168
|
+
- riak-client.gemspec
|
146
169
|
- spec/fixtures/cat.jpg
|
147
170
|
- spec/fixtures/multipart-blank.txt
|
148
171
|
- spec/fixtures/multipart-with-body.txt
|
@@ -152,6 +175,7 @@ files:
|
|
152
175
|
- spec/riak/client_spec.rb
|
153
176
|
- spec/riak/curb_backend_spec.rb
|
154
177
|
- spec/riak/escape_spec.rb
|
178
|
+
- spec/riak/excon_backend_spec.rb
|
155
179
|
- spec/riak/headers_spec.rb
|
156
180
|
- spec/riak/http_backend_spec.rb
|
157
181
|
- spec/riak/link_spec.rb
|
@@ -162,9 +186,11 @@ files:
|
|
162
186
|
- spec/riak/search_spec.rb
|
163
187
|
- spec/riak/walk_spec_spec.rb
|
164
188
|
- spec/spec_helper.rb
|
189
|
+
- spec/support/drb_mock_server.rb
|
165
190
|
- spec/support/http_backend_implementation_examples.rb
|
166
191
|
- spec/support/mock_server.rb
|
167
192
|
- spec/support/mocks.rb
|
193
|
+
- spec/support/test_server.yml.example
|
168
194
|
has_rdoc: true
|
169
195
|
homepage: http://seancribbs.github.com/ripple
|
170
196
|
licenses: []
|
@@ -190,20 +216,22 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
190
216
|
segments:
|
191
217
|
- 0
|
192
218
|
version: "0"
|
193
|
-
requirements:
|
194
|
-
|
219
|
+
requirements: []
|
220
|
+
|
195
221
|
rubyforge_project:
|
196
222
|
rubygems_version: 1.3.7
|
197
223
|
signing_key:
|
198
224
|
specification_version: 3
|
199
225
|
summary: riak-client is a rich client for Riak, the distributed database by Basho.
|
200
226
|
test_files:
|
227
|
+
- lib/riak/walk_spec.rb
|
201
228
|
- spec/integration/riak/cache_store_spec.rb
|
202
229
|
- spec/integration/riak/test_server_spec.rb
|
203
230
|
- spec/riak/bucket_spec.rb
|
204
231
|
- spec/riak/client_spec.rb
|
205
232
|
- spec/riak/curb_backend_spec.rb
|
206
233
|
- spec/riak/escape_spec.rb
|
234
|
+
- spec/riak/excon_backend_spec.rb
|
207
235
|
- spec/riak/headers_spec.rb
|
208
236
|
- spec/riak/http_backend_spec.rb
|
209
237
|
- spec/riak/link_spec.rb
|
@@ -213,7 +241,3 @@ test_files:
|
|
213
241
|
- spec/riak/object_spec.rb
|
214
242
|
- spec/riak/search_spec.rb
|
215
243
|
- spec/riak/walk_spec_spec.rb
|
216
|
-
- spec/spec_helper.rb
|
217
|
-
- spec/support/http_backend_implementation_examples.rb
|
218
|
-
- spec/support/mock_server.rb
|
219
|
-
- spec/support/mocks.rb
|