mongo 1.12.5 → 2.0.0.beta
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/CONTRIBUTING.md +64 -0
- data/LICENSE +1 -1
- data/README.md +23 -125
- data/Rakefile +26 -21
- data/bin/mongo_console +6 -38
- data/lib/mongo.rb +23 -82
- data/lib/mongo/address.rb +111 -0
- data/lib/mongo/address/ipv4.rb +85 -0
- data/lib/mongo/address/ipv6.rb +85 -0
- data/lib/mongo/address/unix.rb +76 -0
- data/lib/mongo/auth.rb +108 -0
- data/lib/mongo/auth/cr.rb +44 -0
- data/lib/mongo/auth/cr/conversation.rb +119 -0
- data/lib/mongo/auth/executable.rb +52 -0
- data/lib/mongo/auth/ldap.rb +48 -0
- data/lib/mongo/auth/ldap/conversation.rb +92 -0
- data/lib/mongo/auth/roles.rb +104 -0
- data/lib/mongo/auth/scram.rb +53 -0
- data/lib/mongo/auth/scram/conversation.rb +450 -0
- data/lib/mongo/auth/user.rb +159 -0
- data/lib/mongo/auth/user/view.rb +102 -0
- data/lib/mongo/auth/x509.rb +48 -0
- data/lib/mongo/auth/x509/conversation.rb +92 -0
- data/lib/mongo/{gridfs.rb → bulk.rb} +2 -5
- data/lib/mongo/bulk/bulk_write.rb +307 -0
- data/lib/mongo/client.rb +233 -0
- data/lib/mongo/cluster.rb +203 -0
- data/lib/mongo/cluster/topology.rb +60 -0
- data/lib/mongo/cluster/topology/replica_set.rb +160 -0
- data/lib/mongo/cluster/topology/sharded.rb +132 -0
- data/lib/mongo/cluster/topology/standalone.rb +132 -0
- data/lib/mongo/cluster/topology/unknown.rb +155 -0
- data/lib/mongo/collection.rb +130 -1101
- data/lib/mongo/collection/view.rb +169 -0
- data/lib/mongo/collection/view/aggregation.rb +108 -0
- data/lib/mongo/collection/view/explainable.rb +49 -0
- data/lib/mongo/collection/view/immutable.rb +43 -0
- data/lib/mongo/collection/view/iterable.rb +48 -0
- data/lib/mongo/collection/view/map_reduce.rb +191 -0
- data/lib/mongo/collection/view/readable.rb +363 -0
- data/lib/mongo/collection/view/writable.rb +169 -0
- data/lib/mongo/cursor.rb +79 -680
- data/lib/mongo/database.rb +224 -0
- data/lib/mongo/database/view.rb +101 -0
- data/lib/mongo/error.rb +81 -0
- data/lib/mongo/error/bulk_write_failure.rb +41 -0
- data/lib/mongo/{utils/thread_local_variable_manager.rb → error/empty_batch.rb} +22 -8
- data/{test/functional/db_connection_test.rb → lib/mongo/error/invalid_bulk_operation.rb} +19 -8
- data/lib/mongo/error/invalid_collection_name.rb +39 -0
- data/lib/mongo/error/invalid_database_name.rb +39 -0
- data/{test/replica_set/ssl_test.rb → lib/mongo/error/invalid_document.rb} +21 -14
- data/lib/mongo/error/invalid_file.rb +38 -0
- data/lib/mongo/error/invalid_nonce.rb +46 -0
- data/lib/mongo/error/invalid_replacement_document.rb +39 -0
- data/lib/mongo/error/invalid_signature.rb +47 -0
- data/{test/functional/ssl_test.rb → lib/mongo/error/invalid_update_document.rb} +22 -12
- data/lib/mongo/error/max_bson_size.rb +40 -0
- data/lib/mongo/error/max_message_size.rb +42 -0
- data/lib/mongo/{utils.rb → error/need_primary_server.rb} +10 -6
- data/lib/mongo/{connection.rb → error/operation_failure.rb} +10 -6
- data/lib/mongo/error/parser.rb +77 -0
- data/lib/mongo/{connection/socket.rb → error/socket_error.rb} +10 -5
- data/lib/mongo/error/socket_timeout_error.rb +23 -0
- data/lib/mongo/error/unsupported_features.rb +43 -0
- data/lib/mongo/event.rb +40 -0
- data/lib/mongo/event/listeners.rb +63 -0
- data/lib/mongo/event/primary_elected.rb +53 -0
- data/lib/mongo/event/publisher.rb +42 -0
- data/lib/mongo/event/server_added.rb +53 -0
- data/lib/mongo/event/server_removed.rb +53 -0
- data/lib/mongo/event/subscriber.rb +41 -0
- data/lib/mongo/grid.rb +16 -0
- data/lib/mongo/grid/file.rb +94 -0
- data/lib/mongo/grid/file/chunk.rb +184 -0
- data/lib/mongo/grid/file/metadata.rb +223 -0
- data/lib/mongo/grid/fs.rb +149 -0
- data/lib/mongo/index.rb +64 -0
- data/lib/mongo/index/view.rb +205 -0
- data/lib/mongo/loggable.rb +126 -0
- data/lib/mongo/logger.rb +132 -0
- data/lib/mongo/operation.rb +26 -0
- data/lib/mongo/operation/aggregate.rb +100 -0
- data/lib/mongo/operation/aggregate/result.rb +84 -0
- data/lib/mongo/operation/batchable.rb +103 -0
- data/lib/mongo/operation/bulk_delete/result.rb +197 -0
- data/lib/mongo/operation/bulk_insert/result.rb +195 -0
- data/lib/mongo/operation/bulk_update/result.rb +295 -0
- data/lib/mongo/operation/command.rb +62 -0
- data/lib/mongo/operation/executable.rb +105 -0
- data/lib/mongo/operation/kill_cursors.rb +39 -0
- data/lib/mongo/operation/limited.rb +37 -0
- data/lib/mongo/operation/list_collections/result.rb +116 -0
- data/lib/mongo/operation/list_indexes/result.rb +118 -0
- data/lib/mongo/operation/map_reduce.rb +96 -0
- data/lib/mongo/operation/map_reduce/result.rb +122 -0
- data/lib/mongo/{functional.rb → operation/read.rb} +7 -7
- data/lib/mongo/operation/read/collections_info.rb +67 -0
- data/lib/mongo/operation/read/get_more.rb +71 -0
- data/lib/mongo/operation/read/indexes.rb +68 -0
- data/lib/mongo/operation/read/list_collections.rb +75 -0
- data/lib/mongo/operation/read/list_indexes.rb +77 -0
- data/lib/mongo/operation/read/query.rb +71 -0
- data/lib/mongo/operation/read_preferrable.rb +34 -0
- data/lib/mongo/operation/result.rb +259 -0
- data/lib/mongo/operation/specifiable.rb +380 -0
- data/lib/mongo/operation/write.rb +25 -0
- data/lib/mongo/operation/write/bulk_delete.rb +158 -0
- data/lib/mongo/operation/write/bulk_insert.rb +160 -0
- data/lib/mongo/operation/write/bulk_update.rb +167 -0
- data/lib/mongo/{connection/socket/socket_util.rb → operation/write/command.rb} +9 -24
- data/lib/mongo/operation/write/command/create_user.rb +43 -0
- data/lib/mongo/operation/write/command/delete.rb +56 -0
- data/lib/mongo/operation/write/command/drop_index.rb +51 -0
- data/lib/mongo/operation/write/command/ensure_index.rb +55 -0
- data/lib/mongo/operation/write/command/insert.rb +55 -0
- data/lib/mongo/operation/write/command/remove_user.rb +42 -0
- data/lib/mongo/operation/write/command/update.rb +60 -0
- data/lib/mongo/operation/write/command/writable.rb +61 -0
- data/lib/mongo/operation/write/create_index.rb +84 -0
- data/lib/mongo/operation/write/create_user.rb +75 -0
- data/lib/mongo/operation/write/delete.rb +91 -0
- data/lib/mongo/operation/write/drop_index.rb +62 -0
- data/lib/mongo/operation/write/insert.rb +88 -0
- data/lib/mongo/operation/write/remove_user.rb +70 -0
- data/lib/mongo/operation/write/update.rb +98 -0
- data/lib/mongo/protocol.rb +15 -0
- data/lib/mongo/protocol/bit_vector.rb +61 -0
- data/lib/mongo/protocol/delete.rb +94 -0
- data/lib/mongo/protocol/get_more.rb +99 -0
- data/lib/mongo/protocol/insert.rb +99 -0
- data/lib/mongo/protocol/kill_cursors.rb +74 -0
- data/lib/mongo/protocol/message.rb +252 -0
- data/lib/mongo/protocol/query.rb +147 -0
- data/lib/mongo/protocol/reply.rb +72 -0
- data/lib/mongo/protocol/serializers.rb +180 -0
- data/lib/mongo/protocol/update.rb +111 -0
- data/lib/mongo/server.rb +163 -0
- data/lib/mongo/server/connectable.rb +99 -0
- data/lib/mongo/server/connection.rb +133 -0
- data/lib/mongo/server/connection_pool.rb +141 -0
- data/lib/mongo/server/connection_pool/queue.rb +182 -0
- data/lib/mongo/server/context.rb +66 -0
- data/lib/mongo/server/description.rb +450 -0
- data/lib/mongo/server/description/features.rb +85 -0
- data/lib/mongo/server/description/inspector.rb +79 -0
- data/lib/mongo/server/description/inspector/primary_elected.rb +58 -0
- data/lib/mongo/server/description/inspector/server_added.rb +59 -0
- data/lib/mongo/server/description/inspector/server_removed.rb +59 -0
- data/lib/mongo/server/monitor.rb +160 -0
- data/lib/mongo/server/monitor/connection.rb +88 -0
- data/lib/mongo/server_selector.rb +81 -0
- data/lib/mongo/server_selector/nearest.rb +94 -0
- data/lib/mongo/server_selector/primary.rb +88 -0
- data/lib/mongo/server_selector/primary_preferred.rb +94 -0
- data/lib/mongo/server_selector/secondary.rb +91 -0
- data/lib/mongo/server_selector/secondary_preferred.rb +96 -0
- data/lib/mongo/server_selector/selectable.rb +209 -0
- data/lib/mongo/socket.rb +179 -0
- data/lib/mongo/socket/ssl.rb +108 -0
- data/lib/mongo/socket/tcp.rb +69 -0
- data/lib/mongo/socket/unix.rb +66 -0
- data/lib/mongo/uri.rb +504 -0
- data/lib/mongo/version.rb +21 -0
- data/lib/mongo/write_concern.rb +99 -0
- data/lib/mongo/write_concern/acknowledged.rb +38 -0
- data/lib/mongo/write_concern/normalizable.rb +73 -0
- data/lib/mongo/write_concern/unacknowledged.rb +43 -0
- data/mongo.gemspec +17 -14
- data/spec/mongo/address/ipv4_spec.rb +74 -0
- data/spec/mongo/address/ipv6_spec.rb +74 -0
- data/spec/mongo/address/unix_spec.rb +30 -0
- data/spec/mongo/address_spec.rb +206 -0
- data/spec/mongo/auth/cr_spec.rb +59 -0
- data/spec/mongo/auth/ldap_spec.rb +40 -0
- data/spec/mongo/auth/scram/conversation_spec.rb +197 -0
- data/spec/mongo/auth/scram_spec.rb +55 -0
- data/spec/mongo/auth/user/view_spec.rb +76 -0
- data/spec/mongo/auth/user_spec.rb +190 -0
- data/spec/mongo/auth/x509_spec.rb +40 -0
- data/spec/mongo/auth_spec.rb +65 -0
- data/spec/mongo/bulk/bulk_write_spec.rb +175 -0
- data/spec/mongo/client_spec.rb +564 -0
- data/spec/mongo/cluster/topology/replica_set_spec.rb +101 -0
- data/spec/mongo/cluster/topology/sharded_spec.rb +74 -0
- data/spec/mongo/cluster/topology/standalone_spec.rb +79 -0
- data/spec/mongo/cluster/topology_spec.rb +65 -0
- data/spec/mongo/cluster_spec.rb +129 -0
- data/spec/mongo/collection/view/aggregation_spec.rb +135 -0
- data/spec/mongo/collection/view/explainable_spec.rb +32 -0
- data/spec/mongo/collection/view/map_reduce_spec.rb +242 -0
- data/spec/mongo/collection/view/readable_spec.rb +603 -0
- data/spec/mongo/collection/view/writable_spec.rb +504 -0
- data/spec/mongo/collection/view_spec.rb +521 -0
- data/spec/mongo/collection_spec.rb +362 -0
- data/spec/mongo/cursor_spec.rb +295 -0
- data/spec/mongo/database_spec.rb +306 -0
- data/spec/mongo/error/parser_spec.rb +119 -0
- data/spec/mongo/event/publisher_spec.rb +50 -0
- data/spec/mongo/event/subscriber_spec.rb +34 -0
- data/spec/mongo/grid/file/chunk_spec.rb +226 -0
- data/spec/mongo/grid/file/metadata_spec.rb +69 -0
- data/spec/mongo/grid/file_spec.rb +138 -0
- data/spec/mongo/grid/fs_spec.rb +129 -0
- data/spec/mongo/index/view_spec.rb +226 -0
- data/spec/mongo/loggable_spec.rb +62 -0
- data/spec/mongo/logger_spec.rb +97 -0
- data/spec/mongo/operation/aggregate/result_spec.rb +80 -0
- data/spec/mongo/operation/aggregate_spec.rb +135 -0
- data/spec/mongo/operation/command_spec.rb +106 -0
- data/spec/mongo/operation/kill_cursors_spec.rb +66 -0
- data/spec/mongo/operation/limited_spec.rb +50 -0
- data/spec/mongo/operation/map_reduce_spec.rb +143 -0
- data/spec/mongo/operation/read/collections_info_spec.rb +40 -0
- data/spec/mongo/operation/read/get_more_spec.rb +81 -0
- data/spec/mongo/operation/read/indexes_spec.rb +31 -0
- data/spec/mongo/operation/read/query_spec.rb +84 -0
- data/spec/mongo/operation/result_spec.rb +275 -0
- data/spec/mongo/operation/specifiable_spec.rb +53 -0
- data/spec/mongo/operation/write/bulk_delete_spec.rb +473 -0
- data/spec/mongo/operation/write/bulk_insert_spec.rb +466 -0
- data/spec/mongo/operation/write/bulk_update_spec.rb +524 -0
- data/spec/mongo/operation/write/command/delete_spec.rb +116 -0
- data/spec/mongo/operation/write/command/insert_spec.rb +117 -0
- data/spec/mongo/operation/write/command/update_spec.rb +123 -0
- data/spec/mongo/operation/write/create_user_spec.rb +44 -0
- data/spec/mongo/operation/write/delete_spec.rb +178 -0
- data/spec/mongo/operation/write/drop_index_spec.rb +51 -0
- data/spec/mongo/operation/write/ensure_index_spec.rb +81 -0
- data/spec/mongo/operation/write/insert_spec.rb +231 -0
- data/spec/mongo/operation/write/remove_user_spec.rb +46 -0
- data/spec/mongo/operation/write/response_spec.rb +85 -0
- data/spec/mongo/operation/write/update_spec.rb +177 -0
- data/spec/mongo/protocol/delete_spec.rb +167 -0
- data/spec/mongo/protocol/get_more_spec.rb +146 -0
- data/spec/mongo/protocol/insert_spec.rb +161 -0
- data/spec/mongo/protocol/kill_cursors_spec.rb +101 -0
- data/spec/mongo/protocol/query_spec.rb +285 -0
- data/spec/mongo/protocol/reply_spec.rb +157 -0
- data/spec/mongo/protocol/update_spec.rb +186 -0
- data/spec/mongo/server/connection_pool/queue_spec.rb +170 -0
- data/spec/mongo/server/connection_pool_spec.rb +120 -0
- data/spec/mongo/server/connection_spec.rb +289 -0
- data/spec/mongo/server/description/features_spec.rb +138 -0
- data/spec/mongo/server/description/inspector/primary_elected_spec.rb +94 -0
- data/spec/mongo/server/description/inspector/server_added_spec.rb +92 -0
- data/spec/mongo/server/description/inspector/server_removed_spec.rb +95 -0
- data/spec/mongo/server/description_spec.rb +510 -0
- data/spec/mongo/server/monitor_spec.rb +130 -0
- data/spec/mongo/server_discovery_and_monitoring_spec.rb +103 -0
- data/spec/mongo/server_selection_rtt_spec.rb +104 -0
- data/spec/mongo/server_selection_spec.rb +89 -0
- data/spec/mongo/server_selector/nearest_spec.rb +250 -0
- data/spec/mongo/server_selector/primary_preferred_spec.rb +290 -0
- data/spec/mongo/server_selector/primary_spec.rb +114 -0
- data/spec/mongo/server_selector/secondary_preferred_spec.rb +252 -0
- data/spec/mongo/server_selector/secondary_spec.rb +196 -0
- data/spec/mongo/server_selector_spec.rb +101 -0
- data/spec/mongo/server_spec.rb +131 -0
- data/spec/mongo/uri_spec.rb +517 -0
- data/spec/mongo/write_concern/acknowledged_spec.rb +44 -0
- data/spec/mongo/write_concern/unacknowledged_spec.rb +15 -0
- data/spec/mongo_orchestration_spec.rb +70 -0
- data/spec/spec_helper.rb +148 -0
- data/spec/support/authorization.rb +245 -0
- data/spec/support/helpers.rb +140 -0
- data/spec/support/matchers.rb +37 -0
- data/spec/support/mongo_orchestration.rb +61 -0
- data/spec/support/mongo_orchestration/requestable.rb +109 -0
- data/spec/support/mongo_orchestration/standalone.rb +57 -0
- data/spec/support/sdam/rs/discover_arbiters.yml +41 -0
- data/spec/support/sdam/rs/discover_passives.yml +41 -0
- data/spec/support/sdam/rs/discover_primary.yml +40 -0
- data/spec/support/sdam/rs/discover_secondary.yml +41 -0
- data/spec/support/sdam/rs/discovery.yml +195 -0
- data/spec/support/sdam/rs/ghost_discovered.yml +39 -0
- data/spec/support/sdam/rs/hosts_differ_from_seeds.yml +34 -0
- data/spec/support/sdam/rs/member_reconfig.yml +68 -0
- data/spec/support/sdam/rs/member_standalone.yml +60 -0
- data/spec/support/sdam/rs/new_primary.yml +74 -0
- data/spec/support/sdam/rs/new_primary_wrong_set_name.yml +71 -0
- data/spec/support/sdam/rs/non_rs_member.yml +31 -0
- data/spec/support/sdam/rs/normalize_case.yml +49 -0
- data/spec/support/sdam/rs/primary_becomes_standalone.yml +52 -0
- data/spec/support/sdam/rs/primary_changes_set_name.yml +57 -0
- data/spec/support/sdam/rs/primary_disconnect.yml +56 -0
- data/spec/support/sdam/rs/primary_wrong_set_name.yml +27 -0
- data/spec/support/sdam/rs/response_from_removed.yml +63 -0
- data/spec/support/sdam/rs/rsother_discovered.yml +41 -0
- data/spec/support/sdam/rs/sec_not_auth.yml +49 -0
- data/spec/support/sdam/rs/secondary_wrong_set_name.yml +28 -0
- data/spec/support/sdam/rs/secondary_wrong_set_name_with_primary.yml +69 -0
- data/spec/support/sdam/rs/unexpected_mongos.yml +26 -0
- data/spec/support/sdam/rs/wrong_set_name.yml +35 -0
- data/spec/support/sdam/sharded/multiple_mongoses.yml +46 -0
- data/spec/support/sdam/sharded/non_mongos_removed.yml +41 -0
- data/spec/support/sdam/sharded/normalize_uri_case.yml +32 -0
- data/spec/support/sdam/single/direct_connection_external_ip.yml +34 -0
- data/spec/support/sdam/single/direct_connection_mongos.yml +33 -0
- data/spec/support/sdam/single/direct_connection_rsarbiter.yml +35 -0
- data/spec/support/sdam/single/direct_connection_rsprimary.yml +34 -0
- data/spec/support/sdam/single/direct_connection_rssecondary.yml +35 -0
- data/spec/support/sdam/single/direct_connection_slave.yml +32 -0
- data/spec/support/sdam/single/direct_connection_standalone.yml +32 -0
- data/spec/support/sdam/single/not_ok_response.yml +39 -0
- data/spec/support/sdam/single/standalone_removed.yml +32 -0
- data/spec/support/sdam/single/unavailable_seed.yml +28 -0
- data/spec/support/server_discovery_and_monitoring.rb +167 -0
- data/spec/support/server_selection.rb +140 -0
- data/spec/support/server_selection/rtt/first_value.yml +4 -0
- data/spec/support/server_selection/rtt/first_value_zero.yml +4 -0
- data/spec/support/server_selection/rtt/value_test_1.yml +4 -0
- data/spec/support/server_selection/rtt/value_test_2.yml +4 -0
- data/spec/support/server_selection/rtt/value_test_3.yml +4 -0
- data/spec/support/server_selection/rtt/value_test_4.yml +4 -0
- data/spec/support/server_selection/rtt/value_test_5.yml +4 -0
- data/spec/support/server_selection/selection/ReplicaSetNoPrimary/read/Nearest.yml +32 -0
- data/spec/support/server_selection/selection/ReplicaSetNoPrimary/read/Nearest_non_matching.yml +27 -0
- data/spec/support/server_selection/selection/ReplicaSetNoPrimary/read/Primary.yml +23 -0
- data/spec/support/server_selection/selection/ReplicaSetNoPrimary/read/PrimaryPreferred.yml +32 -0
- data/spec/support/server_selection/selection/ReplicaSetNoPrimary/read/PrimaryPreferred_non_matching.yml +27 -0
- data/spec/support/server_selection/selection/ReplicaSetNoPrimary/read/Secondary.yml +32 -0
- data/spec/support/server_selection/selection/ReplicaSetNoPrimary/read/SecondaryPreferred.yml +32 -0
- data/spec/support/server_selection/selection/ReplicaSetNoPrimary/read/SecondaryPreferred_non_matching.yml +27 -0
- data/spec/support/server_selection/selection/ReplicaSetNoPrimary/read/Secondary_non_matching.yml +27 -0
- data/spec/support/server_selection/selection/ReplicaSetWithPrimary/read/Nearest.yml +41 -0
- data/spec/support/server_selection/selection/ReplicaSetWithPrimary/read/Nearest_non_matching.yml +34 -0
- data/spec/support/server_selection/selection/ReplicaSetWithPrimary/read/Primary.yml +33 -0
- data/spec/support/server_selection/selection/ReplicaSetWithPrimary/read/PrimaryPreferred.yml +39 -0
- data/spec/support/server_selection/selection/ReplicaSetWithPrimary/read/PrimaryPreferred_non_matching.yml +36 -0
- data/spec/support/server_selection/selection/Sharded/read/SecondaryPreferred.yml +32 -0
- data/spec/support/server_selection/selection/Single/read/SecondaryPreferred.yml +23 -0
- data/spec/support/server_selection/selection/Unknown/read/SecondaryPreferred.yml +13 -0
- data/spec/support/server_selection_rtt.rb +41 -0
- data/spec/support/shared/bulk_write.rb +498 -0
- data/spec/support/shared/cursor.rb +38 -0
- data/spec/support/shared/operation.rb +77 -0
- data/spec/support/shared/protocol.rb +31 -0
- data/spec/support/shared/server_selector.rb +111 -0
- data/spec/support/shared/socket.rb +82 -0
- data/spec/support/travis.rb +14 -0
- metadata +523 -189
- metadata.gz.sig +0 -0
- data/VERSION +0 -1
- data/lib/mongo/bulk_write_collection_view.rb +0 -387
- data/lib/mongo/collection_writer.rb +0 -364
- data/lib/mongo/connection/node.rb +0 -249
- data/lib/mongo/connection/pool.rb +0 -340
- data/lib/mongo/connection/pool_manager.rb +0 -320
- data/lib/mongo/connection/sharding_pool_manager.rb +0 -67
- data/lib/mongo/connection/socket/ssl_socket.rb +0 -95
- data/lib/mongo/connection/socket/tcp_socket.rb +0 -87
- data/lib/mongo/connection/socket/unix_socket.rb +0 -39
- data/lib/mongo/db.rb +0 -808
- data/lib/mongo/exception.rb +0 -145
- data/lib/mongo/functional/authentication.rb +0 -455
- data/lib/mongo/functional/logging.rb +0 -85
- data/lib/mongo/functional/read_preference.rb +0 -183
- data/lib/mongo/functional/scram.rb +0 -556
- data/lib/mongo/functional/uri_parser.rb +0 -409
- data/lib/mongo/functional/write_concern.rb +0 -66
- data/lib/mongo/gridfs/grid.rb +0 -112
- data/lib/mongo/gridfs/grid_ext.rb +0 -53
- data/lib/mongo/gridfs/grid_file_system.rb +0 -163
- data/lib/mongo/gridfs/grid_io.rb +0 -484
- data/lib/mongo/legacy.rb +0 -140
- data/lib/mongo/mongo_client.rb +0 -697
- data/lib/mongo/mongo_replica_set_client.rb +0 -535
- data/lib/mongo/mongo_sharded_client.rb +0 -159
- data/lib/mongo/networking.rb +0 -372
- data/lib/mongo/utils/conversions.rb +0 -110
- data/lib/mongo/utils/core_ext.rb +0 -70
- data/lib/mongo/utils/server_version.rb +0 -69
- data/lib/mongo/utils/support.rb +0 -80
- data/test/functional/authentication_test.rb +0 -39
- data/test/functional/bulk_api_stress_test.rb +0 -133
- data/test/functional/bulk_write_collection_view_test.rb +0 -1198
- data/test/functional/client_test.rb +0 -627
- data/test/functional/collection_test.rb +0 -2175
- data/test/functional/collection_writer_test.rb +0 -83
- data/test/functional/conversions_test.rb +0 -163
- data/test/functional/cursor_fail_test.rb +0 -57
- data/test/functional/cursor_message_test.rb +0 -56
- data/test/functional/cursor_test.rb +0 -683
- data/test/functional/db_api_test.rb +0 -835
- data/test/functional/db_test.rb +0 -348
- data/test/functional/grid_file_system_test.rb +0 -285
- data/test/functional/grid_io_test.rb +0 -252
- data/test/functional/grid_test.rb +0 -273
- data/test/functional/pool_test.rb +0 -136
- data/test/functional/safe_test.rb +0 -98
- data/test/functional/support_test.rb +0 -62
- data/test/functional/timeout_test.rb +0 -60
- data/test/functional/uri_test.rb +0 -446
- data/test/functional/write_concern_test.rb +0 -118
- data/test/helpers/general.rb +0 -50
- data/test/helpers/test_unit.rb +0 -476
- data/test/replica_set/authentication_test.rb +0 -37
- data/test/replica_set/basic_test.rb +0 -189
- data/test/replica_set/client_test.rb +0 -393
- data/test/replica_set/connection_test.rb +0 -138
- data/test/replica_set/count_test.rb +0 -66
- data/test/replica_set/cursor_test.rb +0 -220
- data/test/replica_set/insert_test.rb +0 -157
- data/test/replica_set/max_values_test.rb +0 -151
- data/test/replica_set/pinning_test.rb +0 -105
- data/test/replica_set/query_test.rb +0 -73
- data/test/replica_set/read_preference_test.rb +0 -219
- data/test/replica_set/refresh_test.rb +0 -211
- data/test/replica_set/replication_ack_test.rb +0 -95
- data/test/sharded_cluster/basic_test.rb +0 -203
- data/test/shared/authentication/basic_auth_shared.rb +0 -260
- data/test/shared/authentication/bulk_api_auth_shared.rb +0 -249
- data/test/shared/authentication/gssapi_shared.rb +0 -176
- data/test/shared/authentication/sasl_plain_shared.rb +0 -96
- data/test/shared/authentication/scram_shared.rb +0 -92
- data/test/shared/ssl_shared.rb +0 -235
- data/test/test_helper.rb +0 -61
- data/test/threading/basic_test.rb +0 -120
- data/test/tools/mongo_config.rb +0 -708
- data/test/tools/mongo_config_test.rb +0 -160
- data/test/unit/client_test.rb +0 -381
- data/test/unit/collection_test.rb +0 -166
- data/test/unit/connection_test.rb +0 -335
- data/test/unit/cursor_test.rb +0 -307
- data/test/unit/db_test.rb +0 -136
- data/test/unit/grid_test.rb +0 -76
- data/test/unit/mongo_sharded_client_test.rb +0 -48
- data/test/unit/node_test.rb +0 -93
- data/test/unit/pool_manager_test.rb +0 -111
- data/test/unit/read_pref_test.rb +0 -406
- data/test/unit/read_test.rb +0 -159
- data/test/unit/safe_test.rb +0 -158
- data/test/unit/sharding_pool_manager_test.rb +0 -84
- data/test/unit/write_concern_test.rb +0 -175
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4fd709834ca22c23121ccd052a08277d95dee73f
|
4
|
+
data.tar.gz: 87ff2b2bde354cf9160909c7d2ea18c6dbf8534e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b385d02b0e3cf9b60b65051f2c5c417767a722c49f2a4aa90551cd040b64b3871b2ee023a6bc5d3e20855a23d5a162d4ede62028269573231c1e965e67ccf8d2
|
7
|
+
data.tar.gz: e3408e4cacf4956b4b06f8a1541eb6e34414469f773892592733f028a7a39f9238d51ad842ca637a01d5cd71a7a798aaf20c70153636a391b3deb902984c1299
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data.tar.gz.sig
CHANGED
Binary file
|
data/CONTRIBUTING.md
ADDED
@@ -0,0 +1,64 @@
|
|
1
|
+
## Contributing to the MongoDB Ruby Driver
|
2
|
+
|
3
|
+
Thank you for your interest in contributing to the MongoDB Ruby driver.
|
4
|
+
|
5
|
+
We are building this software together and strongly encourage contributions
|
6
|
+
from the community that are within the guidelines set forth below.
|
7
|
+
|
8
|
+
Bug Fixes and New Features
|
9
|
+
--------------------------
|
10
|
+
|
11
|
+
Before starting to write code, look for existing [tickets]
|
12
|
+
(https://jira.mongodb.org/browse/RUBY) or [create one]
|
13
|
+
(https://jira.mongodb.org/secure/CreateIssue!default.jspa)
|
14
|
+
for your bug, issue, or feature request. This helps the community
|
15
|
+
avoid working on something that might not be of interest or which
|
16
|
+
has already been addressed.
|
17
|
+
|
18
|
+
Environment
|
19
|
+
-----------
|
20
|
+
|
21
|
+
We highly suggest using [RVM](https://rvm.io/) or [rbenv]
|
22
|
+
(https://github.com/sstephenson/rbenv) to set up Ruby development and
|
23
|
+
testing environments. In this way, moving between and testing code for
|
24
|
+
alternate Ruby versions (besides the one possibly included with your
|
25
|
+
system) is simple. This practice is essential for ensuring the quality
|
26
|
+
of the driver.
|
27
|
+
|
28
|
+
Pull Requests
|
29
|
+
-------------
|
30
|
+
|
31
|
+
Pull requests should be made against the master (development)
|
32
|
+
branch and include relevant tests, if applicable. The driver follows
|
33
|
+
the Git-Flow branching model where the traditional master branch is
|
34
|
+
known as release and the master (default) branch is considered under
|
35
|
+
development.
|
36
|
+
|
37
|
+
Tests should pass under all Ruby interpreters which the MongoDB Ruby
|
38
|
+
driver currently supports (1.8.7, 1.9.3, JRuby 1.6.x and 1.7.x) and will be
|
39
|
+
automatically tested.
|
40
|
+
|
41
|
+
The results of pull request testing will be appended to the request.
|
42
|
+
If any tests do not pass, or relavant tests are not included the pull
|
43
|
+
request will not be considered.
|
44
|
+
|
45
|
+
Clusters and Replica Sets
|
46
|
+
-------------------------
|
47
|
+
|
48
|
+
If your bug fix or enhancement deals with Cluster or Replica Set
|
49
|
+
code, please run all relevant tests for those code subsets before
|
50
|
+
issuing the request.
|
51
|
+
|
52
|
+
* `rake test:sharded_cluster` for sharded clusters
|
53
|
+
* `rake test:replica_set` for replica sets
|
54
|
+
|
55
|
+
Cluster and Replica Set testing is currently **not** automatically
|
56
|
+
performed so it is important they are run in a thorough fashion under
|
57
|
+
all supported interpreters before a pull request is made.
|
58
|
+
|
59
|
+
Talk To Us
|
60
|
+
----------
|
61
|
+
|
62
|
+
We love to hear from you. If you want to work on something or have
|
63
|
+
questions / complaints please reach out to us by creating a [question]
|
64
|
+
(https://jira.mongodb.org/secure/CreateIssue.jspa?pid=10005&issuetype=6).
|
data/LICENSE
CHANGED
@@ -175,7 +175,7 @@
|
|
175
175
|
|
176
176
|
END OF TERMS AND CONDITIONS
|
177
177
|
|
178
|
-
Copyright (C)
|
178
|
+
Copyright (C) 2009-2015 MongoDB, Inc.
|
179
179
|
|
180
180
|
Licensed under the Apache License, Version 2.0 (the "License");
|
181
181
|
you may not use this file except in compliance with the License.
|
data/README.md
CHANGED
@@ -2,103 +2,23 @@ MongoDB Ruby Driver [![Build Status][travis-img]][travis-url] [![Code Climate][c
|
|
2
2
|
-----
|
3
3
|
The officially supported Ruby driver for [MongoDB](http://www.mongodb.org).
|
4
4
|
|
5
|
-
|
6
|
-
-----
|
7
|
-
|
8
|
-
**Gem Installation**<br>
|
9
|
-
The Ruby driver is released and distributed through RubyGems and it can be installed with the following command:
|
10
|
-
|
11
|
-
```bash
|
12
|
-
gem install mongo
|
13
|
-
```
|
14
|
-
|
15
|
-
For a significant performance boost, you'll want to install the C-extension:
|
16
|
-
|
17
|
-
```bash
|
18
|
-
gem install bson_ext
|
19
|
-
```
|
20
|
-
|
21
|
-
**Github Installation**<br>
|
22
|
-
For development and test environments (not recommended for production) you can also install the Ruby driver directly from source:
|
23
|
-
|
24
|
-
```bash
|
25
|
-
# clone the repository
|
26
|
-
git clone https://github.com/mongodb/mongo-ruby-driver.git
|
27
|
-
cd mongo-ruby-driver
|
28
|
-
|
29
|
-
# checkout a specific version by tag (optional)
|
30
|
-
git checkout 1.x.x
|
31
|
-
|
32
|
-
# install all development dependencies
|
33
|
-
gem install bundler
|
34
|
-
bundle install
|
35
|
-
|
36
|
-
# install the ruby driver
|
37
|
-
rake install
|
38
|
-
```
|
39
|
-
|
40
|
-
To be able to use the driver with Kerberos authentication enabled, install the
|
41
|
-
`mongo_kerberos` gem and add it instead of mongo to your application:
|
42
|
-
|
43
|
-
```bash
|
44
|
-
gem install mongo_kerberos
|
45
|
-
```
|
46
|
-
|
47
|
-
```ruby
|
48
|
-
require 'mongo_kerberos'
|
49
|
-
```
|
50
|
-
|
51
|
-
Usage
|
52
|
-
-----
|
53
|
-
Here is a quick example of basic usage for the Ruby driver:
|
54
|
-
|
55
|
-
```ruby
|
56
|
-
require 'mongo'
|
57
|
-
include Mongo
|
58
|
-
|
59
|
-
# connecting to the database
|
60
|
-
client = MongoClient.new # defaults to localhost:27017
|
61
|
-
db = client['example-db']
|
62
|
-
coll = db['example-collection']
|
5
|
+
> **Note: You are viewing the 2.x version of the MongoDB Ruby driver which is currently in beta and under heavy development. To view the current stable version of driver, please use the [1.x-stable](https://github.com/mongodb/mongo-ruby-driver/tree/1.x-stable) branch.**
|
63
6
|
|
64
|
-
|
65
|
-
10.times { |i| coll.insert({ :count => i+1 }) }
|
66
|
-
|
67
|
-
# finding documents
|
68
|
-
puts "There are #{coll.count} total documents. Here they are:"
|
69
|
-
coll.find.each { |doc| puts doc.inspect }
|
70
|
-
|
71
|
-
# updating documents
|
72
|
-
coll.update({ :count => 5 }, { :count => 'foobar' })
|
73
|
-
|
74
|
-
# removing documents
|
75
|
-
coll.remove({ :count => 8 })
|
76
|
-
coll.remove
|
77
|
-
```
|
78
|
-
|
79
|
-
Wiki - Tutorials & Examples
|
7
|
+
Documentation
|
80
8
|
-----
|
81
|
-
For many more usage examples and a full tutorial, please visit our [wiki](https://github.com/mongodb/mongo-ruby-driver/wiki).<br>
|
82
9
|
|
83
|
-
|
84
|
-
|
85
|
-
For API reference documentation, please visit [here](http://api.mongodb.org/ruby).
|
10
|
+
Documentation for the 2.x series is currently a work in progress, but that work can
|
11
|
+
be seen in the meantime [here](https://github.com/durran/docs-ecosystem/blob/RUBY-684/source/tutorial/ruby-driver-tutorial.txt).
|
86
12
|
|
87
|
-
|
88
|
-
-----
|
89
|
-
The MongoDB Ruby driver requires Ruby 1.8.7 or greater and is regularly tested against the platforms and environments listed below.
|
90
|
-
|
91
|
-
Ruby Platforms | Operating Systems | Architectures
|
92
|
-
-------------- | ----------------- | -------------
|
93
|
-
MRI 1.8.7, 1.9.3, 2.0.0<br>JRuby 1.7.x | Windows<br>Linux<br>OS X | x86<br>x64<br>ARM
|
13
|
+
API docs can be found [here](http://api.mongodb.org/ruby/).
|
94
14
|
|
95
15
|
Support & Feedback
|
96
16
|
-----
|
97
17
|
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
18
|
+
For issues, questions or feedback related to the Ruby driver, please look into
|
19
|
+
our [support channels](http://www.mongodb.org/about/support). Please
|
20
|
+
do not email any of the Ruby developers directly with issues or
|
21
|
+
questions - you're more likely to get an answer quickly on the [mongodb-user list](http://groups.google.com/group/mongodb-user) on Google Groups.
|
102
22
|
|
103
23
|
Bugs & Feature Requests
|
104
24
|
-----
|
@@ -111,45 +31,23 @@ Do you have a bug to report or a feature request to make?
|
|
111
31
|
|
112
32
|
When reporting an issue, please keep in mind that all information in JIRA for all driver projects (ex. RUBY, CSHARP, JAVA) and the Core Server (ex. SERVER) project is **PUBLICLY** visible.
|
113
33
|
|
114
|
-
**
|
115
|
-
|
116
|
-
Providing enough information so we can reproduce the issue immediately will reduce roundtrip communications and get you a useful response as quickly as possible.
|
117
|
-
That said, please provide the following information when logging an issue:
|
34
|
+
**PLEASE DO**
|
118
35
|
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
5. Stack traces and log data, keeping in mind that this info is public
|
36
|
+
* Provide as much information as possible about the issue.
|
37
|
+
* Provide detailed steps for reproducing the issue.
|
38
|
+
* Provide any applicable code snippets, stack traces and log data.
|
39
|
+
* Specify version information for the driver and MongoDB.
|
124
40
|
|
125
41
|
**PLEASE DO NOT**
|
126
42
|
|
127
43
|
* Provide any sensitive data or server logs.
|
128
44
|
* Report potential security issues publicly (see 'Security Issues').
|
129
45
|
|
130
|
-
**EXAMPLE BUG REPORT**
|
131
|
-
|
132
|
-
Example taken from [RUBY-775](https://jira.mongodb.org/browse/RUBY-775)
|
133
|
-
|
134
|
-
```
|
135
|
-
There appears to be a recursive locking condition in the replica set connection pooling.
|
136
|
-
|
137
|
-
Environment: AWS Linux 3.10.37-47.135.amzn1.x86_64 / jruby-1.7.12 / JDK java-1.7.0-openjdk-1.7.0.55-2.4.7.1.40.amzn1.x86_64
|
138
|
-
|
139
|
-
Component: Connection Pooling / Replica set
|
140
|
-
|
141
|
-
Here is a stack trace:
|
142
|
-
https://gist.githubusercontent.com/cheald/5ed01172c5b2c9943c87/raw/63075158dac4c78c1775cac8bf84ba3b6537bc1e/gistfile1.txt
|
143
|
-
|
144
|
-
The original lock occurs [here](https://github.com/mongodb/mongo-ruby-driver/blob/1.x-stable/lib/mongo/connection/pool_manager.rb#L60)
|
145
|
-
|
146
|
-
and then the process of reconnecting ends up attempting to resynchronize the same lock [here](https://github.com/mongodb/mongo-ruby-driver/blob/1.x-stable/lib/mongo/connection/pool_manager.rb#L150)
|
147
|
-
```
|
148
|
-
|
149
46
|
Security Issues
|
150
47
|
-----
|
151
48
|
|
152
|
-
If you’ve identified a potential security related issue in a driver or any other
|
49
|
+
If you’ve identified a potential security related issue in a driver or any other
|
50
|
+
MongoDB project, please report it by following the [instructions here](http://docs.mongodb.org/manual/tutorial/create-a-vulnerability-report).
|
153
51
|
|
154
52
|
Release History
|
155
53
|
-----
|
@@ -159,7 +57,7 @@ Full release notes and release history are available [here](https://github.com/m
|
|
159
57
|
License
|
160
58
|
-----
|
161
59
|
|
162
|
-
Copyright (C) 2009-
|
60
|
+
Copyright (C) 2009-2015 MongoDB, Inc.
|
163
61
|
|
164
62
|
Licensed under the Apache License, Version 2.0 (the "License");
|
165
63
|
you may not use this file except in compliance with the License.
|
@@ -175,9 +73,9 @@ License
|
|
175
73
|
|
176
74
|
[rubygems-img]: https://badge.fury.io/rb/mongo.png
|
177
75
|
[rubygems-url]: http://badge.fury.io/rb/mongo
|
178
|
-
[travis-img]: https://secure.travis-ci.org/mongodb/mongo-ruby-driver.png?branch=
|
179
|
-
[travis-url]: http://travis-ci.org/mongodb/mongo-ruby-driver?branch=
|
180
|
-
[codeclimate-img]: https://codeclimate.com/github/mongodb/mongo-ruby-driver.png?branch=
|
181
|
-
[codeclimate-url]: https://codeclimate.com/github/mongodb/mongo-ruby-driver?branch=
|
182
|
-
[coveralls-img]: https://coveralls.io/repos/mongodb/mongo-ruby-driver/badge.png?branch=
|
183
|
-
[coveralls-url]: https://coveralls.io/r/mongodb/mongo-ruby-driver?branch=
|
76
|
+
[travis-img]: https://secure.travis-ci.org/mongodb/mongo-ruby-driver.png?branch=master
|
77
|
+
[travis-url]: http://travis-ci.org/mongodb/mongo-ruby-driver?branch=master
|
78
|
+
[codeclimate-img]: https://codeclimate.com/github/mongodb/mongo-ruby-driver.png?branch=master
|
79
|
+
[codeclimate-url]: https://codeclimate.com/github/mongodb/mongo-ruby-driver?branch=master
|
80
|
+
[coveralls-img]: https://coveralls.io/repos/mongodb/mongo-ruby-driver/badge.png?branch=master
|
81
|
+
[coveralls-url]: https://coveralls.io/r/mongodb/mongo-ruby-driver?branch=master
|
data/Rakefile
CHANGED
@@ -1,31 +1,36 @@
|
|
1
|
-
|
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.
|
1
|
+
#!/usr/bin/env ruby
|
14
2
|
|
15
3
|
require 'rubygems'
|
16
4
|
|
17
5
|
begin
|
18
6
|
require 'bundler'
|
7
|
+
require 'bundler/gem_tasks'
|
19
8
|
rescue LoadError
|
20
|
-
raise '[FAIL] Bundler not found! Install it with
|
9
|
+
raise '[FAIL] Bundler not found! Install it with ' +
|
10
|
+
'`gem install bundler; bundle install`.'
|
21
11
|
end
|
22
12
|
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
13
|
+
default_groups = [:default, :testing]
|
14
|
+
Bundler.require(*default_groups)
|
15
|
+
|
16
|
+
require 'rspec/core/rake_task'
|
17
|
+
|
18
|
+
RSpec::Core::RakeTask.new(:spec)
|
19
|
+
task :default => :spec
|
20
|
+
|
21
|
+
namespace :spec do
|
22
|
+
if RUBY_VERSION > '1.9' && RUBY_VERSION < '2.2'
|
23
|
+
require 'coveralls/rake/task'
|
24
|
+
Coveralls::RakeTask.new
|
25
|
+
task :ci => [:spec, 'coveralls:push']
|
26
|
+
else
|
27
|
+
task :ci => [:spec]
|
28
|
+
end
|
29
29
|
end
|
30
30
|
|
31
|
-
|
31
|
+
task :release => :spec do
|
32
|
+
system "git tag -a v#{Mongo::VERSION} -m 'Tagging release: #{Mongo::VERSION}'"
|
33
|
+
system "git push --tags"
|
34
|
+
system "gem push mongo-#{Mongo::VERSION}.gem"
|
35
|
+
system "rm mongo-#{Mongo::VERSION}.gem"
|
36
|
+
end
|
data/bin/mongo_console
CHANGED
@@ -1,43 +1,11 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
|
3
|
-
|
4
|
-
|
5
|
-
# Licensed under the Apache License, Version 2.0 (the "License");
|
6
|
-
# you may not use this file except in compliance with the License.
|
7
|
-
# You may obtain a copy of the License at
|
8
|
-
#
|
9
|
-
# http://www.apache.org/licenses/LICENSE-2.0
|
10
|
-
#
|
11
|
-
# Unless required by applicable law or agreed to in writing, software
|
12
|
-
# distributed under the License is distributed on an "AS IS" BASIS,
|
13
|
-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
14
|
-
# See the License for the specific language governing permissions and
|
15
|
-
# limitations under the License.
|
16
|
-
|
17
|
-
org_argv = ARGV.dup
|
18
|
-
ARGV.clear
|
19
|
-
|
20
|
-
$LOAD_PATH[0,0] = File.join(File.dirname(__FILE__), '..', 'lib')
|
21
|
-
|
3
|
+
$LOAD_PATH[0, 0] = File.join(File.dirname(__FILE__), '..', 'lib')
|
4
|
+
require 'pry'
|
22
5
|
require 'mongo'
|
23
|
-
include Mongo
|
24
6
|
|
25
|
-
|
26
|
-
|
27
|
-
dbnm = org_argv[2] || ENV['MONGO_RUBY_DRIVER_DB'] || 'ruby-mongo-console'
|
28
|
-
|
29
|
-
puts "Connecting to #{host}:#{port} (CLIENT) on with database #{dbnm} (DB)"
|
30
|
-
CLIENT = MongoClient.new(host, port)
|
31
|
-
DB = CLIENT.db(dbnm)
|
32
|
-
|
33
|
-
# try pry if available, fall back to irb
|
34
|
-
begin
|
35
|
-
require 'pry'
|
36
|
-
CONSOLE_CLASS = Pry
|
37
|
-
rescue LoadError
|
38
|
-
require 'irb'
|
39
|
-
CONSOLE_CLASS = IRB
|
40
|
-
end
|
7
|
+
# include the mongo namespace
|
8
|
+
include Mongo
|
41
9
|
|
42
|
-
|
43
|
-
|
10
|
+
Pry.config.prompt_name = 'mongo'
|
11
|
+
Pry.start
|
data/lib/mongo.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright (C)
|
1
|
+
# Copyright (C) 2014-2015 MongoDB, Inc.
|
2
2
|
#
|
3
3
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
4
4
|
# you may not use this file except in compliance with the License.
|
@@ -12,87 +12,28 @@
|
|
12
12
|
# See the License for the specific language governing permissions and
|
13
13
|
# limitations under the License.
|
14
14
|
|
15
|
-
|
16
|
-
ASCENDING = 1
|
17
|
-
DESCENDING = -1
|
18
|
-
GEO2D = '2d'
|
19
|
-
GEO2DSPHERE = '2dsphere'
|
20
|
-
GEOHAYSTACK = 'geoHaystack'
|
21
|
-
TEXT = 'text'
|
22
|
-
HASHED = 'hashed'
|
23
|
-
|
24
|
-
INDEX_TYPES = {
|
25
|
-
'ASCENDING' => ASCENDING,
|
26
|
-
'DESCENDING' => DESCENDING,
|
27
|
-
'GEO2D' => GEO2D,
|
28
|
-
'GEO2DSPHERE' => GEO2DSPHERE,
|
29
|
-
'GEOHAYSTACK' => GEOHAYSTACK,
|
30
|
-
'TEXT' => TEXT,
|
31
|
-
'HASHED' => HASHED
|
32
|
-
}
|
33
|
-
|
34
|
-
DEFAULT_MAX_BSON_SIZE = 4 * 1024 * 1024
|
35
|
-
MESSAGE_SIZE_FACTOR = 2
|
36
|
-
|
37
|
-
module Constants
|
38
|
-
OP_REPLY = 1
|
39
|
-
OP_MSG = 1000
|
40
|
-
OP_UPDATE = 2001
|
41
|
-
OP_INSERT = 2002
|
42
|
-
OP_QUERY = 2004
|
43
|
-
OP_GET_MORE = 2005
|
44
|
-
OP_DELETE = 2006
|
45
|
-
OP_KILL_CURSORS = 2007
|
46
|
-
|
47
|
-
OP_QUERY_TAILABLE = 2 ** 1
|
48
|
-
OP_QUERY_SLAVE_OK = 2 ** 2
|
49
|
-
OP_QUERY_OPLOG_REPLAY = 2 ** 3
|
50
|
-
OP_QUERY_NO_CURSOR_TIMEOUT = 2 ** 4
|
51
|
-
OP_QUERY_AWAIT_DATA = 2 ** 5
|
52
|
-
OP_QUERY_EXHAUST = 2 ** 6
|
53
|
-
OP_QUERY_PARTIAL = 2 ** 7
|
54
|
-
|
55
|
-
REPLY_CURSOR_NOT_FOUND = 2 ** 0
|
56
|
-
REPLY_QUERY_FAILURE = 2 ** 1
|
57
|
-
REPLY_SHARD_CONFIG_STALE = 2 ** 2
|
58
|
-
REPLY_AWAIT_CAPABLE = 2 ** 3
|
59
|
-
end
|
60
|
-
|
61
|
-
module ErrorCode # MongoDB Core Server src/mongo/base/error_codes.err
|
62
|
-
BAD_VALUE = 2
|
63
|
-
UNKNOWN_ERROR = 8
|
64
|
-
INVALID_BSON = 22
|
65
|
-
WRITE_CONCERN_FAILED = 64
|
66
|
-
MULTIPLE_ERRORS_OCCURRED = 65
|
67
|
-
UNAUTHORIZED = 13
|
68
|
-
|
69
|
-
# mongod/s 2.6 and above return code 59 when a command doesn't exist.
|
70
|
-
# mongod versions previous to 2.6 and mongos 2.4.x return no error code
|
71
|
-
# when a command does exist.
|
72
|
-
# mongos versions previous to 2.4.0 return code 13390 when a command
|
73
|
-
# does not exist.
|
74
|
-
COMMAND_NOT_FOUND_CODES = [nil, 59, 13390]
|
75
|
-
end
|
76
|
-
end
|
77
|
-
|
15
|
+
require 'forwardable'
|
78
16
|
require 'bson'
|
79
|
-
|
80
|
-
require '
|
81
|
-
require '
|
82
|
-
require '
|
83
|
-
|
84
|
-
require 'mongo/
|
85
|
-
require 'mongo/
|
86
|
-
require 'mongo/
|
87
|
-
require 'mongo/
|
88
|
-
require 'mongo/
|
17
|
+
require 'openssl'
|
18
|
+
require 'mongo/loggable'
|
19
|
+
require 'mongo/logger'
|
20
|
+
require 'mongo/error'
|
21
|
+
require 'mongo/event'
|
22
|
+
require 'mongo/address'
|
23
|
+
require 'mongo/auth'
|
24
|
+
require 'mongo/bulk'
|
25
|
+
require 'mongo/client'
|
26
|
+
require 'mongo/cluster'
|
89
27
|
require 'mongo/collection'
|
90
|
-
require 'mongo/bulk_write_collection_view'
|
91
28
|
require 'mongo/cursor'
|
92
|
-
require 'mongo/
|
93
|
-
require 'mongo/
|
94
|
-
require 'mongo/
|
95
|
-
require 'mongo/
|
96
|
-
require 'mongo/
|
97
|
-
require 'mongo/
|
98
|
-
require 'mongo/
|
29
|
+
require 'mongo/database'
|
30
|
+
require 'mongo/grid'
|
31
|
+
require 'mongo/index'
|
32
|
+
require 'mongo/operation'
|
33
|
+
require 'mongo/protocol'
|
34
|
+
require 'mongo/server'
|
35
|
+
require 'mongo/server_selector'
|
36
|
+
require 'mongo/socket'
|
37
|
+
require 'mongo/uri'
|
38
|
+
require 'mongo/version'
|
39
|
+
require 'mongo/write_concern'
|