riak-client 1.2.0 → 1.4.0
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.
- checksums.yaml +7 -0
- data/.gitignore +1 -0
- data/Gemfile +1 -7
- data/README.markdown +66 -0
- data/RELEASE_NOTES.md +27 -0
- data/lib/riak/bucket.rb +24 -5
- data/lib/riak/client.rb +42 -7
- data/lib/riak/client/beefcake/message_codes.rb +56 -0
- data/lib/riak/client/beefcake/messages.rb +190 -18
- data/lib/riak/client/beefcake_protobuffs_backend.rb +143 -10
- data/lib/riak/client/feature_detection.rb +26 -1
- data/lib/riak/client/http_backend.rb +58 -9
- data/lib/riak/client/http_backend/bucket_streamer.rb +15 -0
- data/lib/riak/client/http_backend/chunked_json_streamer.rb +42 -0
- data/lib/riak/client/http_backend/configuration.rb +17 -1
- data/lib/riak/client/http_backend/key_streamer.rb +4 -32
- data/lib/riak/client/protobuffs_backend.rb +12 -34
- data/lib/riak/counter.rb +101 -0
- data/lib/riak/index_collection.rb +71 -0
- data/lib/riak/list_buckets.rb +28 -0
- data/lib/riak/locale/en.yml +14 -0
- data/lib/riak/multiget.rb +123 -0
- data/lib/riak/node.rb +2 -0
- data/lib/riak/node/configuration.rb +32 -21
- data/lib/riak/node/defaults.rb +2 -0
- data/lib/riak/node/generation.rb +19 -7
- data/lib/riak/node/version.rb +2 -16
- data/lib/riak/robject.rb +1 -0
- data/lib/riak/secondary_index.rb +67 -0
- data/lib/riak/version.rb +1 -1
- data/riak-client.gemspec +3 -2
- data/spec/integration/riak/counters_spec.rb +51 -0
- data/spec/integration/riak/http_backends_spec.rb +24 -14
- data/spec/integration/riak/node_spec.rb +6 -28
- data/spec/riak/beefcake_protobuffs_backend_spec.rb +84 -0
- data/spec/riak/bucket_spec.rb +55 -5
- data/spec/riak/client_spec.rb +34 -0
- data/spec/riak/counter_spec.rb +122 -0
- data/spec/riak/index_collection_spec.rb +50 -0
- data/spec/riak/list_buckets_spec.rb +41 -0
- data/spec/riak/multiget_spec.rb +76 -0
- data/spec/riak/robject_spec.rb +4 -1
- data/spec/riak/secondary_index_spec.rb +225 -0
- data/spec/spec_helper.rb +1 -0
- data/spec/support/sometimes.rb +2 -2
- data/spec/support/unified_backend_examples.rb +4 -0
- metadata +41 -47
@@ -0,0 +1,76 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Riak::Multiget do
|
4
|
+
before :each do
|
5
|
+
@client = Riak::Client.new
|
6
|
+
@bucket = Riak::Bucket.new(@client, 'foo')
|
7
|
+
@pairs = [[@bucket, 'key1'], [@bucket, 'key2']]
|
8
|
+
end
|
9
|
+
|
10
|
+
describe "initialization" do
|
11
|
+
it "should accept a client and an array of bucket/key pairs" do
|
12
|
+
lambda { Riak::Multiget.new(@client, @pairs) }.should_not raise_error
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
describe "operation" do
|
17
|
+
it "should fetch both keys from the bucket" do
|
18
|
+
@bucket.should_receive(:[]).with('key1')
|
19
|
+
@bucket.should_receive(:[]).with('key2')
|
20
|
+
|
21
|
+
@multiget = Riak::Multiget.new(@client, @pairs)
|
22
|
+
@multiget.fetch
|
23
|
+
@multiget.wait_for_finish
|
24
|
+
end
|
25
|
+
|
26
|
+
it "should asynchronously fetch" do
|
27
|
+
# make fetches slow
|
28
|
+
@slow_mtx = Mutex.new
|
29
|
+
@slow_mtx.lock
|
30
|
+
|
31
|
+
# set up fetch process to wait on key2
|
32
|
+
@bucket.should_receive(:[]) do |key|
|
33
|
+
next if key == 'key1'
|
34
|
+
|
35
|
+
# wait for test process
|
36
|
+
@slow_mtx.lock
|
37
|
+
end.twice
|
38
|
+
|
39
|
+
# start fetch process
|
40
|
+
@multiget = Riak::Multiget.new(@client, @pairs)
|
41
|
+
@multiget.fetch
|
42
|
+
|
43
|
+
@multiget.finished?.should be_false
|
44
|
+
|
45
|
+
# allow fetch
|
46
|
+
@slow_mtx.unlock
|
47
|
+
|
48
|
+
@results = @multiget.results
|
49
|
+
@multiget.finished?.should be_true
|
50
|
+
@results.should be_a Hash
|
51
|
+
end
|
52
|
+
|
53
|
+
it "should not die when objects aren't found" do
|
54
|
+
@bucket.should_receive(:[]).with('key1').and_raise(Riak::HTTPFailedRequest.new(:get, 200, 404, {}, "File not found"))
|
55
|
+
@bucket.should_receive(:[]).with('key2').and_return(true)
|
56
|
+
|
57
|
+
@results = Riak::Multiget.get_all @client, @pairs
|
58
|
+
|
59
|
+
@results[[@bucket, 'key1']].should be_nil
|
60
|
+
@results[[@bucket, 'key2']].should be_true
|
61
|
+
end
|
62
|
+
end
|
63
|
+
|
64
|
+
describe "results" do
|
65
|
+
it "should return a hash of pairs to values" do
|
66
|
+
@bucket.should_receive(:[]).with('key1')
|
67
|
+
@bucket.should_receive(:[]).with('key2')
|
68
|
+
|
69
|
+
@multiget = Riak::Multiget.new(@client, @pairs)
|
70
|
+
@multiget.fetch
|
71
|
+
@results = @multiget.results
|
72
|
+
|
73
|
+
@results.should be_a Hash
|
74
|
+
end
|
75
|
+
end
|
76
|
+
end
|
data/spec/riak/robject_spec.rb
CHANGED
@@ -277,6 +277,10 @@ describe Riak::RObject do
|
|
277
277
|
lambda { @object.content_type = " "; @object.store }.should raise_error(ArgumentError)
|
278
278
|
end
|
279
279
|
|
280
|
+
it "should raise an error when given an empty string as key" do
|
281
|
+
lambda { @object.key = ''; @object.store }.should raise_error(ArgumentError)
|
282
|
+
end
|
283
|
+
|
280
284
|
it "should pass along quorum parameters and returnbody to the backend" do
|
281
285
|
@backend.should_receive(:store_object).with(@object, :returnbody => false, :w => 3, :dw => 2).and_return(true)
|
282
286
|
@object.store(:returnbody => false, :w => 3, :dw => 2)
|
@@ -461,4 +465,3 @@ describe Riak::RObject do
|
|
461
465
|
end
|
462
466
|
end
|
463
467
|
end
|
464
|
-
|
@@ -0,0 +1,225 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Riak::SecondaryIndex do
|
4
|
+
before(:each) do
|
5
|
+
@client = Riak::Client.new
|
6
|
+
@bucket = Riak::Bucket.new @client, 'foo'
|
7
|
+
end
|
8
|
+
|
9
|
+
describe "initialization" do
|
10
|
+
it "should accept a bucket, index name, and scalar" do
|
11
|
+
lambda { Riak::SecondaryIndex.new @bucket, 'asdf', 'aaaa' }.should_not raise_error
|
12
|
+
lambda { Riak::SecondaryIndex.new @bucket, 'asdf', 12345 }.should_not raise_error
|
13
|
+
end
|
14
|
+
|
15
|
+
it "should accept a bucket, index name, and a range" do
|
16
|
+
lambda { Riak::SecondaryIndex.new @bucket, 'asdf', 'aaaa'..'zzzz' }.should_not raise_error
|
17
|
+
lambda { Riak::SecondaryIndex.new @bucket, 'asdf', 1..5 }.should_not raise_error
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
describe "operation" do
|
22
|
+
before(:each) do
|
23
|
+
@backend = mock 'Backend'
|
24
|
+
@client.stub!(:backend).and_yield(@backend)
|
25
|
+
@args = [@bucket, 'asdf', 'aaaa'..'zzzz', {}]
|
26
|
+
@index = Riak::SecondaryIndex.new *@args
|
27
|
+
|
28
|
+
@backend.should_receive(:get_index).with(*@args).and_return(%w{abcd efgh})
|
29
|
+
end
|
30
|
+
|
31
|
+
it "should return an array of keys" do
|
32
|
+
@results = @index.keys
|
33
|
+
@results.should be_a Array
|
34
|
+
@results.first.should be_a String
|
35
|
+
end
|
36
|
+
it "should return an array of values" do
|
37
|
+
@backend.should_receive(:fetch_object).with(@bucket, 'abcd', {}).and_return('abcd')
|
38
|
+
@backend.should_receive(:fetch_object).with(@bucket, 'efgh', {}).and_return('efgh')
|
39
|
+
|
40
|
+
@results = @index.values
|
41
|
+
@results.should be_a Array
|
42
|
+
@results.length.should == 2
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
describe "streaming" do
|
47
|
+
it "should stream keys into a block" do
|
48
|
+
@backend = mock 'Backend'
|
49
|
+
@client.stub!(:backend).and_yield(@backend)
|
50
|
+
@args = [@bucket, 'asdf', 'aaaa'..'zzzz', {stream: true}]
|
51
|
+
@index = Riak::SecondaryIndex.new *@args
|
52
|
+
|
53
|
+
@backend.should_receive(:get_index).with(*@args).and_yield('abcd').and_yield('efgh')
|
54
|
+
|
55
|
+
@index.keys {|b| :noop }
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
59
|
+
describe "pagination" do
|
60
|
+
it "should support max_results" do
|
61
|
+
@max_results = 5
|
62
|
+
|
63
|
+
@expected_collection = Riak::IndexCollection.new_from_json({
|
64
|
+
'keys' => %w{aaaa bbbb cccc dddd eeee},
|
65
|
+
'continuation' => 'examplecontinuation'
|
66
|
+
}.to_json)
|
67
|
+
|
68
|
+
@backend = mock 'Backend'
|
69
|
+
@client.stub!(:backend).and_yield(@backend)
|
70
|
+
@backend.
|
71
|
+
should_receive(:get_index).
|
72
|
+
with(
|
73
|
+
@bucket,
|
74
|
+
'asdf',
|
75
|
+
('aaaa'..'zzzz'),
|
76
|
+
:max_results => @max_results
|
77
|
+
).
|
78
|
+
and_return(@expected_collection)
|
79
|
+
@backend.stub(:get_server_version => '1.4.0')
|
80
|
+
|
81
|
+
|
82
|
+
@index = Riak::SecondaryIndex.new(
|
83
|
+
@bucket,
|
84
|
+
'asdf',
|
85
|
+
'aaaa'..'zzzz',
|
86
|
+
:max_results => @max_results
|
87
|
+
)
|
88
|
+
|
89
|
+
@results = @index.keys
|
90
|
+
@results.should be_an Array
|
91
|
+
@results.should == @expected_collection
|
92
|
+
@results.length.should == @max_results
|
93
|
+
end
|
94
|
+
|
95
|
+
it "should support continuations" do
|
96
|
+
@max_results = 5
|
97
|
+
|
98
|
+
@expected_collection = Riak::IndexCollection.new_from_json({
|
99
|
+
'keys' => %w{ffff gggg hhhh}
|
100
|
+
}.to_json)
|
101
|
+
|
102
|
+
@backend = mock 'Backend'
|
103
|
+
@client.stub!(:backend).and_yield(@backend)
|
104
|
+
@backend.
|
105
|
+
should_receive(:get_index).
|
106
|
+
with(
|
107
|
+
@bucket,
|
108
|
+
'asdf',
|
109
|
+
('aaaa'..'zzzz'),
|
110
|
+
max_results: @max_results,
|
111
|
+
continuation: 'examplecontinuation'
|
112
|
+
).
|
113
|
+
and_return(@expected_collection)
|
114
|
+
@backend.stub(:get_server_version => '1.4.0')
|
115
|
+
|
116
|
+
|
117
|
+
@index = Riak::SecondaryIndex.new(
|
118
|
+
@bucket,
|
119
|
+
'asdf',
|
120
|
+
'aaaa'..'zzzz',
|
121
|
+
max_results: @max_results,
|
122
|
+
continuation: 'examplecontinuation'
|
123
|
+
)
|
124
|
+
|
125
|
+
@results = @index.keys
|
126
|
+
@results.should be_an Array
|
127
|
+
@results.should == @expected_collection
|
128
|
+
end
|
129
|
+
|
130
|
+
it "should support a next_page method" do
|
131
|
+
@max_results = 5
|
132
|
+
|
133
|
+
@expected_collection = Riak::IndexCollection.new_from_json({
|
134
|
+
'keys' => %w{aaaa bbbb cccc dddd eeee},
|
135
|
+
'continuation' => 'examplecontinuation'
|
136
|
+
}.to_json)
|
137
|
+
|
138
|
+
@backend = mock 'Backend'
|
139
|
+
@client.stub!(:backend).and_yield(@backend)
|
140
|
+
@backend.
|
141
|
+
should_receive(:get_index).
|
142
|
+
once.
|
143
|
+
with(
|
144
|
+
@bucket,
|
145
|
+
'asdf',
|
146
|
+
('aaaa'..'zzzz'),
|
147
|
+
:max_results => @max_results
|
148
|
+
).
|
149
|
+
and_return(@expected_collection)
|
150
|
+
@backend.stub(:get_server_version => '1.4.0')
|
151
|
+
|
152
|
+
|
153
|
+
@index = Riak::SecondaryIndex.new(
|
154
|
+
@bucket,
|
155
|
+
'asdf',
|
156
|
+
'aaaa'..'zzzz',
|
157
|
+
:max_results => @max_results
|
158
|
+
)
|
159
|
+
|
160
|
+
@results = @index.keys
|
161
|
+
@results.should == @expected_collection
|
162
|
+
|
163
|
+
@second_collection = Riak::IndexCollection.new_from_json({
|
164
|
+
'keys' => %w{ffff gggg hhhh}
|
165
|
+
}.to_json)
|
166
|
+
@backend.
|
167
|
+
should_receive(:get_index).
|
168
|
+
once.
|
169
|
+
with(
|
170
|
+
@bucket,
|
171
|
+
'asdf',
|
172
|
+
('aaaa'..'zzzz'),
|
173
|
+
max_results: @max_results,
|
174
|
+
continuation: 'examplecontinuation'
|
175
|
+
).
|
176
|
+
and_return(@second_collection)
|
177
|
+
|
178
|
+
@second_page = @index.next_page
|
179
|
+
@second_results = @second_page.keys
|
180
|
+
@second_results.should == @second_collection
|
181
|
+
end
|
182
|
+
end
|
183
|
+
|
184
|
+
describe "return_terms" do
|
185
|
+
it "should optionally give the index value" do
|
186
|
+
@expected_collection = Riak::IndexCollection.new_from_json({
|
187
|
+
'results' => [
|
188
|
+
{'aaaa' => 'aaaa'},
|
189
|
+
{'bbbb' => 'bbbb'},
|
190
|
+
{'bbbb' => 'bbbb2'}
|
191
|
+
]
|
192
|
+
}.to_json)
|
193
|
+
|
194
|
+
|
195
|
+
@backend = mock 'Backend'
|
196
|
+
@client.stub!(:backend).and_yield(@backend)
|
197
|
+
@backend.
|
198
|
+
should_receive(:get_index).
|
199
|
+
with(
|
200
|
+
@bucket,
|
201
|
+
'asdf',
|
202
|
+
('aaaa'..'zzzz'),
|
203
|
+
:return_terms => true
|
204
|
+
).
|
205
|
+
and_return(@expected_collection)
|
206
|
+
@backend.stub(:get_server_version => '1.4.0')
|
207
|
+
|
208
|
+
|
209
|
+
@index = Riak::SecondaryIndex.new(
|
210
|
+
@bucket,
|
211
|
+
'asdf',
|
212
|
+
'aaaa'..'zzzz',
|
213
|
+
:return_terms => true
|
214
|
+
)
|
215
|
+
|
216
|
+
@results = @index.keys
|
217
|
+
@results.should be_an Array
|
218
|
+
@results.should == @expected_collection
|
219
|
+
@results.with_terms.should == {
|
220
|
+
'aaaa' => %w{aaaa},
|
221
|
+
'bbbb' => %w{bbbb bbbb2}
|
222
|
+
}
|
223
|
+
end
|
224
|
+
end
|
225
|
+
end
|
data/spec/spec_helper.rb
CHANGED
data/spec/support/sometimes.rb
CHANGED
@@ -35,11 +35,11 @@ RSpec.configure do |config|
|
|
35
35
|
d.filtered_examples.select {|e| e.metadata[:sometimes] && e.metadata[:retried] > 1 }
|
36
36
|
end
|
37
37
|
end.flatten
|
38
|
-
formatter.message color[retried_examples.empty? ? :
|
38
|
+
formatter.message color[retried_examples.empty? ? :success_color : :pending_color, "\n\nRetried examples: #{retried_examples.count}"]
|
39
39
|
unless retried_examples.empty?
|
40
40
|
retried_examples.each do |e|
|
41
41
|
formatter.message " #{e.full_description}"
|
42
|
-
formatter.message(color[:
|
42
|
+
formatter.message(color[:pending_color, " [#{e.metadata[:retried]}/#{e.metadata[:retries]}] "] + RSpec::Core::Metadata::relative_path(e.location))
|
43
43
|
end
|
44
44
|
end
|
45
45
|
end
|
@@ -259,6 +259,10 @@ shared_examples_for "Unified backend API" do
|
|
259
259
|
it "should find keys for a range query" do
|
260
260
|
@backend.get_index('test', 'index_int', 19..21).should =~ ["19","20", "21"]
|
261
261
|
end
|
262
|
+
|
263
|
+
it "should return an empty array for a query that does not match any keys" do
|
264
|
+
@backend.get_index('test', 'index_int', 10000).should == []
|
265
|
+
end
|
262
266
|
end
|
263
267
|
|
264
268
|
# mapred
|
metadata
CHANGED
@@ -1,20 +1,19 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: riak-client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
5
|
-
prerelease:
|
4
|
+
version: 1.4.0
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Sean Cribbs
|
8
|
+
- Bryce Kerley
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-
|
12
|
+
date: 2013-08-16 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rspec
|
16
16
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
17
|
requirements:
|
19
18
|
- - ~>
|
20
19
|
- !ruby/object:Gem::Version
|
@@ -22,7 +21,6 @@ dependencies:
|
|
22
21
|
type: :development
|
23
22
|
prerelease: false
|
24
23
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
24
|
requirements:
|
27
25
|
- - ~>
|
28
26
|
- !ruby/object:Gem::Version
|
@@ -30,103 +28,90 @@ dependencies:
|
|
30
28
|
- !ruby/object:Gem::Dependency
|
31
29
|
name: fakeweb
|
32
30
|
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
31
|
requirements:
|
35
|
-
- -
|
32
|
+
- - '>='
|
36
33
|
- !ruby/object:Gem::Version
|
37
34
|
version: '1.2'
|
38
35
|
type: :development
|
39
36
|
prerelease: false
|
40
37
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
38
|
requirements:
|
43
|
-
- -
|
39
|
+
- - '>='
|
44
40
|
- !ruby/object:Gem::Version
|
45
41
|
version: '1.2'
|
46
42
|
- !ruby/object:Gem::Dependency
|
47
43
|
name: rack
|
48
44
|
requirement: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
45
|
requirements:
|
51
|
-
- -
|
46
|
+
- - '>='
|
52
47
|
- !ruby/object:Gem::Version
|
53
48
|
version: '1.0'
|
54
49
|
type: :development
|
55
50
|
prerelease: false
|
56
51
|
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
none: false
|
58
52
|
requirements:
|
59
|
-
- -
|
53
|
+
- - '>='
|
60
54
|
- !ruby/object:Gem::Version
|
61
55
|
version: '1.0'
|
62
56
|
- !ruby/object:Gem::Dependency
|
63
57
|
name: excon
|
64
58
|
requirement: !ruby/object:Gem::Requirement
|
65
|
-
none: false
|
66
59
|
requirements:
|
67
|
-
- -
|
60
|
+
- - '>='
|
68
61
|
- !ruby/object:Gem::Version
|
69
62
|
version: 0.6.1
|
70
63
|
type: :development
|
71
64
|
prerelease: false
|
72
65
|
version_requirements: !ruby/object:Gem::Requirement
|
73
|
-
none: false
|
74
66
|
requirements:
|
75
|
-
- -
|
67
|
+
- - '>='
|
76
68
|
- !ruby/object:Gem::Version
|
77
69
|
version: 0.6.1
|
78
70
|
- !ruby/object:Gem::Dependency
|
79
71
|
name: rake
|
80
72
|
requirement: !ruby/object:Gem::Requirement
|
81
|
-
none: false
|
82
73
|
requirements:
|
83
|
-
- -
|
74
|
+
- - '>='
|
84
75
|
- !ruby/object:Gem::Version
|
85
76
|
version: '0'
|
86
77
|
type: :development
|
87
78
|
prerelease: false
|
88
79
|
version_requirements: !ruby/object:Gem::Requirement
|
89
|
-
none: false
|
90
80
|
requirements:
|
91
|
-
- -
|
81
|
+
- - '>='
|
92
82
|
- !ruby/object:Gem::Version
|
93
83
|
version: '0'
|
94
84
|
- !ruby/object:Gem::Dependency
|
95
85
|
name: i18n
|
96
86
|
requirement: !ruby/object:Gem::Requirement
|
97
|
-
none: false
|
98
87
|
requirements:
|
99
|
-
- -
|
88
|
+
- - '>='
|
100
89
|
- !ruby/object:Gem::Version
|
101
90
|
version: 0.4.0
|
102
91
|
type: :runtime
|
103
92
|
prerelease: false
|
104
93
|
version_requirements: !ruby/object:Gem::Requirement
|
105
|
-
none: false
|
106
94
|
requirements:
|
107
|
-
- -
|
95
|
+
- - '>='
|
108
96
|
- !ruby/object:Gem::Version
|
109
97
|
version: 0.4.0
|
110
98
|
- !ruby/object:Gem::Dependency
|
111
99
|
name: builder
|
112
100
|
requirement: !ruby/object:Gem::Requirement
|
113
|
-
none: false
|
114
101
|
requirements:
|
115
|
-
- -
|
102
|
+
- - '>='
|
116
103
|
- !ruby/object:Gem::Version
|
117
104
|
version: 2.1.2
|
118
105
|
type: :runtime
|
119
106
|
prerelease: false
|
120
107
|
version_requirements: !ruby/object:Gem::Requirement
|
121
|
-
none: false
|
122
108
|
requirements:
|
123
|
-
- -
|
109
|
+
- - '>='
|
124
110
|
- !ruby/object:Gem::Version
|
125
111
|
version: 2.1.2
|
126
112
|
- !ruby/object:Gem::Dependency
|
127
113
|
name: beefcake
|
128
114
|
requirement: !ruby/object:Gem::Requirement
|
129
|
-
none: false
|
130
115
|
requirements:
|
131
116
|
- - ~>
|
132
117
|
- !ruby/object:Gem::Version
|
@@ -134,7 +119,6 @@ dependencies:
|
|
134
119
|
type: :runtime
|
135
120
|
prerelease: false
|
136
121
|
version_requirements: !ruby/object:Gem::Requirement
|
137
|
-
none: false
|
138
122
|
requirements:
|
139
123
|
- - ~>
|
140
124
|
- !ruby/object:Gem::Version
|
@@ -142,7 +126,6 @@ dependencies:
|
|
142
126
|
- !ruby/object:Gem::Dependency
|
143
127
|
name: multi_json
|
144
128
|
requirement: !ruby/object:Gem::Requirement
|
145
|
-
none: false
|
146
129
|
requirements:
|
147
130
|
- - ~>
|
148
131
|
- !ruby/object:Gem::Version
|
@@ -150,7 +133,6 @@ dependencies:
|
|
150
133
|
type: :runtime
|
151
134
|
prerelease: false
|
152
135
|
version_requirements: !ruby/object:Gem::Requirement
|
153
|
-
none: false
|
154
136
|
requirements:
|
155
137
|
- - ~>
|
156
138
|
- !ruby/object:Gem::Version
|
@@ -158,7 +140,6 @@ dependencies:
|
|
158
140
|
- !ruby/object:Gem::Dependency
|
159
141
|
name: innertube
|
160
142
|
requirement: !ruby/object:Gem::Requirement
|
161
|
-
none: false
|
162
143
|
requirements:
|
163
144
|
- - ~>
|
164
145
|
- !ruby/object:Gem::Version
|
@@ -166,7 +147,6 @@ dependencies:
|
|
166
147
|
type: :runtime
|
167
148
|
prerelease: false
|
168
149
|
version_requirements: !ruby/object:Gem::Requirement
|
169
|
-
none: false
|
170
150
|
requirements:
|
171
151
|
- - ~>
|
172
152
|
- !ruby/object:Gem::Version
|
@@ -176,6 +156,7 @@ description: riak-client is a rich client for Riak, the distributed database by
|
|
176
156
|
bucket configuration, link-walking, secondary indexes and map-reduce.
|
177
157
|
email:
|
178
158
|
- sean@basho.com
|
159
|
+
- bryce@basho.com
|
179
160
|
executables: []
|
180
161
|
extensions: []
|
181
162
|
extra_rdoc_files: []
|
@@ -198,6 +179,7 @@ files:
|
|
198
179
|
- lib/riak.rb
|
199
180
|
- lib/riak/bucket.rb
|
200
181
|
- lib/riak/client.rb
|
182
|
+
- lib/riak/client/beefcake/message_codes.rb
|
201
183
|
- lib/riak/client/beefcake/messages.rb
|
202
184
|
- lib/riak/client/beefcake/object_methods.rb
|
203
185
|
- lib/riak/client/beefcake_protobuffs_backend.rb
|
@@ -205,6 +187,8 @@ files:
|
|
205
187
|
- lib/riak/client/excon_backend.rb
|
206
188
|
- lib/riak/client/feature_detection.rb
|
207
189
|
- lib/riak/client/http_backend.rb
|
190
|
+
- lib/riak/client/http_backend/bucket_streamer.rb
|
191
|
+
- lib/riak/client/http_backend/chunked_json_streamer.rb
|
208
192
|
- lib/riak/client/http_backend/configuration.rb
|
209
193
|
- lib/riak/client/http_backend/key_streamer.rb
|
210
194
|
- lib/riak/client/http_backend/object_methods.rb
|
@@ -225,11 +209,14 @@ files:
|
|
225
209
|
- lib/riak/core_ext/stringify_keys.rb
|
226
210
|
- lib/riak/core_ext/symbolize_keys.rb
|
227
211
|
- lib/riak/core_ext/to_param.rb
|
212
|
+
- lib/riak/counter.rb
|
228
213
|
- lib/riak/encoding.rb
|
229
214
|
- lib/riak/failed_request.rb
|
230
215
|
- lib/riak/i18n.rb
|
216
|
+
- lib/riak/index_collection.rb
|
231
217
|
- lib/riak/json.rb
|
232
218
|
- lib/riak/link.rb
|
219
|
+
- lib/riak/list_buckets.rb
|
233
220
|
- lib/riak/locale/en.yml
|
234
221
|
- lib/riak/locale/fr.yml
|
235
222
|
- lib/riak/map_reduce.rb
|
@@ -237,6 +224,7 @@ files:
|
|
237
224
|
- lib/riak/map_reduce/phase.rb
|
238
225
|
- lib/riak/map_reduce/results.rb
|
239
226
|
- lib/riak/map_reduce_error.rb
|
227
|
+
- lib/riak/multiget.rb
|
240
228
|
- lib/riak/node.rb
|
241
229
|
- lib/riak/node/configuration.rb
|
242
230
|
- lib/riak/node/console.rb
|
@@ -248,6 +236,7 @@ files:
|
|
248
236
|
- lib/riak/rcontent.rb
|
249
237
|
- lib/riak/robject.rb
|
250
238
|
- lib/riak/search.rb
|
239
|
+
- lib/riak/secondary_index.rb
|
251
240
|
- lib/riak/serializers.rb
|
252
241
|
- lib/riak/stamp.rb
|
253
242
|
- lib/riak/test_server.rb
|
@@ -273,6 +262,7 @@ files:
|
|
273
262
|
- spec/fixtures/server.cert.key
|
274
263
|
- spec/fixtures/test.pem
|
275
264
|
- spec/integration/riak/cluster_spec.rb
|
265
|
+
- spec/integration/riak/counters_spec.rb
|
276
266
|
- spec/integration/riak/http_backends_spec.rb
|
277
267
|
- spec/integration/riak/node_spec.rb
|
278
268
|
- spec/integration/riak/protobuffs_backends_spec.rb
|
@@ -283,6 +273,7 @@ files:
|
|
283
273
|
- spec/riak/bucket_spec.rb
|
284
274
|
- spec/riak/client_spec.rb
|
285
275
|
- spec/riak/core_ext/to_param_spec.rb
|
276
|
+
- spec/riak/counter_spec.rb
|
286
277
|
- spec/riak/escape_spec.rb
|
287
278
|
- spec/riak/excon_backend_spec.rb
|
288
279
|
- spec/riak/feature_detection_spec.rb
|
@@ -291,15 +282,19 @@ files:
|
|
291
282
|
- spec/riak/http_backend/object_methods_spec.rb
|
292
283
|
- spec/riak/http_backend/transport_methods_spec.rb
|
293
284
|
- spec/riak/http_backend_spec.rb
|
285
|
+
- spec/riak/index_collection_spec.rb
|
294
286
|
- spec/riak/link_spec.rb
|
287
|
+
- spec/riak/list_buckets_spec.rb
|
295
288
|
- spec/riak/map_reduce/filter_builder_spec.rb
|
296
289
|
- spec/riak/map_reduce/phase_spec.rb
|
297
290
|
- spec/riak/map_reduce_spec.rb
|
291
|
+
- spec/riak/multiget_spec.rb
|
298
292
|
- spec/riak/multipart_spec.rb
|
299
293
|
- spec/riak/net_http_backend_spec.rb
|
300
294
|
- spec/riak/node_spec.rb
|
301
295
|
- spec/riak/robject_spec.rb
|
302
296
|
- spec/riak/search_spec.rb
|
297
|
+
- spec/riak/secondary_index_spec.rb
|
303
298
|
- spec/riak/serializers_spec.rb
|
304
299
|
- spec/riak/stamp_spec.rb
|
305
300
|
- spec/riak/stream_parser_spec.rb
|
@@ -319,33 +314,26 @@ files:
|
|
319
314
|
- spec/support/version_filter.rb
|
320
315
|
homepage: http://github.com/basho/riak-ruby-client
|
321
316
|
licenses: []
|
317
|
+
metadata: {}
|
322
318
|
post_install_message:
|
323
319
|
rdoc_options: []
|
324
320
|
require_paths:
|
325
321
|
- lib
|
326
322
|
required_ruby_version: !ruby/object:Gem::Requirement
|
327
|
-
none: false
|
328
323
|
requirements:
|
329
|
-
- -
|
324
|
+
- - '>='
|
330
325
|
- !ruby/object:Gem::Version
|
331
326
|
version: '0'
|
332
|
-
segments:
|
333
|
-
- 0
|
334
|
-
hash: 20034304450029998
|
335
327
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
336
|
-
none: false
|
337
328
|
requirements:
|
338
|
-
- -
|
329
|
+
- - '>='
|
339
330
|
- !ruby/object:Gem::Version
|
340
331
|
version: '0'
|
341
|
-
segments:
|
342
|
-
- 0
|
343
|
-
hash: 20034304450029998
|
344
332
|
requirements: []
|
345
333
|
rubyforge_project:
|
346
|
-
rubygems_version:
|
334
|
+
rubygems_version: 2.0.2
|
347
335
|
signing_key:
|
348
|
-
specification_version:
|
336
|
+
specification_version: 4
|
349
337
|
summary: riak-client is a rich client for Riak, the distributed database by Basho.
|
350
338
|
test_files:
|
351
339
|
- spec/failover/failover.rb
|
@@ -361,6 +349,7 @@ test_files:
|
|
361
349
|
- spec/fixtures/server.cert.key
|
362
350
|
- spec/fixtures/test.pem
|
363
351
|
- spec/integration/riak/cluster_spec.rb
|
352
|
+
- spec/integration/riak/counters_spec.rb
|
364
353
|
- spec/integration/riak/http_backends_spec.rb
|
365
354
|
- spec/integration/riak/node_spec.rb
|
366
355
|
- spec/integration/riak/protobuffs_backends_spec.rb
|
@@ -371,6 +360,7 @@ test_files:
|
|
371
360
|
- spec/riak/bucket_spec.rb
|
372
361
|
- spec/riak/client_spec.rb
|
373
362
|
- spec/riak/core_ext/to_param_spec.rb
|
363
|
+
- spec/riak/counter_spec.rb
|
374
364
|
- spec/riak/escape_spec.rb
|
375
365
|
- spec/riak/excon_backend_spec.rb
|
376
366
|
- spec/riak/feature_detection_spec.rb
|
@@ -379,15 +369,19 @@ test_files:
|
|
379
369
|
- spec/riak/http_backend/object_methods_spec.rb
|
380
370
|
- spec/riak/http_backend/transport_methods_spec.rb
|
381
371
|
- spec/riak/http_backend_spec.rb
|
372
|
+
- spec/riak/index_collection_spec.rb
|
382
373
|
- spec/riak/link_spec.rb
|
374
|
+
- spec/riak/list_buckets_spec.rb
|
383
375
|
- spec/riak/map_reduce/filter_builder_spec.rb
|
384
376
|
- spec/riak/map_reduce/phase_spec.rb
|
385
377
|
- spec/riak/map_reduce_spec.rb
|
378
|
+
- spec/riak/multiget_spec.rb
|
386
379
|
- spec/riak/multipart_spec.rb
|
387
380
|
- spec/riak/net_http_backend_spec.rb
|
388
381
|
- spec/riak/node_spec.rb
|
389
382
|
- spec/riak/robject_spec.rb
|
390
383
|
- spec/riak/search_spec.rb
|
384
|
+
- spec/riak/secondary_index_spec.rb
|
391
385
|
- spec/riak/serializers_spec.rb
|
392
386
|
- spec/riak/stamp_spec.rb
|
393
387
|
- spec/riak/stream_parser_spec.rb
|