mongo 2.0.6 → 2.1.0.beta

Sign up to get free protection for your applications and to get access to all the features.
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