mongo 2.22.0 → 2.24.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.
Files changed (467) hide show
  1. checksums.yaml +4 -4
  2. data/bin/mongo_console +0 -1
  3. data/lib/mongo/active_support.rb +1 -2
  4. data/lib/mongo/address/ipv4.rb +3 -6
  5. data/lib/mongo/address/ipv6.rb +6 -10
  6. data/lib/mongo/address/unix.rb +1 -4
  7. data/lib/mongo/address/validator.rb +16 -28
  8. data/lib/mongo/address.rb +30 -40
  9. data/lib/mongo/auth/aws/conversation.rb +6 -10
  10. data/lib/mongo/auth/aws/credentials.rb +0 -1
  11. data/lib/mongo/auth/aws/credentials_cache.rb +0 -1
  12. data/lib/mongo/auth/aws/credentials_retriever.rb +45 -59
  13. data/lib/mongo/auth/aws/request.rb +20 -35
  14. data/lib/mongo/auth/aws.rb +1 -2
  15. data/lib/mongo/auth/base.rb +20 -29
  16. data/lib/mongo/auth/conversation_base.rb +14 -18
  17. data/lib/mongo/auth/cr/conversation.rb +0 -3
  18. data/lib/mongo/auth/cr.rb +1 -4
  19. data/lib/mongo/auth/credential_cache.rb +0 -2
  20. data/lib/mongo/auth/gssapi/conversation.rb +3 -8
  21. data/lib/mongo/auth/gssapi.rb +1 -4
  22. data/lib/mongo/auth/ldap/conversation.rb +0 -3
  23. data/lib/mongo/auth/ldap.rb +1 -4
  24. data/lib/mongo/auth/roles.rb +16 -19
  25. data/lib/mongo/auth/sasl_conversation_base.rb +7 -11
  26. data/lib/mongo/auth/scram/conversation.rb +2 -5
  27. data/lib/mongo/auth/scram.rb +5 -10
  28. data/lib/mongo/auth/scram256/conversation.rb +2 -5
  29. data/lib/mongo/auth/scram256.rb +1 -3
  30. data/lib/mongo/auth/scram_conversation_base.rb +18 -24
  31. data/lib/mongo/auth/stringprep/profiles/sasl.rb +17 -18
  32. data/lib/mongo/auth/stringprep/tables.rb +2209 -2210
  33. data/lib/mongo/auth/stringprep/unicode_normalize/normalize.rb +36 -38
  34. data/lib/mongo/auth/stringprep/unicode_normalize/tables.rb +1142 -1150
  35. data/lib/mongo/auth/stringprep.rb +9 -12
  36. data/lib/mongo/auth/user/view.rb +3 -5
  37. data/lib/mongo/auth/user.rb +14 -24
  38. data/lib/mongo/auth/x509/conversation.rb +0 -3
  39. data/lib/mongo/auth/x509.rb +7 -9
  40. data/lib/mongo/auth.rb +18 -30
  41. data/lib/mongo/background_thread.rb +9 -17
  42. data/lib/mongo/bson.rb +0 -2
  43. data/lib/mongo/bulk_write/combineable.rb +0 -3
  44. data/lib/mongo/bulk_write/ordered_combiner.rb +1 -3
  45. data/lib/mongo/bulk_write/result.rb +11 -16
  46. data/lib/mongo/bulk_write/result_combiner.rb +9 -12
  47. data/lib/mongo/bulk_write/transformable.rb +16 -19
  48. data/lib/mongo/bulk_write/unordered_combiner.rb +1 -3
  49. data/lib/mongo/bulk_write/validatable.rb +11 -18
  50. data/lib/mongo/bulk_write.rb +76 -91
  51. data/lib/mongo/caching_cursor.rb +2 -7
  52. data/lib/mongo/client.rb +267 -276
  53. data/lib/mongo/client_encryption.rb +4 -5
  54. data/lib/mongo/cluster/periodic_executor.rb +2 -5
  55. data/lib/mongo/cluster/reapers/cursor_reaper.rb +21 -29
  56. data/lib/mongo/cluster/reapers/socket_reaper.rb +1 -6
  57. data/lib/mongo/cluster/sdam_flow.rb +136 -159
  58. data/lib/mongo/cluster/topology/base.rb +15 -18
  59. data/lib/mongo/cluster/topology/load_balanced.rb +24 -14
  60. data/lib/mongo/cluster/topology/no_replica_set_options.rb +3 -6
  61. data/lib/mongo/cluster/topology/replica_set_no_primary.rb +20 -23
  62. data/lib/mongo/cluster/topology/replica_set_with_primary.rb +0 -2
  63. data/lib/mongo/cluster/topology/sharded.rb +19 -9
  64. data/lib/mongo/cluster/topology/single.rb +24 -14
  65. data/lib/mongo/cluster/topology/unknown.rb +20 -10
  66. data/lib/mongo/cluster/topology.rb +29 -25
  67. data/lib/mongo/cluster.rb +152 -184
  68. data/lib/mongo/cluster_time.rb +14 -31
  69. data/lib/mongo/collection/helpers.rb +5 -8
  70. data/lib/mongo/collection/view/aggregation/behavior.rb +1 -1
  71. data/lib/mongo/collection/view/aggregation.rb +10 -12
  72. data/lib/mongo/collection/view/builder/aggregation.rb +6 -9
  73. data/lib/mongo/collection/view/builder/map_reduce.rb +18 -17
  74. data/lib/mongo/collection/view/builder.rb +0 -1
  75. data/lib/mongo/collection/view/change_stream/retryable.rb +3 -8
  76. data/lib/mongo/collection/view/change_stream.rb +59 -58
  77. data/lib/mongo/collection/view/explainable.rb +11 -20
  78. data/lib/mongo/collection/view/immutable.rb +1 -3
  79. data/lib/mongo/collection/view/iterable.rb +44 -35
  80. data/lib/mongo/collection/view/map_reduce.rb +20 -25
  81. data/lib/mongo/collection/view/readable.rb +96 -94
  82. data/lib/mongo/collection/view/writable.rb +104 -114
  83. data/lib/mongo/collection/view.rb +11 -8
  84. data/lib/mongo/collection.rb +103 -106
  85. data/lib/mongo/condition_variable.rb +4 -4
  86. data/lib/mongo/config/options.rb +0 -3
  87. data/lib/mongo/config/validators/option.rb +3 -5
  88. data/lib/mongo/config.rb +6 -4
  89. data/lib/mongo/crypt/auto_decryption_context.rb +9 -3
  90. data/lib/mongo/crypt/auto_encrypter.rb +34 -43
  91. data/lib/mongo/crypt/auto_encryption_context.rb +0 -3
  92. data/lib/mongo/crypt/binary.rb +5 -9
  93. data/lib/mongo/crypt/binding.rb +150 -156
  94. data/lib/mongo/crypt/context.rb +20 -17
  95. data/lib/mongo/crypt/data_key_context.rb +2 -7
  96. data/lib/mongo/crypt/encryption_io.rb +29 -39
  97. data/lib/mongo/crypt/explicit_decryption_context.rb +9 -3
  98. data/lib/mongo/crypt/explicit_encrypter.rb +1 -1
  99. data/lib/mongo/crypt/explicit_encryption_context.rb +19 -30
  100. data/lib/mongo/crypt/explicit_encryption_expression_context.rb +0 -2
  101. data/lib/mongo/crypt/handle.rb +42 -48
  102. data/lib/mongo/crypt/hooks.rb +12 -15
  103. data/lib/mongo/crypt/kms/aws/credentials.rb +12 -16
  104. data/lib/mongo/crypt/kms/aws/master_document.rb +6 -9
  105. data/lib/mongo/crypt/kms/aws.rb +0 -2
  106. data/lib/mongo/crypt/kms/azure/credentials_retriever.rb +2 -7
  107. data/lib/mongo/crypt/kms/azure/master_document.rb +15 -19
  108. data/lib/mongo/crypt/kms/azure.rb +0 -1
  109. data/lib/mongo/crypt/kms/credentials.rb +13 -27
  110. data/lib/mongo/crypt/kms/gcp/credentials.rb +12 -14
  111. data/lib/mongo/crypt/kms/gcp/credentials_retriever.rb +7 -9
  112. data/lib/mongo/crypt/kms/gcp/master_document.rb +12 -16
  113. data/lib/mongo/crypt/kms/gcp.rb +0 -2
  114. data/lib/mongo/crypt/kms/kmip/credentials.rb +7 -8
  115. data/lib/mongo/crypt/kms/kmip/master_document.rb +3 -5
  116. data/lib/mongo/crypt/kms/kmip.rb +0 -1
  117. data/lib/mongo/crypt/kms/local/credentials.rb +7 -8
  118. data/lib/mongo/crypt/kms/local/master_document.rb +2 -6
  119. data/lib/mongo/crypt/kms/local.rb +0 -1
  120. data/lib/mongo/crypt/kms/master_key_document.rb +11 -15
  121. data/lib/mongo/crypt/kms.rb +14 -16
  122. data/lib/mongo/crypt/kms_context.rb +0 -2
  123. data/lib/mongo/crypt/rewrap_many_data_key_context.rb +2 -7
  124. data/lib/mongo/crypt/rewrap_many_data_key_result.rb +2 -4
  125. data/lib/mongo/crypt/status.rb +12 -14
  126. data/lib/mongo/crypt.rb +0 -1
  127. data/lib/mongo/csot_timeout_holder.rb +3 -2
  128. data/lib/mongo/cursor/kill_spec.rb +7 -10
  129. data/lib/mongo/cursor.rb +74 -64
  130. data/lib/mongo/cursor_host.rb +8 -10
  131. data/lib/mongo/database/view.rb +23 -39
  132. data/lib/mongo/database.rb +68 -65
  133. data/lib/mongo/dbref.rb +0 -1
  134. data/lib/mongo/deprecations.rb +98 -0
  135. data/lib/mongo/distinguishing_semaphore.rb +0 -1
  136. data/lib/mongo/error/auth_error.rb +0 -2
  137. data/lib/mongo/error/bad_load_balancer_target.rb +0 -2
  138. data/lib/mongo/error/bulk_write_error.rb +7 -10
  139. data/lib/mongo/error/change_stream_resumable.rb +0 -2
  140. data/lib/mongo/error/client_closed.rb +0 -2
  141. data/lib/mongo/error/closed_stream.rb +1 -4
  142. data/lib/mongo/error/connection_check_out_timeout.rb +3 -6
  143. data/lib/mongo/error/connection_perished.rb +0 -2
  144. data/lib/mongo/error/connection_unavailable.rb +0 -2
  145. data/lib/mongo/error/credential_check_error.rb +0 -2
  146. data/lib/mongo/error/crypt_error.rb +0 -2
  147. data/lib/mongo/error/extra_file_chunk.rb +1 -4
  148. data/lib/mongo/error/failed_string_prep_validation.rb +5 -6
  149. data/lib/mongo/error/file_not_found.rb +0 -3
  150. data/lib/mongo/error/handshake_error.rb +0 -2
  151. data/lib/mongo/error/insufficient_iteration_count.rb +1 -4
  152. data/lib/mongo/error/internal_driver_error.rb +0 -2
  153. data/lib/mongo/error/invalid_address.rb +0 -2
  154. data/lib/mongo/error/invalid_application_name.rb +0 -3
  155. data/lib/mongo/error/invalid_bulk_operation.rb +1 -4
  156. data/lib/mongo/error/invalid_bulk_operation_type.rb +1 -4
  157. data/lib/mongo/error/invalid_collection_name.rb +1 -4
  158. data/lib/mongo/error/invalid_config_option.rb +0 -3
  159. data/lib/mongo/error/invalid_cursor_operation.rb +0 -2
  160. data/lib/mongo/error/invalid_database_name.rb +1 -4
  161. data/lib/mongo/error/invalid_document.rb +1 -4
  162. data/lib/mongo/error/invalid_file.rb +0 -3
  163. data/lib/mongo/error/invalid_file_revision.rb +0 -3
  164. data/lib/mongo/error/invalid_min_pool_size.rb +0 -3
  165. data/lib/mongo/error/invalid_nonce.rb +0 -3
  166. data/lib/mongo/error/invalid_read_concern.rb +2 -4
  167. data/lib/mongo/error/invalid_read_option.rb +0 -3
  168. data/lib/mongo/error/invalid_replacement_document.rb +2 -5
  169. data/lib/mongo/error/invalid_server_auth_host.rb +0 -2
  170. data/lib/mongo/error/invalid_server_auth_response.rb +0 -2
  171. data/lib/mongo/error/invalid_server_preference.rb +7 -16
  172. data/lib/mongo/error/invalid_session.rb +1 -4
  173. data/lib/mongo/error/invalid_signature.rb +0 -3
  174. data/lib/mongo/error/invalid_transaction_operation.rb +5 -8
  175. data/lib/mongo/error/invalid_txt_record.rb +0 -2
  176. data/lib/mongo/error/invalid_update_document.rb +2 -5
  177. data/lib/mongo/error/invalid_uri.rb +1 -4
  178. data/lib/mongo/error/invalid_write_concern.rb +2 -5
  179. data/lib/mongo/error/kms_error.rb +0 -2
  180. data/lib/mongo/error/labelable.rb +0 -3
  181. data/lib/mongo/error/lint_error.rb +0 -2
  182. data/lib/mongo/error/max_bson_size.rb +8 -11
  183. data/lib/mongo/error/max_message_size.rb +2 -5
  184. data/lib/mongo/error/mismatched_domain.rb +0 -2
  185. data/lib/mongo/error/missing_connection.rb +0 -2
  186. data/lib/mongo/error/missing_file_chunk.rb +0 -3
  187. data/lib/mongo/error/missing_password.rb +0 -2
  188. data/lib/mongo/error/missing_resume_token.rb +1 -4
  189. data/lib/mongo/error/missing_scram_server_signature.rb +2 -4
  190. data/lib/mongo/error/missing_service_id.rb +0 -2
  191. data/lib/mongo/error/mongocryptd_spawn_error.rb +0 -2
  192. data/lib/mongo/error/multi_index_drop.rb +0 -3
  193. data/lib/mongo/error/need_primary_server.rb +0 -2
  194. data/lib/mongo/error/no_server_available.rb +3 -8
  195. data/lib/mongo/error/no_service_connection_available.rb +1 -3
  196. data/lib/mongo/error/no_srv_records.rb +0 -2
  197. data/lib/mongo/error/notable.rb +8 -16
  198. data/lib/mongo/error/operation_failure.rb +22 -35
  199. data/lib/mongo/error/parser.rb +33 -75
  200. data/lib/mongo/error/pool_cleared_error.rb +1 -3
  201. data/lib/mongo/error/pool_closed_error.rb +0 -3
  202. data/lib/mongo/error/pool_error.rb +0 -3
  203. data/lib/mongo/error/pool_paused_error.rb +0 -2
  204. data/lib/mongo/error/raise_original_error.rb +1 -3
  205. data/lib/mongo/error/read_write_retryable.rb +14 -17
  206. data/lib/mongo/error/sdam_error_detection.rb +3 -5
  207. data/lib/mongo/error/server_api_conflict.rb +0 -2
  208. data/lib/mongo/error/server_certificate_revoked.rb +0 -2
  209. data/lib/mongo/error/server_not_usable.rb +0 -2
  210. data/lib/mongo/error/session_ended.rb +1 -3
  211. data/lib/mongo/error/session_not_materialized.rb +1 -3
  212. data/lib/mongo/error/sessions_not_supported.rb +1 -4
  213. data/lib/mongo/error/snapshot_session_invalid_server_version.rb +1 -4
  214. data/lib/mongo/error/snapshot_session_transaction_prohibited.rb +1 -4
  215. data/lib/mongo/error/socket_error.rb +0 -2
  216. data/lib/mongo/error/socket_timeout_error.rb +0 -2
  217. data/lib/mongo/error/transactions_not_supported.rb +3 -6
  218. data/lib/mongo/error/unchangeable_collection_option.rb +1 -4
  219. data/lib/mongo/error/unexpected_chunk_length.rb +0 -3
  220. data/lib/mongo/error/unexpected_response.rb +1 -4
  221. data/lib/mongo/error/unknown_payload_type.rb +0 -3
  222. data/lib/mongo/error/unmet_dependency.rb +0 -2
  223. data/lib/mongo/error/unsupported_array_filters.rb +3 -24
  224. data/lib/mongo/error/unsupported_collation.rb +3 -24
  225. data/lib/mongo/error/unsupported_features.rb +0 -2
  226. data/lib/mongo/error/unsupported_message_type.rb +0 -2
  227. data/lib/mongo/error/unsupported_option.rb +19 -21
  228. data/lib/mongo/error/write_retryable.rb +0 -2
  229. data/lib/mongo/error.rb +10 -24
  230. data/lib/mongo/event/base.rb +0 -2
  231. data/lib/mongo/event/listeners.rb +0 -3
  232. data/lib/mongo/event/publisher.rb +0 -3
  233. data/lib/mongo/event/subscriber.rb +0 -4
  234. data/lib/mongo/event.rb +4 -6
  235. data/lib/mongo/grid/file/chunk.rb +7 -10
  236. data/lib/mongo/grid/file/info.rb +20 -24
  237. data/lib/mongo/grid/file.rb +7 -8
  238. data/lib/mongo/grid/fs_bucket.rb +40 -48
  239. data/lib/mongo/grid/stream/read.rb +25 -35
  240. data/lib/mongo/grid/stream/write.rb +17 -22
  241. data/lib/mongo/grid/stream.rb +2 -4
  242. data/lib/mongo/grid.rb +0 -1
  243. data/lib/mongo/id.rb +0 -1
  244. data/lib/mongo/index/view.rb +68 -58
  245. data/lib/mongo/index.rb +7 -10
  246. data/lib/mongo/lint.rb +31 -37
  247. data/lib/mongo/loggable.rb +5 -8
  248. data/lib/mongo/logger.rb +1 -7
  249. data/lib/mongo/monitoring/cmap_log_subscriber.rb +0 -2
  250. data/lib/mongo/monitoring/command_log_subscriber.rb +25 -33
  251. data/lib/mongo/monitoring/event/cmap/base.rb +0 -2
  252. data/lib/mongo/monitoring/event/cmap/connection_check_out_failed.rb +1 -4
  253. data/lib/mongo/monitoring/event/cmap/connection_check_out_started.rb +0 -3
  254. data/lib/mongo/monitoring/event/cmap/connection_checked_in.rb +1 -4
  255. data/lib/mongo/monitoring/event/cmap/connection_checked_out.rb +2 -5
  256. data/lib/mongo/monitoring/event/cmap/connection_closed.rb +1 -4
  257. data/lib/mongo/monitoring/event/cmap/connection_created.rb +1 -4
  258. data/lib/mongo/monitoring/event/cmap/connection_ready.rb +1 -4
  259. data/lib/mongo/monitoring/event/cmap/pool_cleared.rb +0 -3
  260. data/lib/mongo/monitoring/event/cmap/pool_closed.rb +1 -4
  261. data/lib/mongo/monitoring/event/cmap/pool_created.rb +1 -4
  262. data/lib/mongo/monitoring/event/cmap/pool_ready.rb +1 -4
  263. data/lib/mongo/monitoring/event/cmap.rb +0 -1
  264. data/lib/mongo/monitoring/event/command_failed.rb +5 -9
  265. data/lib/mongo/monitoring/event/command_started.rb +8 -12
  266. data/lib/mongo/monitoring/event/command_succeeded.rb +7 -15
  267. data/lib/mongo/monitoring/event/secure.rb +15 -20
  268. data/lib/mongo/monitoring/event/server_closed.rb +1 -4
  269. data/lib/mongo/monitoring/event/server_description_changed.rb +4 -8
  270. data/lib/mongo/monitoring/event/server_heartbeat_failed.rb +5 -10
  271. data/lib/mongo/monitoring/event/server_heartbeat_started.rb +1 -4
  272. data/lib/mongo/monitoring/event/server_heartbeat_succeeded.rb +3 -8
  273. data/lib/mongo/monitoring/event/server_opening.rb +1 -4
  274. data/lib/mongo/monitoring/event/topology_changed.rb +2 -5
  275. data/lib/mongo/monitoring/event/topology_closed.rb +1 -4
  276. data/lib/mongo/monitoring/event/topology_opening.rb +1 -4
  277. data/lib/mongo/monitoring/event.rb +0 -1
  278. data/lib/mongo/monitoring/publishable.rb +20 -30
  279. data/lib/mongo/monitoring/sdam_log_subscriber.rb +0 -2
  280. data/lib/mongo/monitoring/server_closed_log_subscriber.rb +0 -3
  281. data/lib/mongo/monitoring/server_description_changed_log_subscriber.rb +0 -3
  282. data/lib/mongo/monitoring/server_opening_log_subscriber.rb +0 -3
  283. data/lib/mongo/monitoring/topology_changed_log_subscriber.rb +5 -8
  284. data/lib/mongo/monitoring/topology_closed_log_subscriber.rb +0 -3
  285. data/lib/mongo/monitoring/topology_opening_log_subscriber.rb +0 -3
  286. data/lib/mongo/monitoring/unified_sdam_log_subscriber.rb +1 -3
  287. data/lib/mongo/monitoring.rb +38 -39
  288. data/lib/mongo/operation/aggregate/op_msg.rb +0 -2
  289. data/lib/mongo/operation/aggregate/result.rb +3 -6
  290. data/lib/mongo/operation/aggregate.rb +0 -2
  291. data/lib/mongo/operation/collections_info/result.rb +0 -3
  292. data/lib/mongo/operation/collections_info.rb +0 -2
  293. data/lib/mongo/operation/command/op_msg.rb +1 -4
  294. data/lib/mongo/operation/command.rb +0 -2
  295. data/lib/mongo/operation/context.rb +13 -16
  296. data/lib/mongo/operation/count/op_msg.rb +2 -4
  297. data/lib/mongo/operation/count.rb +0 -2
  298. data/lib/mongo/operation/create/op_msg.rb +2 -5
  299. data/lib/mongo/operation/create.rb +4 -2
  300. data/lib/mongo/operation/create_index/op_msg.rb +3 -7
  301. data/lib/mongo/operation/create_index.rb +0 -2
  302. data/lib/mongo/operation/create_user/op_msg.rb +2 -4
  303. data/lib/mongo/operation/create_user.rb +0 -2
  304. data/lib/mongo/operation/delete/bulk_result.rb +2 -3
  305. data/lib/mongo/operation/delete/op_msg.rb +3 -10
  306. data/lib/mongo/operation/delete/result.rb +0 -3
  307. data/lib/mongo/operation/delete.rb +1 -5
  308. data/lib/mongo/operation/distinct/op_msg.rb +2 -5
  309. data/lib/mongo/operation/distinct.rb +0 -2
  310. data/lib/mongo/operation/drop/op_msg.rb +0 -2
  311. data/lib/mongo/operation/drop.rb +0 -2
  312. data/lib/mongo/operation/drop_database/op_msg.rb +0 -2
  313. data/lib/mongo/operation/drop_database.rb +0 -2
  314. data/lib/mongo/operation/drop_index/op_msg.rb +4 -6
  315. data/lib/mongo/operation/drop_index.rb +0 -2
  316. data/lib/mongo/operation/explain/op_msg.rb +0 -2
  317. data/lib/mongo/operation/explain/result.rb +0 -3
  318. data/lib/mongo/operation/explain.rb +0 -2
  319. data/lib/mongo/operation/find/builder/command.rb +4 -12
  320. data/lib/mongo/operation/find/builder/flags.rb +9 -15
  321. data/lib/mongo/operation/find/builder/modifiers.rb +1 -4
  322. data/lib/mongo/operation/find/builder.rb +0 -1
  323. data/lib/mongo/operation/find/op_msg.rb +4 -12
  324. data/lib/mongo/operation/find/result.rb +0 -3
  325. data/lib/mongo/operation/find.rb +0 -2
  326. data/lib/mongo/operation/get_more/command_builder.rb +1 -6
  327. data/lib/mongo/operation/get_more/op_msg.rb +10 -4
  328. data/lib/mongo/operation/get_more/result.rb +0 -3
  329. data/lib/mongo/operation/get_more.rb +0 -2
  330. data/lib/mongo/operation/indexes/op_msg.rb +0 -2
  331. data/lib/mongo/operation/indexes/result.rb +1 -5
  332. data/lib/mongo/operation/indexes.rb +0 -2
  333. data/lib/mongo/operation/insert/bulk_result.rb +2 -6
  334. data/lib/mongo/operation/insert/op_msg.rb +7 -6
  335. data/lib/mongo/operation/insert/result.rb +0 -3
  336. data/lib/mongo/operation/insert.rb +2 -5
  337. data/lib/mongo/operation/kill_cursors/command_builder.rb +0 -3
  338. data/lib/mongo/operation/kill_cursors/op_msg.rb +1 -3
  339. data/lib/mongo/operation/kill_cursors.rb +0 -2
  340. data/lib/mongo/operation/list_collections/op_msg.rb +4 -6
  341. data/lib/mongo/operation/list_collections/result.rb +1 -4
  342. data/lib/mongo/operation/list_collections.rb +0 -2
  343. data/lib/mongo/operation/map_reduce/op_msg.rb +0 -2
  344. data/lib/mongo/operation/map_reduce/result.rb +3 -6
  345. data/lib/mongo/operation/map_reduce.rb +0 -2
  346. data/lib/mongo/operation/op_msg_base.rb +0 -1
  347. data/lib/mongo/operation/parallel_scan/op_msg.rb +4 -5
  348. data/lib/mongo/operation/parallel_scan/result.rb +2 -5
  349. data/lib/mongo/operation/parallel_scan.rb +0 -2
  350. data/lib/mongo/operation/remove_user/op_msg.rb +2 -4
  351. data/lib/mongo/operation/remove_user.rb +0 -2
  352. data/lib/mongo/operation/result.rb +38 -48
  353. data/lib/mongo/operation/shared/bypass_document_validation.rb +3 -7
  354. data/lib/mongo/operation/shared/causal_consistency_supported.rb +0 -3
  355. data/lib/mongo/operation/shared/executable.rb +29 -31
  356. data/lib/mongo/operation/shared/executable_no_validate.rb +0 -3
  357. data/lib/mongo/operation/shared/executable_transaction_label.rb +0 -2
  358. data/lib/mongo/operation/shared/idable.rb +3 -6
  359. data/lib/mongo/operation/shared/limited.rb +0 -3
  360. data/lib/mongo/operation/shared/object_id_generator.rb +0 -3
  361. data/lib/mongo/operation/shared/op_msg_executable.rb +0 -2
  362. data/lib/mongo/operation/shared/polymorphic_lookup.rb +0 -2
  363. data/lib/mongo/operation/shared/polymorphic_result.rb +2 -4
  364. data/lib/mongo/operation/shared/read_preference_supported.rb +10 -15
  365. data/lib/mongo/operation/shared/response_handling.rb +13 -26
  366. data/lib/mongo/operation/shared/result/aggregatable.rb +12 -13
  367. data/lib/mongo/operation/shared/sessions_supported.rb +87 -99
  368. data/lib/mongo/operation/shared/specifiable.rb +37 -59
  369. data/lib/mongo/operation/shared/write.rb +12 -17
  370. data/lib/mongo/operation/shared/write_concern_supported.rb +4 -7
  371. data/lib/mongo/operation/update/bulk_result.rb +13 -17
  372. data/lib/mongo/operation/update/op_msg.rb +2 -5
  373. data/lib/mongo/operation/update/result.rb +5 -5
  374. data/lib/mongo/operation/update.rb +1 -5
  375. data/lib/mongo/operation/update_user/op_msg.rb +2 -4
  376. data/lib/mongo/operation/update_user.rb +0 -2
  377. data/lib/mongo/operation/users_info/op_msg.rb +2 -4
  378. data/lib/mongo/operation/users_info/result.rb +1 -4
  379. data/lib/mongo/operation/users_info.rb +0 -2
  380. data/lib/mongo/operation/write_command/op_msg.rb +2 -10
  381. data/lib/mongo/operation/write_command.rb +0 -2
  382. data/lib/mongo/operation.rb +9 -14
  383. data/lib/mongo/options/mapper.rb +8 -15
  384. data/lib/mongo/options/redacted.rb +7 -9
  385. data/lib/mongo/options.rb +0 -1
  386. data/lib/mongo/protocol/bit_vector.rb +3 -5
  387. data/lib/mongo/protocol/caching_hash.rb +2 -7
  388. data/lib/mongo/protocol/compressed.rb +5 -10
  389. data/lib/mongo/protocol/get_more.rb +2 -8
  390. data/lib/mongo/protocol/kill_cursors.rb +2 -8
  391. data/lib/mongo/protocol/message.rb +103 -105
  392. data/lib/mongo/protocol/msg.rb +48 -63
  393. data/lib/mongo/protocol/query.rb +32 -41
  394. data/lib/mongo/protocol/registry.rb +2 -5
  395. data/lib/mongo/protocol/reply.rb +10 -16
  396. data/lib/mongo/protocol/serializers.rb +41 -59
  397. data/lib/mongo/protocol.rb +0 -1
  398. data/lib/mongo/query_cache.rb +7 -15
  399. data/lib/mongo/retryable/backpressure.rb +31 -0
  400. data/lib/mongo/retryable/base_worker.rb +39 -13
  401. data/lib/mongo/retryable/read_worker.rb +77 -21
  402. data/lib/mongo/retryable/retry_policy.rb +59 -0
  403. data/lib/mongo/retryable/write_worker.rb +155 -56
  404. data/lib/mongo/retryable.rb +70 -9
  405. data/lib/mongo/search_index/view.rb +30 -10
  406. data/lib/mongo/semaphore.rb +0 -1
  407. data/lib/mongo/server/app_metadata/environment.rb +3 -3
  408. data/lib/mongo/server/app_metadata/platform.rb +17 -4
  409. data/lib/mongo/server/app_metadata.rb +4 -5
  410. data/lib/mongo/server/connection.rb +79 -61
  411. data/lib/mongo/server/connection_base.rb +43 -53
  412. data/lib/mongo/server/connection_common.rb +41 -64
  413. data/lib/mongo/server/connection_pool/generation_manager.rb +6 -11
  414. data/lib/mongo/server/connection_pool/populator.rb +1 -4
  415. data/lib/mongo/server/connection_pool.rb +195 -167
  416. data/lib/mongo/server/description/features.rb +51 -59
  417. data/lib/mongo/server/description/load_balancer.rb +0 -2
  418. data/lib/mongo/server/description.rb +117 -138
  419. data/lib/mongo/server/monitor/app_metadata.rb +3 -4
  420. data/lib/mongo/server/monitor/connection.rb +28 -35
  421. data/lib/mongo/server/monitor.rb +65 -60
  422. data/lib/mongo/server/pending_connection.rb +70 -71
  423. data/lib/mongo/server/push_monitor/connection.rb +0 -3
  424. data/lib/mongo/server/push_monitor.rb +21 -29
  425. data/lib/mongo/server/round_trip_time_calculator.rb +11 -17
  426. data/lib/mongo/server.rb +62 -94
  427. data/lib/mongo/server_selector/base.rb +133 -157
  428. data/lib/mongo/server_selector/nearest.rb +2 -5
  429. data/lib/mongo/server_selector/primary.rb +1 -5
  430. data/lib/mongo/server_selector/primary_preferred.rb +2 -6
  431. data/lib/mongo/server_selector/secondary.rb +2 -6
  432. data/lib/mongo/server_selector/secondary_preferred.rb +1 -5
  433. data/lib/mongo/server_selector.rb +3 -4
  434. data/lib/mongo/session/server_session.rb +6 -7
  435. data/lib/mongo/session/session_pool.rb +20 -34
  436. data/lib/mongo/session.rb +334 -199
  437. data/lib/mongo/socket/ocsp_cache.rb +8 -13
  438. data/lib/mongo/socket/ocsp_verifier.rb +69 -70
  439. data/lib/mongo/socket/ssl.rb +44 -43
  440. data/lib/mongo/socket/tcp.rb +5 -8
  441. data/lib/mongo/socket/unix.rb +0 -4
  442. data/lib/mongo/socket.rb +80 -102
  443. data/lib/mongo/srv/monitor.rb +10 -11
  444. data/lib/mongo/srv/resolver.rb +15 -24
  445. data/lib/mongo/srv/result.rb +25 -21
  446. data/lib/mongo/srv.rb +0 -1
  447. data/lib/mongo/timeout.rb +4 -11
  448. data/lib/mongo/topology_version.rb +8 -13
  449. data/lib/mongo/tracing/open_telemetry/command_tracer.rb +320 -0
  450. data/lib/mongo/tracing/open_telemetry/operation_tracer.rb +227 -0
  451. data/lib/mongo/tracing/open_telemetry/tracer.rb +236 -0
  452. data/lib/mongo/{error/server_api_not_supported.rb → tracing/open_telemetry.rb} +10 -10
  453. data/lib/mongo/tracing.rb +42 -0
  454. data/lib/mongo/uri/options_mapper.rb +135 -126
  455. data/lib/mongo/uri/srv_protocol.rb +34 -42
  456. data/lib/mongo/uri.rb +95 -139
  457. data/lib/mongo/utils.rb +5 -12
  458. data/lib/mongo/version.rb +1 -1
  459. data/lib/mongo/write_concern/acknowledged.rb +0 -2
  460. data/lib/mongo/write_concern/base.rb +6 -6
  461. data/lib/mongo/write_concern/unacknowledged.rb +0 -2
  462. data/lib/mongo/write_concern.rb +14 -15
  463. data/lib/mongo.rb +4 -3
  464. data/mongo.gemspec +17 -17
  465. metadata +11 -5
  466. data/lib/mongo/operation/shared/result/use_legacy_error_parser.rb +0 -32
  467. data/lib/mongo/operation/shared/validatable.rb +0 -87
@@ -1,5 +1,4 @@
1
1
  # frozen_string_literal: true
2
- # rubocop:todo all
3
2
 
4
3
  # Copyright (C) 2021 MongoDB Inc.
5
4
  #
@@ -18,23 +17,16 @@
18
17
  module Mongo
19
18
  module Operation
20
19
  class WriteCommand
21
-
22
20
  # A MongoDB write command operation sent as an op message.
23
21
  #
24
22
  # @api private
25
23
  class OpMsg < OpMsgBase
26
- include Validatable
27
-
28
24
  private
29
25
 
30
26
  def selector(connection)
31
27
  super.tap do |selector|
32
- if selector.key?(:findAndModify)
33
- validate_find_options(connection, selector)
34
- end
35
- if wc = spec[:write_concern]
36
- selector[:writeConcern] = wc.options
37
- end
28
+ wc = spec[:write_concern]
29
+ selector[:writeConcern] = wc.options if wc
38
30
  end
39
31
  end
40
32
  end
@@ -1,5 +1,4 @@
1
1
  # frozen_string_literal: true
2
- # rubocop:todo all
3
2
 
4
3
  # Copyright (C) 2021 MongoDB Inc.
5
4
  #
@@ -19,7 +18,6 @@ require 'mongo/operation/write_command/op_msg'
19
18
 
20
19
  module Mongo
21
20
  module Operation
22
-
23
21
  # A MongoDB general command operation.
24
22
  #
25
23
  # @api private
@@ -1,5 +1,4 @@
1
1
  # frozen_string_literal: true
2
- # rubocop:todo all
3
2
 
4
3
  require 'mongo/operation/context'
5
4
  require 'mongo/operation/result'
@@ -19,7 +18,6 @@ require 'mongo/operation/shared/causal_consistency_supported'
19
18
  require 'mongo/operation/shared/write'
20
19
  require 'mongo/operation/shared/idable'
21
20
  require 'mongo/operation/shared/specifiable'
22
- require 'mongo/operation/shared/validatable'
23
21
  require 'mongo/operation/shared/object_id_generator'
24
22
  require 'mongo/operation/shared/op_msg_executable'
25
23
  require 'mongo/operation/shared/timed'
@@ -28,7 +26,6 @@ require 'mongo/operation/op_msg_base'
28
26
  require 'mongo/operation/command'
29
27
  require 'mongo/operation/write_command'
30
28
  require 'mongo/operation/aggregate'
31
- require 'mongo/operation/result'
32
29
  require 'mongo/operation/collections_info'
33
30
  require 'mongo/operation/list_collections'
34
31
  require 'mongo/operation/update'
@@ -57,7 +54,6 @@ require 'mongo/operation/drop_search_index'
57
54
  require 'mongo/operation/update_search_index'
58
55
 
59
56
  module Mongo
60
-
61
57
  # This module encapsulates all of the operation classes defined by the driver.
62
58
  #
63
59
  # The operation classes take Ruby options as constructor parameters.
@@ -68,51 +64,50 @@ module Mongo
68
64
  #
69
65
  # @api private
70
66
  module Operation
71
-
72
67
  # The q field constant.
73
68
  #
74
69
  # @since 2.1.0
75
- Q = 'q'.freeze
70
+ Q = 'q'
76
71
 
77
72
  # The u field constant.
78
73
  #
79
74
  # @since 2.1.0
80
- U = 'u'.freeze
75
+ U = 'u'
81
76
 
82
77
  # The limit field constant.
83
78
  #
84
79
  # @since 2.1.0
85
- LIMIT = 'limit'.freeze
80
+ LIMIT = 'limit'
86
81
 
87
82
  # The multi field constant.
88
83
  #
89
84
  # @since 2.1.0
90
- MULTI = 'multi'.freeze
85
+ MULTI = 'multi'
91
86
 
92
87
  # The upsert field constant.
93
88
  #
94
89
  # @since 2.1.0
95
- UPSERT = 'upsert'.freeze
90
+ UPSERT = 'upsert'
96
91
 
97
92
  # The collation field constant.
98
93
  #
99
94
  # @since 2.4.0
100
- COLLATION = 'collation'.freeze
95
+ COLLATION = 'collation'
101
96
 
102
97
  # The array filters field constant.
103
98
  #
104
99
  # @since 2.5.0
105
- ARRAY_FILTERS = 'arrayFilters'.freeze
100
+ ARRAY_FILTERS = 'arrayFilters'
106
101
 
107
102
  # The operation time field constant.
108
103
  #
109
104
  # @since 2.5.0
110
- OPERATION_TIME = 'operationTime'.freeze
105
+ OPERATION_TIME = 'operationTime'
111
106
 
112
107
  # The cluster time field constant.
113
108
  #
114
109
  # @since 2.5.0
115
110
  # @deprecated
116
- CLUSTER_TIME = '$clusterTime'.freeze
111
+ CLUSTER_TIME = '$clusterTime'
117
112
  end
118
113
  end
@@ -1,5 +1,4 @@
1
1
  # frozen_string_literal: true
2
- # rubocop:todo all
3
2
 
4
3
  # Copyright (C) 2015-2020 MongoDB Inc.
5
4
  #
@@ -17,7 +16,6 @@
17
16
 
18
17
  module Mongo
19
18
  module Options
20
-
21
19
  # Utility class for various options mapping behavior.
22
20
  #
23
21
  # @since 2.0.0
@@ -42,13 +40,12 @@ module Mongo
42
40
  def transform(options, mappings)
43
41
  map = transform_keys_to_strings(mappings)
44
42
  opts = transform_keys_to_strings(options)
45
- opts.reduce({}) do |transformed, (key, value)|
43
+ opts.each_with_object({}) do |(key, value), transformed|
46
44
  if map[key]
47
45
  transformed[map[key]] = value
48
46
  else
49
47
  transformed[key] = value
50
48
  end
51
- transformed
52
49
  end
53
50
  end
54
51
 
@@ -67,14 +64,13 @@ module Mongo
67
64
  #
68
65
  # @since 2.0.0
69
66
  def transform_documents(options, mappings, document = BSON::Document.new)
70
- options.reduce(document) do |transformed, (key, value)|
67
+ options.each_with_object(document) do |(key, value), transformed|
71
68
  name = mappings[key]
72
69
  transformed[name] = value if name && !value.nil?
73
- transformed
74
70
  end
75
71
  end
76
72
 
77
- # Coverts all the keys of the options to strings.
73
+ # Converts all the keys of the options to strings.
78
74
  #
79
75
  # @example Convert all option keys to strings.
80
76
  # Mapper.transform({ :name => 1 })
@@ -85,13 +81,12 @@ module Mongo
85
81
  #
86
82
  # @since 2.0.0
87
83
  def transform_keys_to_strings(options)
88
- options.reduce({}) do |transformed, (key, value)|
84
+ options.each_with_object({}) do |(key, value), transformed|
89
85
  transformed[key.to_s] = value
90
- transformed
91
86
  end
92
87
  end
93
88
 
94
- # Coverts all the keys of the options to symbols.
89
+ # Converts all the keys of the options to symbols.
95
90
  #
96
91
  # @example Convert all option keys to symbols.
97
92
  # Mapper.transform({ 'name' => 1 })
@@ -102,13 +97,12 @@ module Mongo
102
97
  #
103
98
  # @since 2.2.2
104
99
  def transform_keys_to_symbols(options)
105
- options.reduce({}) do |transformed, (key, value)|
100
+ options.each_with_object({}) do |(key, value), transformed|
106
101
  transformed[key.to_sym] = value
107
- transformed
108
102
  end
109
103
  end
110
104
 
111
- # Coverts all the symbol values to strings.
105
+ # Converts all the symbol values to strings.
112
106
  #
113
107
  # @example Convert all option symbol values to strings.
114
108
  # Mapper.transform({ :name => 1 })
@@ -119,9 +113,8 @@ module Mongo
119
113
  #
120
114
  # @since 2.0.0
121
115
  def transform_values_to_strings(options)
122
- options.reduce({}) do |transformed, (key, value)|
116
+ options.each_with_object({}) do |(key, value), transformed|
123
117
  transformed[key] = value.is_a?(Symbol) ? value.to_s : value
124
- transformed
125
118
  end
126
119
  end
127
120
  end
@@ -1,5 +1,4 @@
1
1
  # frozen_string_literal: true
2
- # rubocop:todo all
3
2
 
4
3
  # Copyright (C) 2015-2020 MongoDB Inc.
5
4
  #
@@ -17,23 +16,21 @@
17
16
 
18
17
  module Mongo
19
18
  module Options
20
-
21
19
  # Class for wrapping options that could be sensitive.
22
20
  # When printed, the sensitive values will be redacted.
23
21
  #
24
22
  # @since 2.1.0
25
23
  class Redacted < BSON::Document
26
-
27
24
  # The options whose values will be redacted.
28
25
  #
29
26
  # @since 2.1.0
30
- SENSITIVE_OPTIONS = [ :password,
31
- :pwd ].freeze
27
+ SENSITIVE_OPTIONS = %i[password
28
+ pwd].freeze
32
29
 
33
30
  # The replacement string used in place of the value for sensitive keys.
34
31
  #
35
32
  # @since 2.1.0
36
- STRING_REPLACEMENT = '<REDACTED>'.freeze
33
+ STRING_REPLACEMENT = '<REDACTED>'
37
34
 
38
35
  # Get a string representation of the options.
39
36
  #
@@ -66,7 +63,7 @@ module Mongo
66
63
  def has_key?(key)
67
64
  super(convert_key(key))
68
65
  end
69
- alias_method :key?, :has_key?
66
+ alias key? has_key?
70
67
 
71
68
  # Returns a new options object consisting of pairs for which the block returns false.
72
69
  #
@@ -99,7 +96,7 @@ module Mongo
99
96
  keys.each do |key|
100
97
  delete(key) if yield(key, self[key])
101
98
  end
102
- n_keys == keys.size ? nil : self
99
+ (n_keys == keys.size) ? nil : self
103
100
  else
104
101
  to_enum
105
102
  end
@@ -136,7 +133,7 @@ module Mongo
136
133
  keys.each do |key|
137
134
  delete(key) unless yield(key, self[key])
138
135
  end
139
- n_keys == keys.size ? nil : self
136
+ (n_keys == keys.size) ? nil : self
140
137
  else
141
138
  to_enum
142
139
  end
@@ -152,6 +149,7 @@ module Mongo
152
149
 
153
150
  def redact(k, v, method)
154
151
  return STRING_REPLACEMENT if SENSITIVE_OPTIONS.include?(k.to_sym)
152
+
155
153
  v.send(method)
156
154
  end
157
155
  end
data/lib/mongo/options.rb CHANGED
@@ -1,5 +1,4 @@
1
1
  # frozen_string_literal: true
2
- # rubocop:todo all
3
2
 
4
3
  # Copyright (C) 2015-2020 MongoDB Inc.
5
4
  #
@@ -1,5 +1,4 @@
1
1
  # frozen_string_literal: true
2
- # rubocop:todo all
3
2
 
4
3
  # Copyright (C) 2014-2020 MongoDB Inc.
5
4
  #
@@ -24,7 +23,6 @@ module Mongo
24
23
  #
25
24
  # @api private
26
25
  class BitVector
27
-
28
26
  # Initializes a BitVector with a layout
29
27
  #
30
28
  # @param layout [ Array<Symbol> ] the array of fields in the bit vector
@@ -43,9 +41,9 @@ module Mongo
43
41
  # This option is deprecated and will not be used. It will removed in version 3.0.
44
42
  #
45
43
  # @return [ String ] Buffer that received the serialized vector
46
- def serialize(buffer, value, validating_keys = nil)
44
+ def serialize(buffer, value, _validating_keys = nil)
47
45
  bits = 0
48
- value.each { |flag| bits |= (@masks[flag] || 0) }
46
+ value.each { |flag| bits |= @masks[flag] || 0 }
49
47
  buffer.put_int32(bits)
50
48
  end
51
49
 
@@ -55,7 +53,7 @@ module Mongo
55
53
  # @param [ Hash ] options This method does not currently accept any options.
56
54
  #
57
55
  # @return [ Array<Symbol> ] Flags contained in the vector
58
- def deserialize(buffer, options = {})
56
+ def deserialize(buffer, _options = {})
59
57
  vector = buffer.get_int32
60
58
  flags = []
61
59
  @masks.each do |flag, mask|
@@ -1,5 +1,4 @@
1
1
  # frozen_string_literal: true
2
- # rubocop:todo all
3
2
 
4
3
  # Copyright (C) 2014-2022 MongoDB Inc.
5
4
  #
@@ -17,12 +16,10 @@
17
16
 
18
17
  module Mongo
19
18
  module Protocol
20
-
21
19
  # A Hash that caches the results of #to_bson.
22
20
  #
23
21
  # @api private
24
22
  class CachingHash
25
-
26
23
  def initialize(hash)
27
24
  @hash = hash
28
25
  end
@@ -41,10 +38,8 @@ module Mongo
41
38
  # This option is deprecated and will not be used. It will removed in version 3.0.
42
39
  #
43
40
  # @return [ BSON::ByteBuffer ] The buffer with the encoded object.
44
- def to_bson(buffer = BSON::ByteBuffer.new, validating_keys = nil)
45
- if !@bytes
46
- @bytes = @hash.to_bson(BSON::ByteBuffer.new).to_s
47
- end
41
+ def to_bson(buffer = BSON::ByteBuffer.new, _validating_keys = nil)
42
+ @bytes ||= @hash.to_bson(BSON::ByteBuffer.new).to_s
48
43
  buffer.put_bytes(@bytes)
49
44
  end
50
45
  end
@@ -1,5 +1,4 @@
1
1
  # frozen_string_literal: true
2
- # rubocop:todo all
3
2
 
4
3
  # Copyright (C) 2017-2020 MongoDB Inc.
5
4
  #
@@ -17,7 +16,6 @@
17
16
 
18
17
  module Mongo
19
18
  module Protocol
20
-
21
19
  # MongoDB Wire protocol Compressed message.
22
20
  #
23
21
  # This is a bi-directional message that compresses another opcode.
@@ -27,15 +25,14 @@ module Mongo
27
25
  #
28
26
  # @since 2.5.0
29
27
  class Compressed < Message
30
-
31
28
  # The noop compressor identifier.
32
- NOOP = 'noop'.freeze
29
+ NOOP = 'noop'
33
30
 
34
31
  # The byte signaling that the message has not been compressed (test mode).
35
32
  NOOP_BYTE = 0.chr.force_encoding(BSON::BINARY).freeze
36
33
 
37
34
  # The snappy compressor identifier.
38
- SNAPPY = 'snappy'.freeze
35
+ SNAPPY = 'snappy'
39
36
 
40
37
  # The byte signaling that the message has been compressed with snappy.
41
38
  SNAPPY_BYTE = 1.chr.force_encoding(BSON::BINARY).freeze
@@ -48,10 +45,10 @@ module Mongo
48
45
  # The Zlib compressor identifier.
49
46
  #
50
47
  # @since 2.5.0
51
- ZLIB = 'zlib'.freeze
48
+ ZLIB = 'zlib'
52
49
 
53
50
  # The zstd compressor identifier.
54
- ZSTD = 'zstd'.freeze
51
+ ZSTD = 'zstd'
55
52
 
56
53
  # The byte signaling that the message has been compressed with zstd.
57
54
  ZSTD_BYTE = 3.chr.force_encoding(BSON::BINARY).freeze
@@ -103,9 +100,7 @@ module Mongo
103
100
  Message.deserialize_field(message, buf, field)
104
101
  end
105
102
  end
106
- if message.is_a?(Msg)
107
- message.fix_after_deserialization
108
- end
103
+ message.fix_after_deserialization if message.is_a?(Msg)
109
104
  message
110
105
  end
111
106
 
@@ -1,5 +1,4 @@
1
1
  # frozen_string_literal: true
2
- # rubocop:todo all
3
2
 
4
3
  # Copyright (C) 2014-2020 MongoDB Inc.
5
4
  #
@@ -17,7 +16,6 @@
17
16
 
18
17
  module Mongo
19
18
  module Protocol
20
-
21
19
  # MongoDB Wire protocol getMore message.
22
20
  #
23
21
  # This is a client request message that is sent to the server in order
@@ -29,7 +27,6 @@ module Mongo
29
27
  #
30
28
  # @api semipublic
31
29
  class GetMore < Message
32
-
33
30
  # Creates a new getMore message
34
31
  #
35
32
  # @example Get 15 additional documents from cursor 123 in 'xgen.users'.
@@ -81,8 +78,6 @@ module Mongo
81
78
 
82
79
  attr_reader :upconverter
83
80
 
84
- private
85
-
86
81
  # The operation code required to specify a getMore message.
87
82
  # @return [Fixnum] the operation code.
88
83
  #
@@ -104,17 +99,16 @@ module Mongo
104
99
  # @return [Fixnum] The cursor id to get more documents from.
105
100
  field :cursor_id, Int64
106
101
 
107
- # Converts legacy getMore messages to the appropriare OP_COMMAND style
102
+ # Converts legacy getMore messages to the appropriate OP_COMMAND style
108
103
  # message.
109
104
  #
110
105
  # @since 2.1.0
111
106
  class Upconverter
112
-
113
107
  # The get more constant.
114
108
  #
115
109
  # @since 2.2.0
116
110
  # @deprecated
117
- GET_MORE = 'getMore'.freeze
111
+ GET_MORE = 'getMore'
118
112
 
119
113
  # @return [ String ] collection The name of the collection.
120
114
  attr_reader :collection
@@ -1,5 +1,4 @@
1
1
  # frozen_string_literal: true
2
- # rubocop:todo all
3
2
 
4
3
  # Copyright (C) 2014-2020 MongoDB Inc.
5
4
  #
@@ -17,7 +16,6 @@
17
16
 
18
17
  module Mongo
19
18
  module Protocol
20
-
21
19
  # MongoDB Wire protocol KillCursors message.
22
20
  #
23
21
  # This is a client request message that is sent to the server in order
@@ -25,7 +23,6 @@ module Mongo
25
23
  #
26
24
  # @api semipublic
27
25
  class KillCursors < Message
28
-
29
26
  # Creates a new KillCursors message
30
27
  #
31
28
  # @example Kill the cursor on the server with id 1.
@@ -55,7 +52,7 @@ module Mongo
55
52
  command_name: 'killCursors',
56
53
  database_name: @database,
57
54
  command: upconverter.command,
58
- request_id: request_id,
55
+ request_id: request_id
59
56
  )
60
57
  end
61
58
 
@@ -63,8 +60,6 @@ module Mongo
63
60
 
64
61
  attr_reader :upconverter
65
62
 
66
- private
67
-
68
63
  # The operation code required to specify +KillCursors+ message.
69
64
  # @return [Fixnum] the operation code.
70
65
  #
@@ -82,12 +77,11 @@ module Mongo
82
77
  # @return [Array<Fixnum>] Cursors to kill.
83
78
  field :cursor_ids, Int64, true
84
79
 
85
- # Converts legacy insert messages to the appropriare OP_COMMAND style
80
+ # Converts legacy insert messages to the appropriate OP_COMMAND style
86
81
  # message.
87
82
  #
88
83
  # @since 2.1.0
89
84
  class Upconverter
90
-
91
85
  # @return [ String ] collection The name of the collection.
92
86
  attr_reader :collection
93
87