mongo 2.2.3 → 2.2.4

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 4aa2e3cfc044a5c4e8c69c0a951c485db0aa93b7
4
- data.tar.gz: 86f18a46a73a5d7d0234eb8468833258c441247c
3
+ metadata.gz: 65cf62fc9f77f84668c204be16c29ecf86f6217a
4
+ data.tar.gz: dfc97cdbd591e0fd9f539dd8bef21fb46af49829
5
5
  SHA512:
6
- metadata.gz: 26109683ee810a6af091755feb5a2cbbbf578c28177194abb3601efe2478b77b9cb4cd261e3dfe69d3d7dd33daa40e326c3e10ab2cc5c89b7b0d7c6401b90ca2
7
- data.tar.gz: 4109ba38cfb7841490a7216e61b8e16e97edffbeb438afc418a24876f10c6f6b092128402e218786df74c82ee047c1f9917d2e4bb1a4e1d6022bb37631c06819
6
+ metadata.gz: 937f66f51858557875fc829be722fff81d104c1d4c1cc4522335bcaca7937d5026cee53cbe6a682bb9c649a523ddf213c4a5de1dd29005530c74a8a392538fbe
7
+ data.tar.gz: b38fbd21f331920971e2fd466147d21d0a9fa866079b57c9618c6aca908ebc20123f6bab467116bb18ac76e432703a74e80d256ce90c58a91ea25e0a6e8901b7
Binary file
data.tar.gz.sig CHANGED
Binary file
@@ -0,0 +1,15 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ $LOAD_PATH[0, 0] = File.join(File.dirname(__FILE__), '..', 'lib')
4
+ require 'pry'
5
+ require 'mongo'
6
+
7
+ # include the mongo namespace
8
+ include Mongo
9
+
10
+ client = Mongo::Client.new("mongodb://localhost:27017/?ssl=true&sslVerify=false")
11
+
12
+ binding.pry
13
+
14
+ client
15
+
@@ -43,6 +43,7 @@ module Mongo
43
43
  show_disk_loc: 'showRecordId',
44
44
  snapshot: 'snapshot',
45
45
  tailable: 'tailable',
46
+ tailable_cursor: 'tailable',
46
47
  oplog_replay: 'oplogReplay',
47
48
  no_cursor_timeout: 'noCursorTimeout',
48
49
  await_data: 'awaitData',
@@ -93,17 +94,26 @@ module Mongo
93
94
 
94
95
  def find_command
95
96
  document = BSON::Document.new('find' => collection.name, 'filter' => filter)
96
- command = Options::Mapper.transform_documents(options, MAPPINGS, document)
97
+ command = Options::Mapper.transform_documents(convert_flags(options), MAPPINGS, document)
97
98
  convert_negative_limit(command)
98
99
  end
99
100
 
100
101
  def convert_negative_limit(command)
101
102
  if command[:limit] && command[:limit] < 0
102
- command.delete('limit')
103
+ command['limit'] = command['limit'].abs
103
104
  command[:singleBatch] = true
104
105
  end
105
106
  command
106
107
  end
108
+
109
+ def convert_flags(options)
110
+ return options if options.empty?
111
+ opts = options.dup
112
+ opts.delete(:cursor_type)
113
+ Flags.map_flags(options).reduce(opts) do |opts, key|
114
+ opts.merge!(key => true)
115
+ end
116
+ end
107
117
  end
108
118
  end
109
119
  end
@@ -17,5 +17,5 @@ module Mongo
17
17
  # The current version of the driver.
18
18
  #
19
19
  # @since 2.0.0
20
- VERSION = '2.2.3'.freeze
20
+ VERSION = '2.2.4'.freeze
21
21
  end
@@ -159,8 +159,49 @@ describe Mongo::Collection::View::Builder::FindCommand do
159
159
  expect(selector['singleBatch']).to be true
160
160
  end
161
161
 
162
- it 'removes the limit from the command' do
163
- expect(selector['limit']).to be_nil
162
+ it 'converts the limit to a positive value' do
163
+ expect(selector['limit']).to be(options[:limit].abs)
164
+ end
165
+ end
166
+
167
+ context 'when cursor_type is specified' do
168
+
169
+ let(:filter) do
170
+ { 'name' => 'test' }
171
+ end
172
+
173
+ context 'when cursor_type is :tailable' do
174
+
175
+ let(:options) do
176
+ {
177
+ cursor_type: :tailable,
178
+ }
179
+ end
180
+
181
+ it 'maps to tailable' do
182
+ expect(selector['tailable']).to be true
183
+ end
184
+
185
+ it 'does not map to awaitData' do
186
+ expect(selector['awaitData']).to be_nil
187
+ end
188
+ end
189
+
190
+ context 'when cursor_type is :tailable_await' do
191
+
192
+ let(:options) do
193
+ {
194
+ cursor_type: :tailable_await,
195
+ }
196
+ end
197
+
198
+ it 'maps to tailable' do
199
+ expect(selector['tailable']).to be true
200
+ end
201
+
202
+ it 'maps to awaitData' do
203
+ expect(selector['awaitData']).to be true
204
+ end
164
205
  end
165
206
  end
166
207
  end
@@ -136,14 +136,10 @@ describe Mongo::Cursor do
136
136
  Mongo::Collection::View.new(authorized_collection, {}, :limit => -2)
137
137
  end
138
138
 
139
- it 'returns the positive number of documents', unless: find_command_enabled? do
139
+ it 'returns the positive number of documents' do
140
140
  expect(cursor.to_a.count).to eq(2)
141
141
  end
142
142
 
143
- it 'returns all documents', if: find_command_enabled? do
144
- expect(cursor.to_a.count).to eq(10)
145
- end
146
-
147
143
  it 'iterates the documents' do
148
144
  cursor.each do |doc|
149
145
  expect(doc).to have_key('field')
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.2.3
4
+ version: 2.2.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tyler Brock
@@ -32,7 +32,7 @@ cert_chain:
32
32
  EhIn2f8suSc9QAqYt7w4T+PMtjxWTVcXs+Uy2PbDtjhtEBz6ZsP6YSsOpJbrCjCV
33
33
  wZtXjpRUvWz86V5vjhHCTE8fqfEb85aeDwUCckPzpio=
34
34
  -----END CERTIFICATE-----
35
- date: 2016-02-18 00:00:00.000000000 Z
35
+ date: 2016-03-01 00:00:00.000000000 Z
36
36
  dependencies:
37
37
  - !ruby/object:Gem::Dependency
38
38
  name: bson
@@ -59,6 +59,7 @@ files:
59
59
  - README.md
60
60
  - Rakefile
61
61
  - bin/mongo_console
62
+ - bin/test.rb
62
63
  - lib/csasl/csasl.bundle
63
64
  - lib/mongo.rb
64
65
  - lib/mongo/address.rb
metadata.gz.sig CHANGED
Binary file