mongo 2.1.2 → 2.2.0.rc0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +0 -0
- data/README.md +10 -3
- data/Rakefile +1 -7
- data/lib/csasl/csasl.bundle +0 -0
- data/lib/mongo/auth/user/view.rb +1 -1
- data/lib/mongo/bulk_write.rb +7 -1
- data/lib/mongo/client.rb +17 -15
- data/lib/mongo/cluster.rb +4 -2
- data/lib/mongo/collection.rb +36 -2
- data/lib/mongo/collection/view.rb +24 -21
- data/lib/mongo/collection/view/aggregation.rb +5 -42
- data/lib/mongo/collection/view/builder.rb +20 -0
- data/lib/mongo/collection/view/builder/aggregation.rb +98 -0
- data/lib/mongo/collection/view/builder/find_command.rb +111 -0
- data/lib/mongo/collection/view/builder/flags.rb +62 -0
- data/lib/mongo/collection/view/builder/map_reduce.rb +134 -0
- data/lib/mongo/collection/view/builder/modifiers.rb +80 -0
- data/lib/mongo/collection/view/builder/op_query.rb +83 -0
- data/lib/mongo/collection/view/explainable.rb +15 -0
- data/lib/mongo/collection/view/immutable.rb +5 -12
- data/lib/mongo/collection/view/iterable.rb +24 -2
- data/lib/mongo/collection/view/map_reduce.rb +18 -27
- data/lib/mongo/collection/view/readable.rb +70 -112
- data/lib/mongo/collection/view/writable.rb +23 -7
- data/lib/mongo/cursor.rb +76 -25
- data/lib/mongo/cursor/builder.rb +18 -0
- data/lib/mongo/cursor/builder/get_more_command.rb +71 -0
- data/lib/mongo/cursor/builder/kill_cursors_command.rb +62 -0
- data/lib/mongo/cursor/builder/op_get_more.rb +61 -0
- data/lib/mongo/cursor/builder/op_kill_cursors.rb +56 -0
- data/lib/mongo/database.rb +2 -2
- data/lib/mongo/database/view.rb +9 -5
- data/lib/mongo/dbref.rb +3 -3
- data/lib/mongo/error.rb +1 -0
- data/lib/mongo/error/invalid_write_concern.rb +35 -0
- data/lib/mongo/grid/file/chunk.rb +2 -2
- data/lib/mongo/index/view.rb +5 -2
- data/lib/mongo/operation.rb +1 -0
- data/lib/mongo/operation/commands.rb +2 -0
- data/lib/mongo/operation/commands/aggregate.rb +39 -45
- data/lib/mongo/operation/commands/aggregate/result.rb +54 -68
- data/lib/mongo/operation/commands/collections_info.rb +38 -36
- data/lib/mongo/operation/commands/collections_info/result.rb +17 -15
- data/lib/mongo/operation/commands/command.rb +24 -22
- data/lib/mongo/operation/commands/find.rb +27 -0
- data/lib/mongo/operation/commands/find/result.rb +62 -0
- data/lib/mongo/operation/commands/get_more.rb +27 -0
- data/lib/mongo/operation/commands/get_more/result.rb +62 -0
- data/lib/mongo/operation/commands/indexes.rb +41 -39
- data/lib/mongo/operation/commands/list_collections.rb +25 -31
- data/lib/mongo/operation/commands/list_collections/result.rb +63 -81
- data/lib/mongo/operation/commands/list_indexes.rb +27 -35
- data/lib/mongo/operation/commands/list_indexes/result.rb +67 -85
- data/lib/mongo/operation/commands/map_reduce.rb +29 -37
- data/lib/mongo/operation/commands/map_reduce/result.rb +85 -88
- data/lib/mongo/operation/commands/parallel_scan.rb +29 -33
- data/lib/mongo/operation/commands/parallel_scan/result.rb +34 -42
- data/lib/mongo/operation/commands/user_query.rb +40 -38
- data/lib/mongo/operation/commands/users_info.rb +24 -29
- data/lib/mongo/operation/commands/users_info/result.rb +13 -11
- data/lib/mongo/operation/object_id_generator.rb +36 -0
- data/lib/mongo/operation/result.rb +30 -0
- data/lib/mongo/operation/specifiable.rb +35 -1
- data/lib/mongo/operation/write/bulk/bulkable.rb +4 -3
- data/lib/mongo/operation/write/bulk/delete/result.rb +18 -25
- data/lib/mongo/operation/write/bulk/legacy_mergable.rb +2 -2
- data/lib/mongo/operation/write/command/delete.rb +3 -2
- data/lib/mongo/operation/write/command/insert.rb +4 -2
- data/lib/mongo/operation/write/command/update.rb +6 -3
- data/lib/mongo/operation/write/gle.rb +2 -1
- data/lib/mongo/operation/write/idable.rb +19 -2
- data/lib/mongo/options/mapper.rb +22 -0
- data/lib/mongo/protocol/bit_vector.rb +3 -3
- data/lib/mongo/protocol/delete.rb +15 -5
- data/lib/mongo/protocol/get_more.rb +10 -5
- data/lib/mongo/protocol/insert.rb +1 -6
- data/lib/mongo/protocol/kill_cursors.rb +14 -1
- data/lib/mongo/protocol/message.rb +32 -8
- data/lib/mongo/protocol/serializers.rb +15 -16
- data/lib/mongo/protocol/update.rb +35 -12
- data/lib/mongo/server/connectable.rb +3 -1
- data/lib/mongo/server/connection.rb +5 -5
- data/lib/mongo/server/description.rb +8 -2
- data/lib/mongo/server/description/features.rb +2 -1
- data/lib/mongo/server/monitor.rb +1 -12
- data/lib/mongo/server/monitor/connection.rb +30 -26
- data/lib/mongo/server_selector/selectable.rb +21 -4
- data/lib/mongo/uri.rb +2 -0
- data/lib/mongo/version.rb +1 -1
- data/lib/mongo/write_concern.rb +21 -6
- data/mongo.gemspec +1 -2
- data/spec/mongo/bulk_write/ordered_combiner_spec.rb +13 -0
- data/spec/mongo/bulk_write_spec.rb +58 -0
- data/spec/mongo/client_spec.rb +6 -4
- data/spec/mongo/collection/view/builder/find_command_spec.rb +167 -0
- data/spec/mongo/collection/view/builder/flags_spec.rb +106 -0
- data/spec/mongo/collection/view/builder/modifiers_spec.rb +210 -0
- data/spec/mongo/collection/view/builder/op_query_spec.rb +154 -0
- data/spec/mongo/collection/view/explainable_spec.rb +1 -2
- data/spec/mongo/collection/view/immutable_spec.rb +3 -52
- data/spec/mongo/collection/view/map_reduce_spec.rb +12 -12
- data/spec/mongo/collection/view/readable_spec.rb +86 -80
- data/spec/mongo/collection/view_spec.rb +109 -703
- data/spec/mongo/collection_spec.rb +594 -11
- data/spec/mongo/command_monitoring_spec.rb +40 -27
- data/spec/mongo/cursor/builder/get_more_command_spec.rb +160 -0
- data/spec/mongo/cursor/builder/op_get_more_spec.rb +52 -0
- data/spec/mongo/cursor_spec.rb +10 -60
- data/spec/mongo/database_spec.rb +24 -3
- data/spec/mongo/dbref_spec.rb +4 -4
- data/spec/mongo/grid/file/chunk_spec.rb +1 -1
- data/spec/mongo/grid/fs_bucket_spec.rb +3 -3
- data/spec/mongo/index/view_spec.rb +41 -0
- data/spec/mongo/operation/{aggregate → commands/aggregate}/result_spec.rb +1 -1
- data/spec/mongo/operation/commands/aggregate_spec.rb +1 -1
- data/spec/mongo/operation/commands/collections_info_spec.rb +1 -1
- data/spec/mongo/operation/commands/command_spec.rb +1 -1
- data/spec/mongo/operation/commands/indexes_spec.rb +1 -1
- data/spec/mongo/operation/commands/map_reduce_spec.rb +1 -1
- data/spec/mongo/operation/write/command/delete_spec.rb +25 -0
- data/spec/mongo/operation/write/command/insert_spec.rb +25 -0
- data/spec/mongo/operation/write/command/update_spec.rb +25 -0
- data/spec/mongo/protocol/delete_spec.rb +4 -4
- data/spec/mongo/protocol/get_more_spec.rb +4 -4
- data/spec/mongo/protocol/insert_spec.rb +3 -3
- data/spec/mongo/protocol/kill_cursors_spec.rb +3 -3
- data/spec/mongo/protocol/query_spec.rb +7 -7
- data/spec/mongo/protocol/update_spec.rb +5 -5
- data/spec/mongo/server/description/features_spec.rb +25 -0
- data/spec/mongo/write_concern_spec.rb +126 -0
- data/spec/spec_helper.rb +9 -19
- data/spec/support/command_monitoring.rb +8 -0
- data/spec/support/command_monitoring/find.yml +53 -4
- data/spec/support/matchers.rb +1 -1
- data/spec/support/shared/protocol.rb +5 -5
- data/spec/support/travis.rb +1 -1
- metadata +43 -10
- metadata.gz.sig +0 -0
@@ -56,6 +56,31 @@ describe Mongo::Server::Description::Features do
|
|
56
56
|
end
|
57
57
|
end
|
58
58
|
|
59
|
+
describe '#find_command_enabled?' do
|
60
|
+
|
61
|
+
context 'when the wire range includes 4' do
|
62
|
+
|
63
|
+
let(:features) do
|
64
|
+
described_class.new(0..4)
|
65
|
+
end
|
66
|
+
|
67
|
+
it 'returns true' do
|
68
|
+
expect(features).to be_find_command_enabled
|
69
|
+
end
|
70
|
+
end
|
71
|
+
|
72
|
+
context 'when the wire range does not include 4' do
|
73
|
+
|
74
|
+
let(:features) do
|
75
|
+
described_class.new(0..2)
|
76
|
+
end
|
77
|
+
|
78
|
+
it 'returns false' do
|
79
|
+
expect(features).to_not be_find_command_enabled
|
80
|
+
end
|
81
|
+
end
|
82
|
+
end
|
83
|
+
|
59
84
|
describe '#list_collections_enabled?' do
|
60
85
|
|
61
86
|
context 'when the wire range includes 3' do
|
@@ -0,0 +1,126 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Mongo::WriteConcern do
|
4
|
+
|
5
|
+
describe '#get' do
|
6
|
+
|
7
|
+
context 'when no options are set' do
|
8
|
+
|
9
|
+
let(:options) do
|
10
|
+
{ }
|
11
|
+
end
|
12
|
+
|
13
|
+
it 'returns an Acknowledged write concern object' do
|
14
|
+
expect(Mongo::WriteConcern.get(options)).to be_a(Mongo::WriteConcern::Acknowledged)
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
context 'when w is 0' do
|
19
|
+
|
20
|
+
context 'when no other options are provided' do
|
21
|
+
|
22
|
+
let(:options) do
|
23
|
+
{ w: 0 }
|
24
|
+
end
|
25
|
+
|
26
|
+
it 'returns an Unacknowledged write concern object' do
|
27
|
+
expect(Mongo::WriteConcern.get(options)).to be_a(Mongo::WriteConcern::Unacknowledged)
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
context 'when j is also provided' do
|
32
|
+
|
33
|
+
context 'when j is false' do
|
34
|
+
|
35
|
+
let(:options) do
|
36
|
+
{ w: 0, j: false }
|
37
|
+
end
|
38
|
+
|
39
|
+
it 'returns an Unacknowledged write concern object' do
|
40
|
+
expect(Mongo::WriteConcern.get(options)).to be_a(Mongo::WriteConcern::Unacknowledged)
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
context 'when j is true' do
|
45
|
+
|
46
|
+
let(:options) do
|
47
|
+
{ w: 0, j: true }
|
48
|
+
end
|
49
|
+
|
50
|
+
it 'raises an exception' do
|
51
|
+
expect {
|
52
|
+
Mongo::WriteConcern.get(options)
|
53
|
+
}.to raise_error(Mongo::Error::InvalidWriteConcern)
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
57
|
+
context 'when fsync is true' do
|
58
|
+
|
59
|
+
let(:options) do
|
60
|
+
{ w: 0, fsync: true }
|
61
|
+
end
|
62
|
+
|
63
|
+
it 'raises an exception' do
|
64
|
+
expect {
|
65
|
+
Mongo::WriteConcern.get(options)
|
66
|
+
}.to raise_error(Mongo::Error::InvalidWriteConcern)
|
67
|
+
end
|
68
|
+
end
|
69
|
+
end
|
70
|
+
|
71
|
+
context 'when wtimeout is also provided' do
|
72
|
+
|
73
|
+
let(:options) do
|
74
|
+
{ w: 0, wimteout: 100 }
|
75
|
+
end
|
76
|
+
|
77
|
+
it 'returns an Unacknowledged write concern object' do
|
78
|
+
expect(Mongo::WriteConcern.get(options)).to be_a(Mongo::WriteConcern::Unacknowledged)
|
79
|
+
end
|
80
|
+
end
|
81
|
+
end
|
82
|
+
|
83
|
+
context 'when w is less than 0' do
|
84
|
+
|
85
|
+
let(:options) do
|
86
|
+
{ w: -1 }
|
87
|
+
end
|
88
|
+
|
89
|
+
it 'raises an exception' do
|
90
|
+
expect {
|
91
|
+
Mongo::WriteConcern.get(options)
|
92
|
+
}.to raise_error(Mongo::Error::InvalidWriteConcern)
|
93
|
+
end
|
94
|
+
end
|
95
|
+
|
96
|
+
context 'when w is greater than 0' do
|
97
|
+
|
98
|
+
let(:options) do
|
99
|
+
{ w: 2, journal: true }
|
100
|
+
end
|
101
|
+
|
102
|
+
it 'returns an Acknowledged write concern object' do
|
103
|
+
expect(Mongo::WriteConcern.get(options)).to be_a(Mongo::WriteConcern::Acknowledged)
|
104
|
+
end
|
105
|
+
|
106
|
+
it 'sets the options' do
|
107
|
+
expect(Mongo::WriteConcern.get(options).options).to eq(options)
|
108
|
+
end
|
109
|
+
end
|
110
|
+
|
111
|
+
context 'when w is a string' do
|
112
|
+
|
113
|
+
let(:options) do
|
114
|
+
{ w: 'majority', journal: true }
|
115
|
+
end
|
116
|
+
|
117
|
+
it 'returns an Acknowledged write concern object' do
|
118
|
+
expect(Mongo::WriteConcern.get(options)).to be_a(Mongo::WriteConcern::Acknowledged)
|
119
|
+
end
|
120
|
+
|
121
|
+
it 'sets the options' do
|
122
|
+
expect(Mongo::WriteConcern.get(options).options).to eq(options)
|
123
|
+
end
|
124
|
+
end
|
125
|
+
end
|
126
|
+
end
|
data/spec/spec_helper.rb
CHANGED
@@ -1,22 +1,3 @@
|
|
1
|
-
if RUBY_VERSION > '1.9' && RUBY_VERSION < '2.2'
|
2
|
-
require 'simplecov'
|
3
|
-
require 'coveralls'
|
4
|
-
|
5
|
-
SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter[
|
6
|
-
SimpleCov::Formatter::HTMLFormatter,
|
7
|
-
Coveralls::SimpleCov::Formatter
|
8
|
-
]
|
9
|
-
|
10
|
-
SimpleCov.start do
|
11
|
-
# report groups
|
12
|
-
add_group 'Wire Protocol', 'lib/mongo/protocol'
|
13
|
-
# filters
|
14
|
-
add_filter 'tasks'
|
15
|
-
add_filter 'spec'
|
16
|
-
add_filter 'bin'
|
17
|
-
end
|
18
|
-
end
|
19
|
-
|
20
1
|
TEST_SET = 'ruby-driver-rs'
|
21
2
|
COVERAGE_MIN = 90
|
22
3
|
CURRENT_PATH = File.expand_path(File.dirname(__FILE__))
|
@@ -138,6 +119,15 @@ def single_seed?
|
|
138
119
|
ADDRESSES.size == 1
|
139
120
|
end
|
140
121
|
|
122
|
+
# For instances where behaviour is different on different versions, we need to
|
123
|
+
# determine in the specs if we are 3.2 or higher.
|
124
|
+
#
|
125
|
+
# @since 2.0.0
|
126
|
+
def find_command_enabled?
|
127
|
+
$mongo_client ||= initialize_scanned_client!
|
128
|
+
$find_command_enabled ||= $mongo_client.cluster.servers.first.features.find_command_enabled?
|
129
|
+
end
|
130
|
+
|
141
131
|
# For instances where behaviour is different on different versions, we need to
|
142
132
|
# determine in the specs if we are 2.6 or higher.
|
143
133
|
#
|
@@ -227,6 +227,12 @@ module Mongo
|
|
227
227
|
# @return [ Array<Expectation> ] The expectations.
|
228
228
|
attr_reader :expectations
|
229
229
|
|
230
|
+
# @return [ String ] The server version to ignore if greater.
|
231
|
+
attr_reader :ignore_if_server_version_greater_than
|
232
|
+
|
233
|
+
# @return [ String ] The server version to ignore if lower.
|
234
|
+
attr_reader :ignore_if_server_version_less_than
|
235
|
+
|
230
236
|
# Create the new test.
|
231
237
|
#
|
232
238
|
# @example Create the test.
|
@@ -239,6 +245,8 @@ module Mongo
|
|
239
245
|
def initialize(data, test)
|
240
246
|
@data = data
|
241
247
|
@description = test['description']
|
248
|
+
@ignore_if_server_version_greater_than = test['ignore_if_server_version_greater_than']
|
249
|
+
@ignore_if_server_version_less_than = test['ignore_if_server_version_less_than']
|
242
250
|
@operation = Mongo::CRUD::Operation.get(test['operation'])
|
243
251
|
@expectations = test['expectations'].map{ |e| Expectation.new(e) }
|
244
252
|
end
|
@@ -38,10 +38,10 @@ tests:
|
|
38
38
|
description: "A successful find event with options"
|
39
39
|
operation:
|
40
40
|
name: "find"
|
41
|
+
read_preference: { mode: "primaryPreferred" }
|
41
42
|
arguments:
|
42
43
|
filter: { _id: { $gt: 1 } }
|
43
44
|
sort: { _id: 1 }
|
44
|
-
limit: 2
|
45
45
|
skip: 2
|
46
46
|
modifiers:
|
47
47
|
$comment: "test"
|
@@ -50,7 +50,6 @@ tests:
|
|
50
50
|
$maxScan: 5000
|
51
51
|
$maxTimeMS: 6000
|
52
52
|
$min: { _id: 0 }
|
53
|
-
$readPreference: { mode: "secondaryPreferred" }
|
54
53
|
$returnKey: false
|
55
54
|
$showDiskLoc: false
|
56
55
|
$snapshot: false
|
@@ -61,7 +60,6 @@ tests:
|
|
61
60
|
find: *collection_name
|
62
61
|
filter: { _id: { $gt: 1 } }
|
63
62
|
sort: { _id: 1 }
|
64
|
-
limit: 2
|
65
63
|
skip: 2
|
66
64
|
comment: "test"
|
67
65
|
hint: { _id: 1 }
|
@@ -69,7 +67,6 @@ tests:
|
|
69
67
|
maxScan: 5000
|
70
68
|
maxTimeMS: 6000
|
71
69
|
min: { _id: 0 }
|
72
|
-
readPreference: { mode: "secondaryPreferred" }
|
73
70
|
returnKey: false
|
74
71
|
showRecordId: false
|
75
72
|
snapshot: false
|
@@ -137,6 +134,7 @@ tests:
|
|
137
134
|
command_name: "getMore"
|
138
135
|
-
|
139
136
|
description: "A successful find event with a getmore and killcursors"
|
137
|
+
ignore_if_server_version_greater_than: "3.0"
|
140
138
|
operation:
|
141
139
|
name: "find"
|
142
140
|
arguments:
|
@@ -200,6 +198,57 @@ tests:
|
|
200
198
|
cursorsUnknown:
|
201
199
|
- { $numberLong: "42" }
|
202
200
|
command_name: "killCursors"
|
201
|
+
-
|
202
|
+
description: "A successful find event with a getmore and the server kills the cursor"
|
203
|
+
ignore_if_server_version_less_than: "3.1"
|
204
|
+
operation:
|
205
|
+
name: "find"
|
206
|
+
arguments:
|
207
|
+
filter: { _id: { $gte: 1 }}
|
208
|
+
sort: { _id: 1 }
|
209
|
+
batchSize: 3
|
210
|
+
limit: 4
|
211
|
+
expectations:
|
212
|
+
-
|
213
|
+
command_started_event:
|
214
|
+
command:
|
215
|
+
find: *collection_name
|
216
|
+
filter: { _id: { $gte : 1 }}
|
217
|
+
sort: { _id: 1 }
|
218
|
+
batchSize: 3
|
219
|
+
limit: 4
|
220
|
+
command_name: "find"
|
221
|
+
database_name: *database_name
|
222
|
+
-
|
223
|
+
command_succeeded_event:
|
224
|
+
reply:
|
225
|
+
ok: 1.0
|
226
|
+
cursor:
|
227
|
+
id: { $numberLong: "42" }
|
228
|
+
ns: *namespace
|
229
|
+
firstBatch:
|
230
|
+
- { _id: 1, x: 11 }
|
231
|
+
- { _id: 2, x: 22 }
|
232
|
+
- { _id: 3, x: 33 }
|
233
|
+
command_name: "find"
|
234
|
+
-
|
235
|
+
command_started_event:
|
236
|
+
command:
|
237
|
+
getMore: { $numberLong: "42" }
|
238
|
+
collection: *collection_name
|
239
|
+
batchSize: 3
|
240
|
+
command_name: "getMore"
|
241
|
+
database_name: *database_name
|
242
|
+
-
|
243
|
+
command_succeeded_event:
|
244
|
+
reply:
|
245
|
+
ok: 1.0
|
246
|
+
cursor:
|
247
|
+
id: { $numberLong: "0" }
|
248
|
+
ns: *namespace
|
249
|
+
nextBatch:
|
250
|
+
- { _id: 4, x: 44 }
|
251
|
+
command_name: "getMore"
|
203
252
|
-
|
204
253
|
description: "A failed find event"
|
205
254
|
operation:
|
data/spec/support/matchers.rb
CHANGED
@@ -1,28 +1,28 @@
|
|
1
1
|
shared_examples 'message with a header' do
|
2
2
|
describe 'header' do
|
3
3
|
describe 'length' do
|
4
|
-
let(:field) { bytes[0..3] }
|
4
|
+
let(:field) { bytes.to_s[0..3] }
|
5
5
|
it 'serializes the length' do
|
6
|
-
expect(field).to be_int32(bytes.
|
6
|
+
expect(field).to be_int32(bytes.length)
|
7
7
|
end
|
8
8
|
end
|
9
9
|
|
10
10
|
describe 'request id' do
|
11
|
-
let(:field) { bytes[4..7] }
|
11
|
+
let(:field) { bytes.to_s[4..7] }
|
12
12
|
it 'serializes the request id' do
|
13
13
|
expect(field).to be_int32(message.request_id)
|
14
14
|
end
|
15
15
|
end
|
16
16
|
|
17
17
|
describe 'response to' do
|
18
|
-
let(:field) { bytes[8..11] }
|
18
|
+
let(:field) { bytes.to_s[8..11] }
|
19
19
|
it 'serializes the response to' do
|
20
20
|
expect(field).to be_int32(0)
|
21
21
|
end
|
22
22
|
end
|
23
23
|
|
24
24
|
describe 'op code' do
|
25
|
-
let(:field) { bytes[12..15] }
|
25
|
+
let(:field) { bytes.to_s[12..15] }
|
26
26
|
it 'serializes the op code' do
|
27
27
|
expect(field).to be_int32(opcode)
|
28
28
|
end
|
data/spec/support/travis.rb
CHANGED
@@ -4,7 +4,7 @@ if (ENV['CI'] == 'travis')
|
|
4
4
|
client = Mongo::Client.new(['127.0.0.1:27017'])
|
5
5
|
while starting
|
6
6
|
begin
|
7
|
-
client.command(Mongo::Server::Monitor::
|
7
|
+
client.command(Mongo::Server::Monitor::Connection::ISMASTER)
|
8
8
|
break
|
9
9
|
rescue Mongo::Error::OperationFailure => e
|
10
10
|
sleep(2)
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mongo
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.2.0.rc0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tyler Brock
|
@@ -32,7 +32,7 @@ cert_chain:
|
|
32
32
|
o2UXDbWtz5PqoFd8EgNJAn3+BG1pwC9S9pVFG3WPucfAx/bE8iq/vvchHei5Y/Vo
|
33
33
|
aAz5f/hY4zFeYWvGDBHYEXE1rTN2hhMSyJscPcFbmz0=
|
34
34
|
-----END CERTIFICATE-----
|
35
|
-
date: 2015-
|
35
|
+
date: 2015-11-16 00:00:00.000000000 Z
|
36
36
|
dependencies:
|
37
37
|
- !ruby/object:Gem::Dependency
|
38
38
|
name: bson
|
@@ -40,14 +40,14 @@ dependencies:
|
|
40
40
|
requirements:
|
41
41
|
- - "~>"
|
42
42
|
- !ruby/object:Gem::Version
|
43
|
-
version:
|
43
|
+
version: 4.0.0.rc0
|
44
44
|
type: :runtime
|
45
45
|
prerelease: false
|
46
46
|
version_requirements: !ruby/object:Gem::Requirement
|
47
47
|
requirements:
|
48
48
|
- - "~>"
|
49
49
|
- !ruby/object:Gem::Version
|
50
|
-
version:
|
50
|
+
version: 4.0.0.rc0
|
51
51
|
description: A Ruby driver for MongoDB
|
52
52
|
email: mongodb-dev@googlegroups.com
|
53
53
|
executables: []
|
@@ -59,6 +59,7 @@ files:
|
|
59
59
|
- README.md
|
60
60
|
- Rakefile
|
61
61
|
- bin/mongo_console
|
62
|
+
- lib/csasl/csasl.bundle
|
62
63
|
- lib/mongo.rb
|
63
64
|
- lib/mongo/address.rb
|
64
65
|
- lib/mongo/address/ipv4.rb
|
@@ -94,6 +95,13 @@ files:
|
|
94
95
|
- lib/mongo/collection.rb
|
95
96
|
- lib/mongo/collection/view.rb
|
96
97
|
- lib/mongo/collection/view/aggregation.rb
|
98
|
+
- lib/mongo/collection/view/builder.rb
|
99
|
+
- lib/mongo/collection/view/builder/aggregation.rb
|
100
|
+
- lib/mongo/collection/view/builder/find_command.rb
|
101
|
+
- lib/mongo/collection/view/builder/flags.rb
|
102
|
+
- lib/mongo/collection/view/builder/map_reduce.rb
|
103
|
+
- lib/mongo/collection/view/builder/modifiers.rb
|
104
|
+
- lib/mongo/collection/view/builder/op_query.rb
|
97
105
|
- lib/mongo/collection/view/explainable.rb
|
98
106
|
- lib/mongo/collection/view/immutable.rb
|
99
107
|
- lib/mongo/collection/view/iterable.rb
|
@@ -101,6 +109,11 @@ files:
|
|
101
109
|
- lib/mongo/collection/view/readable.rb
|
102
110
|
- lib/mongo/collection/view/writable.rb
|
103
111
|
- lib/mongo/cursor.rb
|
112
|
+
- lib/mongo/cursor/builder.rb
|
113
|
+
- lib/mongo/cursor/builder/get_more_command.rb
|
114
|
+
- lib/mongo/cursor/builder/kill_cursors_command.rb
|
115
|
+
- lib/mongo/cursor/builder/op_get_more.rb
|
116
|
+
- lib/mongo/cursor/builder/op_kill_cursors.rb
|
104
117
|
- lib/mongo/database.rb
|
105
118
|
- lib/mongo/database/view.rb
|
106
119
|
- lib/mongo/dbref.rb
|
@@ -122,6 +135,7 @@ files:
|
|
122
135
|
- lib/mongo/error/invalid_signature.rb
|
123
136
|
- lib/mongo/error/invalid_update_document.rb
|
124
137
|
- lib/mongo/error/invalid_uri.rb
|
138
|
+
- lib/mongo/error/invalid_write_concern.rb
|
125
139
|
- lib/mongo/error/max_bson_size.rb
|
126
140
|
- lib/mongo/error/max_message_size.rb
|
127
141
|
- lib/mongo/error/missing_file_chunk.rb
|
@@ -169,6 +183,10 @@ files:
|
|
169
183
|
- lib/mongo/operation/commands/collections_info.rb
|
170
184
|
- lib/mongo/operation/commands/collections_info/result.rb
|
171
185
|
- lib/mongo/operation/commands/command.rb
|
186
|
+
- lib/mongo/operation/commands/find.rb
|
187
|
+
- lib/mongo/operation/commands/find/result.rb
|
188
|
+
- lib/mongo/operation/commands/get_more.rb
|
189
|
+
- lib/mongo/operation/commands/get_more/result.rb
|
172
190
|
- lib/mongo/operation/commands/indexes.rb
|
173
191
|
- lib/mongo/operation/commands/list_collections.rb
|
174
192
|
- lib/mongo/operation/commands/list_collections/result.rb
|
@@ -184,6 +202,7 @@ files:
|
|
184
202
|
- lib/mongo/operation/executable.rb
|
185
203
|
- lib/mongo/operation/kill_cursors.rb
|
186
204
|
- lib/mongo/operation/limited.rb
|
205
|
+
- lib/mongo/operation/object_id_generator.rb
|
187
206
|
- lib/mongo/operation/read.rb
|
188
207
|
- lib/mongo/operation/read/get_more.rb
|
189
208
|
- lib/mongo/operation/read/query.rb
|
@@ -297,6 +316,10 @@ files:
|
|
297
316
|
- spec/mongo/cluster/topology_spec.rb
|
298
317
|
- spec/mongo/cluster_spec.rb
|
299
318
|
- spec/mongo/collection/view/aggregation_spec.rb
|
319
|
+
- spec/mongo/collection/view/builder/find_command_spec.rb
|
320
|
+
- spec/mongo/collection/view/builder/flags_spec.rb
|
321
|
+
- spec/mongo/collection/view/builder/modifiers_spec.rb
|
322
|
+
- spec/mongo/collection/view/builder/op_query_spec.rb
|
300
323
|
- spec/mongo/collection/view/explainable_spec.rb
|
301
324
|
- spec/mongo/collection/view/immutable_spec.rb
|
302
325
|
- spec/mongo/collection/view/map_reduce_spec.rb
|
@@ -307,6 +330,8 @@ files:
|
|
307
330
|
- spec/mongo/command_monitoring_spec.rb
|
308
331
|
- spec/mongo/connection_string_spec.rb
|
309
332
|
- spec/mongo/crud_spec.rb
|
333
|
+
- spec/mongo/cursor/builder/get_more_command_spec.rb
|
334
|
+
- spec/mongo/cursor/builder/op_get_more_spec.rb
|
310
335
|
- spec/mongo/cursor_spec.rb
|
311
336
|
- spec/mongo/database_spec.rb
|
312
337
|
- spec/mongo/dbref_spec.rb
|
@@ -328,7 +353,7 @@ files:
|
|
328
353
|
- spec/mongo/monitoring/event/command_succeeded_spec.rb
|
329
354
|
- spec/mongo/monitoring/event/secure_spec.rb
|
330
355
|
- spec/mongo/monitoring_spec.rb
|
331
|
-
- spec/mongo/operation/aggregate/result_spec.rb
|
356
|
+
- spec/mongo/operation/commands/aggregate/result_spec.rb
|
332
357
|
- spec/mongo/operation/commands/aggregate_spec.rb
|
333
358
|
- spec/mongo/operation/commands/collections_info_spec.rb
|
334
359
|
- spec/mongo/operation/commands/command_spec.rb
|
@@ -388,6 +413,7 @@ files:
|
|
388
413
|
- spec/mongo/uri_spec.rb
|
389
414
|
- spec/mongo/write_concern/acknowledged_spec.rb
|
390
415
|
- spec/mongo/write_concern/unacknowledged_spec.rb
|
416
|
+
- spec/mongo/write_concern_spec.rb
|
391
417
|
- spec/spec_helper.rb
|
392
418
|
- spec/support/authorization.rb
|
393
419
|
- spec/support/certificates/ca.pem
|
@@ -537,12 +563,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
537
563
|
version: '0'
|
538
564
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
539
565
|
requirements:
|
540
|
-
- - "
|
566
|
+
- - ">"
|
541
567
|
- !ruby/object:Gem::Version
|
542
|
-
version:
|
568
|
+
version: 1.3.1
|
543
569
|
requirements: []
|
544
|
-
rubyforge_project:
|
545
|
-
rubygems_version: 2.4.
|
570
|
+
rubyforge_project:
|
571
|
+
rubygems_version: 2.4.6
|
546
572
|
signing_key:
|
547
573
|
specification_version: 4
|
548
574
|
summary: Ruby driver for MongoDB
|
@@ -571,6 +597,10 @@ test_files:
|
|
571
597
|
- spec/mongo/cluster/topology_spec.rb
|
572
598
|
- spec/mongo/cluster_spec.rb
|
573
599
|
- spec/mongo/collection/view/aggregation_spec.rb
|
600
|
+
- spec/mongo/collection/view/builder/find_command_spec.rb
|
601
|
+
- spec/mongo/collection/view/builder/flags_spec.rb
|
602
|
+
- spec/mongo/collection/view/builder/modifiers_spec.rb
|
603
|
+
- spec/mongo/collection/view/builder/op_query_spec.rb
|
574
604
|
- spec/mongo/collection/view/explainable_spec.rb
|
575
605
|
- spec/mongo/collection/view/immutable_spec.rb
|
576
606
|
- spec/mongo/collection/view/map_reduce_spec.rb
|
@@ -581,6 +611,8 @@ test_files:
|
|
581
611
|
- spec/mongo/command_monitoring_spec.rb
|
582
612
|
- spec/mongo/connection_string_spec.rb
|
583
613
|
- spec/mongo/crud_spec.rb
|
614
|
+
- spec/mongo/cursor/builder/get_more_command_spec.rb
|
615
|
+
- spec/mongo/cursor/builder/op_get_more_spec.rb
|
584
616
|
- spec/mongo/cursor_spec.rb
|
585
617
|
- spec/mongo/database_spec.rb
|
586
618
|
- spec/mongo/dbref_spec.rb
|
@@ -602,7 +634,7 @@ test_files:
|
|
602
634
|
- spec/mongo/monitoring/event/command_succeeded_spec.rb
|
603
635
|
- spec/mongo/monitoring/event/secure_spec.rb
|
604
636
|
- spec/mongo/monitoring_spec.rb
|
605
|
-
- spec/mongo/operation/aggregate/result_spec.rb
|
637
|
+
- spec/mongo/operation/commands/aggregate/result_spec.rb
|
606
638
|
- spec/mongo/operation/commands/aggregate_spec.rb
|
607
639
|
- spec/mongo/operation/commands/collections_info_spec.rb
|
608
640
|
- spec/mongo/operation/commands/command_spec.rb
|
@@ -662,6 +694,7 @@ test_files:
|
|
662
694
|
- spec/mongo/uri_spec.rb
|
663
695
|
- spec/mongo/write_concern/acknowledged_spec.rb
|
664
696
|
- spec/mongo/write_concern/unacknowledged_spec.rb
|
697
|
+
- spec/mongo/write_concern_spec.rb
|
665
698
|
- spec/spec_helper.rb
|
666
699
|
- spec/support/authorization.rb
|
667
700
|
- spec/support/certificates/ca.pem
|