mongo 2.0.6 → 2.1.0.beta

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.
Files changed (119) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.sig +0 -0
  3. data.tar.gz.sig +0 -0
  4. data/lib/mongo.rb +2 -0
  5. data/lib/mongo/bulk_write.rb +1 -0
  6. data/lib/mongo/bulk_write/bulk_writable.rb +87 -31
  7. data/lib/mongo/bulk_write/deletable.rb +8 -7
  8. data/lib/mongo/bulk_write/insertable.rb +4 -3
  9. data/lib/mongo/bulk_write/ordered_bulk_write.rb +6 -6
  10. data/lib/mongo/bulk_write/replacable.rb +4 -3
  11. data/lib/mongo/bulk_write/result.rb +138 -0
  12. data/lib/mongo/bulk_write/unordered_bulk_write.rb +5 -8
  13. data/lib/mongo/bulk_write/updatable.rb +8 -7
  14. data/lib/mongo/client.rb +36 -4
  15. data/lib/mongo/cluster.rb +39 -4
  16. data/lib/mongo/cluster/topology/replica_set.rb +20 -4
  17. data/lib/mongo/cluster/topology/sharded.rb +1 -1
  18. data/lib/mongo/collection.rb +282 -29
  19. data/lib/mongo/collection/view/aggregation.rb +32 -4
  20. data/lib/mongo/collection/view/iterable.rb +2 -1
  21. data/lib/mongo/collection/view/map_reduce.rb +3 -1
  22. data/lib/mongo/collection/view/readable.rb +89 -14
  23. data/lib/mongo/collection/view/writable.rb +11 -5
  24. data/lib/mongo/cursor.rb +11 -3
  25. data/lib/mongo/dbref.rb +113 -0
  26. data/lib/mongo/error.rb +6 -2
  27. data/lib/mongo/error/parser.rb +1 -1
  28. data/lib/mongo/event/description_changed.rb +1 -1
  29. data/lib/mongo/grid/file.rb +1 -1
  30. data/lib/mongo/grid/fs.rb +2 -5
  31. data/lib/mongo/monitoring.rb +199 -0
  32. data/lib/mongo/monitoring/command_log_subscriber.rb +88 -0
  33. data/lib/mongo/monitoring/event.rb +17 -0
  34. data/lib/mongo/monitoring/event/command_failed.rb +96 -0
  35. data/lib/mongo/monitoring/event/command_started.rb +88 -0
  36. data/lib/mongo/monitoring/event/command_succeeded.rb +96 -0
  37. data/lib/mongo/monitoring/publishable.rb +96 -0
  38. data/lib/mongo/operation.rb +1 -0
  39. data/lib/mongo/operation/executable.rb +1 -1
  40. data/lib/mongo/operation/parallel_scan.rb +76 -0
  41. data/lib/mongo/operation/parallel_scan/result.rb +72 -0
  42. data/lib/mongo/operation/specifiable.rb +18 -0
  43. data/lib/mongo/operation/write/bulk/bulk_delete.rb +1 -1
  44. data/lib/mongo/operation/write/bulk/bulk_insert.rb +1 -1
  45. data/lib/mongo/operation/write/bulk/bulk_mergable.rb +2 -2
  46. data/lib/mongo/operation/write/bulk/bulk_update.rb +1 -1
  47. data/lib/mongo/operation/write/bulk/bulk_update/result.rb +13 -1
  48. data/lib/mongo/protocol/delete.rb +8 -13
  49. data/lib/mongo/protocol/get_more.rb +13 -13
  50. data/lib/mongo/protocol/insert.rb +8 -13
  51. data/lib/mongo/protocol/kill_cursors.rb +7 -11
  52. data/lib/mongo/protocol/query.rb +58 -20
  53. data/lib/mongo/protocol/reply.rb +12 -0
  54. data/lib/mongo/protocol/update.rb +13 -14
  55. data/lib/mongo/server.rb +23 -2
  56. data/lib/mongo/server/connectable.rb +0 -22
  57. data/lib/mongo/server/connection.rb +29 -0
  58. data/lib/mongo/server/description.rb +23 -1
  59. data/lib/mongo/server/monitor.rb +17 -1
  60. data/lib/mongo/server/monitor/connection.rb +24 -0
  61. data/lib/mongo/socket/ssl.rb +28 -16
  62. data/lib/mongo/socket/tcp.rb +1 -1
  63. data/lib/mongo/socket/unix.rb +1 -1
  64. data/lib/mongo/uri.rb +12 -5
  65. data/lib/mongo/version.rb +1 -1
  66. data/spec/mongo/auth/cr_spec.rb +9 -1
  67. data/spec/mongo/auth/ldap_spec.rb +9 -1
  68. data/spec/mongo/auth/scram_spec.rb +9 -1
  69. data/spec/mongo/auth/x509_spec.rb +9 -1
  70. data/spec/mongo/{bulk/bulk_write_spec.rb → bulk_write_spec.rb} +15 -15
  71. data/spec/mongo/client_spec.rb +42 -0
  72. data/spec/mongo/cluster/topology/replica_set_spec.rb +16 -9
  73. data/spec/mongo/cluster/topology/sharded_spec.rb +11 -3
  74. data/spec/mongo/cluster/topology/single_spec.rb +12 -4
  75. data/spec/mongo/cluster_spec.rb +55 -10
  76. data/spec/mongo/collection/view/aggregation_spec.rb +123 -1
  77. data/spec/mongo/collection/view/explainable_spec.rb +1 -1
  78. data/spec/mongo/collection/view/map_reduce_spec.rb +1 -1
  79. data/spec/mongo/collection/view/readable_spec.rb +251 -6
  80. data/spec/mongo/collection/view/writable_spec.rb +4 -4
  81. data/spec/mongo/collection/view_spec.rb +233 -71
  82. data/spec/mongo/collection_spec.rb +905 -9
  83. data/spec/mongo/crud_spec.rb +2 -2
  84. data/spec/mongo/cursor_spec.rb +3 -3
  85. data/spec/mongo/dbref_spec.rb +149 -0
  86. data/spec/mongo/monitoring_spec.rb +168 -0
  87. data/spec/mongo/operation/map_reduce_spec.rb +1 -1
  88. data/spec/mongo/operation/write/bulk/bulk_delete_spec.rb +1 -1
  89. data/spec/mongo/operation/write/bulk/bulk_insert_spec.rb +2 -2
  90. data/spec/mongo/operation/write/bulk/bulk_update_spec.rb +1 -1
  91. data/spec/mongo/operation/write/delete_spec.rb +1 -1
  92. data/spec/mongo/operation/write/insert_spec.rb +2 -2
  93. data/spec/mongo/operation/write/update_spec.rb +1 -1
  94. data/spec/mongo/protocol/query_spec.rb +0 -29
  95. data/spec/mongo/server/connection_pool_spec.rb +18 -6
  96. data/spec/mongo/server/connection_spec.rb +12 -4
  97. data/spec/mongo/server/description_spec.rb +7 -3
  98. data/spec/mongo/server/monitor_spec.rb +30 -0
  99. data/spec/mongo/server_discovery_and_monitoring_spec.rb +11 -4
  100. data/spec/mongo/server_selection_spec.rb +14 -6
  101. data/spec/mongo/server_spec.rb +27 -8
  102. data/spec/mongo/socket/ssl_spec.rb +94 -8
  103. data/spec/mongo/uri_spec.rb +25 -9
  104. data/spec/spec_helper.rb +29 -20
  105. data/spec/support/authorization.rb +19 -4
  106. data/spec/support/certificates/client.pem +4 -4
  107. data/spec/support/crud/read.rb +9 -10
  108. data/spec/support/crud/write.rb +24 -20
  109. data/spec/support/sdam/rs/equal_electionids.yml +45 -0
  110. data/spec/support/sdam/rs/new_primary_new_electionid.yml +98 -0
  111. data/spec/support/sdam/rs/null_election_id.yml +144 -0
  112. data/spec/support/sdam/rs/primary_disconnect_electionid.yml +124 -0
  113. data/spec/support/sdam/sharded/mongos_disconnect.yml +104 -0
  114. data/spec/support/server_discovery_and_monitoring.rb +19 -2
  115. data/spec/support/shared/bulk_write.rb +26 -22
  116. data/spec/support/shared/server_selector.rb +2 -1
  117. metadata +31 -7
  118. metadata.gz.sig +0 -0
  119. data/lib/mongo/error/invalid_uri_option.rb +0 -38
@@ -11,9 +11,10 @@ def server(mode, options = {})
11
11
  }
12
12
 
13
13
  listeners = Mongo::Event::Listeners.new
14
+ monitoring = Mongo::Monitoring.new
14
15
  address = Mongo::Address.new('127.0.0.1:27017')
15
16
 
16
- server = Mongo::Server.new(address, double('cluster'), listeners, TEST_OPTIONS)
17
+ server = Mongo::Server.new(address, double('cluster'), monitoring, listeners, TEST_OPTIONS)
17
18
  description = Mongo::Server::Description.new(address, ismaster, average_round_trip_time)
18
19
  server.tap do |s|
19
20
  allow(s).to receive(:description).and_return(description)
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.0.6
4
+ version: 2.1.0.beta
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-06-24 00:00:00.000000000 Z
35
+ date: 2015-07-06 00:00:00.000000000 Z
36
36
  dependencies:
37
37
  - !ruby/object:Gem::Dependency
38
38
  name: bson
@@ -82,6 +82,7 @@ files:
82
82
  - lib/mongo/bulk_write/insertable.rb
83
83
  - lib/mongo/bulk_write/ordered_bulk_write.rb
84
84
  - lib/mongo/bulk_write/replacable.rb
85
+ - lib/mongo/bulk_write/result.rb
85
86
  - lib/mongo/bulk_write/unordered_bulk_write.rb
86
87
  - lib/mongo/bulk_write/updatable.rb
87
88
  - lib/mongo/client.rb
@@ -103,6 +104,7 @@ files:
103
104
  - lib/mongo/cursor.rb
104
105
  - lib/mongo/database.rb
105
106
  - lib/mongo/database/view.rb
107
+ - lib/mongo/dbref.rb
106
108
  - lib/mongo/error.rb
107
109
  - lib/mongo/error/bulk_write_error.rb
108
110
  - lib/mongo/error/invalid_bulk_operation.rb
@@ -117,7 +119,6 @@ files:
117
119
  - lib/mongo/error/invalid_signature.rb
118
120
  - lib/mongo/error/invalid_update_document.rb
119
121
  - lib/mongo/error/invalid_uri.rb
120
- - lib/mongo/error/invalid_uri_option.rb
121
122
  - lib/mongo/error/max_bson_size.rb
122
123
  - lib/mongo/error/max_message_size.rb
123
124
  - lib/mongo/error/multi_index_drop.rb
@@ -144,6 +145,13 @@ files:
144
145
  - lib/mongo/index/view.rb
145
146
  - lib/mongo/loggable.rb
146
147
  - lib/mongo/logger.rb
148
+ - lib/mongo/monitoring.rb
149
+ - lib/mongo/monitoring/command_log_subscriber.rb
150
+ - lib/mongo/monitoring/event.rb
151
+ - lib/mongo/monitoring/event/command_failed.rb
152
+ - lib/mongo/monitoring/event/command_started.rb
153
+ - lib/mongo/monitoring/event/command_succeeded.rb
154
+ - lib/mongo/monitoring/publishable.rb
147
155
  - lib/mongo/operation.rb
148
156
  - lib/mongo/operation/aggregate.rb
149
157
  - lib/mongo/operation/aggregate/result.rb
@@ -155,6 +163,8 @@ files:
155
163
  - lib/mongo/operation/list_indexes/result.rb
156
164
  - lib/mongo/operation/map_reduce.rb
157
165
  - lib/mongo/operation/map_reduce/result.rb
166
+ - lib/mongo/operation/parallel_scan.rb
167
+ - lib/mongo/operation/parallel_scan/result.rb
158
168
  - lib/mongo/operation/read.rb
159
169
  - lib/mongo/operation/read/collections_info.rb
160
170
  - lib/mongo/operation/read/get_more.rb
@@ -254,7 +264,7 @@ files:
254
264
  - spec/mongo/auth/user_spec.rb
255
265
  - spec/mongo/auth/x509_spec.rb
256
266
  - spec/mongo/auth_spec.rb
257
- - spec/mongo/bulk/bulk_write_spec.rb
267
+ - spec/mongo/bulk_write_spec.rb
258
268
  - spec/mongo/client_spec.rb
259
269
  - spec/mongo/cluster/topology/replica_set_spec.rb
260
270
  - spec/mongo/cluster/topology/sharded_spec.rb
@@ -272,6 +282,7 @@ files:
272
282
  - spec/mongo/crud_spec.rb
273
283
  - spec/mongo/cursor_spec.rb
274
284
  - spec/mongo/database_spec.rb
285
+ - spec/mongo/dbref_spec.rb
275
286
  - spec/mongo/error/parser_spec.rb
276
287
  - spec/mongo/event/publisher_spec.rb
277
288
  - spec/mongo/event/subscriber_spec.rb
@@ -282,6 +293,7 @@ files:
282
293
  - spec/mongo/index/view_spec.rb
283
294
  - spec/mongo/loggable_spec.rb
284
295
  - spec/mongo/logger_spec.rb
296
+ - spec/mongo/monitoring_spec.rb
285
297
  - spec/mongo/operation/aggregate/result_spec.rb
286
298
  - spec/mongo/operation/aggregate_spec.rb
287
299
  - spec/mongo/operation/command_spec.rb
@@ -371,17 +383,21 @@ files:
371
383
  - spec/support/sdam/rs/discover_primary.yml
372
384
  - spec/support/sdam/rs/discover_secondary.yml
373
385
  - spec/support/sdam/rs/discovery.yml
386
+ - spec/support/sdam/rs/equal_electionids.yml
374
387
  - spec/support/sdam/rs/ghost_discovered.yml
375
388
  - spec/support/sdam/rs/hosts_differ_from_seeds.yml
376
389
  - spec/support/sdam/rs/member_reconfig.yml
377
390
  - spec/support/sdam/rs/member_standalone.yml
378
391
  - spec/support/sdam/rs/new_primary.yml
392
+ - spec/support/sdam/rs/new_primary_new_electionid.yml
379
393
  - spec/support/sdam/rs/new_primary_wrong_set_name.yml
380
394
  - spec/support/sdam/rs/non_rs_member.yml
381
395
  - spec/support/sdam/rs/normalize_case.yml
396
+ - spec/support/sdam/rs/null_election_id.yml
382
397
  - spec/support/sdam/rs/primary_becomes_standalone.yml
383
398
  - spec/support/sdam/rs/primary_changes_set_name.yml
384
399
  - spec/support/sdam/rs/primary_disconnect.yml
400
+ - spec/support/sdam/rs/primary_disconnect_electionid.yml
385
401
  - spec/support/sdam/rs/primary_wrong_set_name.yml
386
402
  - spec/support/sdam/rs/response_from_removed.yml
387
403
  - spec/support/sdam/rs/rsother_discovered.yml
@@ -390,6 +406,7 @@ files:
390
406
  - spec/support/sdam/rs/secondary_wrong_set_name_with_primary.yml
391
407
  - spec/support/sdam/rs/unexpected_mongos.yml
392
408
  - spec/support/sdam/rs/wrong_set_name.yml
409
+ - spec/support/sdam/sharded/mongos_disconnect.yml
393
410
  - spec/support/sdam/sharded/multiple_mongoses.yml
394
411
  - spec/support/sdam/sharded/non_mongos_removed.yml
395
412
  - spec/support/sdam/sharded/normalize_uri_case.yml
@@ -457,9 +474,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
457
474
  version: '0'
458
475
  required_rubygems_version: !ruby/object:Gem::Requirement
459
476
  requirements:
460
- - - ">="
477
+ - - ">"
461
478
  - !ruby/object:Gem::Version
462
- version: '0'
479
+ version: 1.3.1
463
480
  requirements: []
464
481
  rubyforge_project: mongo
465
482
  rubygems_version: 2.4.7
@@ -479,7 +496,7 @@ test_files:
479
496
  - spec/mongo/auth/user_spec.rb
480
497
  - spec/mongo/auth/x509_spec.rb
481
498
  - spec/mongo/auth_spec.rb
482
- - spec/mongo/bulk/bulk_write_spec.rb
499
+ - spec/mongo/bulk_write_spec.rb
483
500
  - spec/mongo/client_spec.rb
484
501
  - spec/mongo/cluster/topology/replica_set_spec.rb
485
502
  - spec/mongo/cluster/topology/sharded_spec.rb
@@ -497,6 +514,7 @@ test_files:
497
514
  - spec/mongo/crud_spec.rb
498
515
  - spec/mongo/cursor_spec.rb
499
516
  - spec/mongo/database_spec.rb
517
+ - spec/mongo/dbref_spec.rb
500
518
  - spec/mongo/error/parser_spec.rb
501
519
  - spec/mongo/event/publisher_spec.rb
502
520
  - spec/mongo/event/subscriber_spec.rb
@@ -507,6 +525,7 @@ test_files:
507
525
  - spec/mongo/index/view_spec.rb
508
526
  - spec/mongo/loggable_spec.rb
509
527
  - spec/mongo/logger_spec.rb
528
+ - spec/mongo/monitoring_spec.rb
510
529
  - spec/mongo/operation/aggregate/result_spec.rb
511
530
  - spec/mongo/operation/aggregate_spec.rb
512
531
  - spec/mongo/operation/command_spec.rb
@@ -596,17 +615,21 @@ test_files:
596
615
  - spec/support/sdam/rs/discover_primary.yml
597
616
  - spec/support/sdam/rs/discover_secondary.yml
598
617
  - spec/support/sdam/rs/discovery.yml
618
+ - spec/support/sdam/rs/equal_electionids.yml
599
619
  - spec/support/sdam/rs/ghost_discovered.yml
600
620
  - spec/support/sdam/rs/hosts_differ_from_seeds.yml
601
621
  - spec/support/sdam/rs/member_reconfig.yml
602
622
  - spec/support/sdam/rs/member_standalone.yml
603
623
  - spec/support/sdam/rs/new_primary.yml
624
+ - spec/support/sdam/rs/new_primary_new_electionid.yml
604
625
  - spec/support/sdam/rs/new_primary_wrong_set_name.yml
605
626
  - spec/support/sdam/rs/non_rs_member.yml
606
627
  - spec/support/sdam/rs/normalize_case.yml
628
+ - spec/support/sdam/rs/null_election_id.yml
607
629
  - spec/support/sdam/rs/primary_becomes_standalone.yml
608
630
  - spec/support/sdam/rs/primary_changes_set_name.yml
609
631
  - spec/support/sdam/rs/primary_disconnect.yml
632
+ - spec/support/sdam/rs/primary_disconnect_electionid.yml
610
633
  - spec/support/sdam/rs/primary_wrong_set_name.yml
611
634
  - spec/support/sdam/rs/response_from_removed.yml
612
635
  - spec/support/sdam/rs/rsother_discovered.yml
@@ -615,6 +638,7 @@ test_files:
615
638
  - spec/support/sdam/rs/secondary_wrong_set_name_with_primary.yml
616
639
  - spec/support/sdam/rs/unexpected_mongos.yml
617
640
  - spec/support/sdam/rs/wrong_set_name.yml
641
+ - spec/support/sdam/sharded/mongos_disconnect.yml
618
642
  - spec/support/sdam/sharded/multiple_mongoses.yml
619
643
  - spec/support/sdam/sharded/non_mongos_removed.yml
620
644
  - spec/support/sdam/sharded/normalize_uri_case.yml
metadata.gz.sig CHANGED
Binary file
@@ -1,38 +0,0 @@
1
- # Copyright (C) 2014-2015 MongoDB, 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
-
15
- module Mongo
16
- class Error
17
-
18
- # Raised if the URI is in the correct format but an option is provided that
19
- # is not recognized.
20
- #
21
- # @since 2.0.0
22
- class InvalidURIOption < Error
23
-
24
- # Create the error.
25
- #
26
- # @example Create the error with the invalid option name.
27
- # InvalidURIOption.new('nothing')
28
- #
29
- # @param [ String ] name The invalid option name.
30
- #
31
- # @since 2.0.0
32
- def initialize(name)
33
- super("Invalid option in URI: '#{name}'.\n" +
34
- "Please see the following URL for more information: #{Mongo::URI::HELP}\n")
35
- end
36
- end
37
- end
38
- end