mongoid 7.3.2 → 7.4.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.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data/CHANGELOG.md +17 -17
- data/README.md +2 -2
- data/lib/config/locales/en.yml +30 -16
- data/lib/mongoid/association/accessors.rb +0 -27
- data/lib/mongoid/association/bindable.rb +0 -21
- data/lib/mongoid/association/builders.rb +0 -9
- data/lib/mongoid/association/constrainable.rb +0 -3
- data/lib/mongoid/association/depending.rb +0 -7
- data/lib/mongoid/association/eager_loadable.rb +0 -3
- data/lib/mongoid/association/embedded/batchable.rb +11 -39
- data/lib/mongoid/association/embedded/cyclic.rb +2 -11
- data/lib/mongoid/association/embedded/embedded_in/binding.rb +0 -7
- data/lib/mongoid/association/embedded/embedded_in/buildable.rb +0 -3
- data/lib/mongoid/association/embedded/embedded_in/proxy.rb +0 -13
- data/lib/mongoid/association/embedded/embedded_in.rb +0 -23
- data/lib/mongoid/association/embedded/embeds_many/binding.rb +0 -7
- data/lib/mongoid/association/embedded/embeds_many/buildable.rb +0 -3
- data/lib/mongoid/association/embedded/embeds_many/proxy.rb +31 -44
- data/lib/mongoid/association/embedded/embeds_many.rb +0 -31
- data/lib/mongoid/association/embedded/embeds_one/binding.rb +0 -7
- data/lib/mongoid/association/embedded/embeds_one/buildable.rb +0 -3
- data/lib/mongoid/association/embedded/embeds_one/proxy.rb +26 -14
- data/lib/mongoid/association/embedded/embeds_one.rb +0 -27
- data/lib/mongoid/association/embedded.rb +0 -1
- data/lib/mongoid/association/macros.rb +6 -5
- data/lib/mongoid/association/many.rb +0 -17
- data/lib/mongoid/association/marshalable.rb +0 -5
- data/lib/mongoid/association/nested/many.rb +0 -11
- data/lib/mongoid/association/nested/nested_buildable.rb +0 -9
- data/lib/mongoid/association/nested/one.rb +1 -16
- data/lib/mongoid/association/nested.rb +0 -3
- data/lib/mongoid/association/one.rb +1 -10
- data/lib/mongoid/association/options.rb +0 -33
- data/lib/mongoid/association/proxy.rb +0 -21
- data/lib/mongoid/association/referenced/auto_save.rb +0 -9
- data/lib/mongoid/association/referenced/belongs_to/binding.rb +0 -7
- data/lib/mongoid/association/referenced/belongs_to/buildable.rb +4 -5
- data/lib/mongoid/association/referenced/belongs_to/eager.rb +0 -1
- data/lib/mongoid/association/referenced/belongs_to/proxy.rb +0 -13
- data/lib/mongoid/association/referenced/belongs_to.rb +9 -34
- data/lib/mongoid/association/referenced/counter_cache.rb +2 -15
- data/lib/mongoid/association/referenced/eager.rb +3 -24
- data/lib/mongoid/association/referenced/has_and_belongs_to_many/binding.rb +0 -5
- data/lib/mongoid/association/referenced/has_and_belongs_to_many/buildable.rb +0 -3
- data/lib/mongoid/association/referenced/has_and_belongs_to_many/eager.rb +0 -1
- data/lib/mongoid/association/referenced/has_and_belongs_to_many/proxy.rb +12 -39
- data/lib/mongoid/association/referenced/has_and_belongs_to_many.rb +11 -38
- data/lib/mongoid/association/referenced/has_many/binding.rb +0 -5
- data/lib/mongoid/association/referenced/has_many/buildable.rb +0 -3
- data/lib/mongoid/association/referenced/has_many/eager.rb +0 -1
- data/lib/mongoid/association/referenced/has_many/enumerable.rb +11 -63
- data/lib/mongoid/association/referenced/has_many/proxy.rb +18 -61
- data/lib/mongoid/association/referenced/has_many.rb +12 -39
- data/lib/mongoid/association/referenced/has_one/binding.rb +0 -7
- data/lib/mongoid/association/referenced/has_one/buildable.rb +3 -4
- data/lib/mongoid/association/referenced/has_one/eager.rb +0 -1
- data/lib/mongoid/association/referenced/has_one/nested_builder.rb +0 -15
- data/lib/mongoid/association/referenced/has_one/proxy.rb +0 -9
- data/lib/mongoid/association/referenced/has_one.rb +9 -32
- data/lib/mongoid/association/referenced/syncable.rb +0 -17
- data/lib/mongoid/association/referenced.rb +0 -1
- data/lib/mongoid/association/reflections.rb +0 -1
- data/lib/mongoid/association/relatable.rb +2 -61
- data/lib/mongoid/association.rb +0 -17
- data/lib/mongoid/atomic/modifiers.rb +4 -51
- data/lib/mongoid/atomic/paths/embedded/many.rb +0 -5
- data/lib/mongoid/atomic/paths/embedded/one.rb +0 -5
- data/lib/mongoid/atomic/paths/embedded.rb +0 -3
- data/lib/mongoid/atomic/paths/root.rb +0 -5
- data/lib/mongoid/atomic/paths.rb +0 -1
- data/lib/mongoid/atomic.rb +27 -44
- data/lib/mongoid/attributes/dynamic.rb +0 -17
- data/lib/mongoid/attributes/nested.rb +0 -5
- data/lib/mongoid/attributes/processing.rb +1 -18
- data/lib/mongoid/attributes/projector.rb +0 -1
- data/lib/mongoid/attributes/readonly.rb +0 -5
- data/lib/mongoid/attributes.rb +0 -33
- data/lib/mongoid/cacheable.rb +1 -6
- data/lib/mongoid/changeable.rb +3 -59
- data/lib/mongoid/clients/factory.rb +0 -7
- data/lib/mongoid/clients/options.rb +0 -5
- data/lib/mongoid/clients/sessions.rb +0 -7
- data/lib/mongoid/clients/storage_options.rb +0 -7
- data/lib/mongoid/clients/validators/storage.rb +0 -9
- data/lib/mongoid/clients/validators.rb +0 -1
- data/lib/mongoid/clients.rb +0 -9
- data/lib/mongoid/composable.rb +0 -7
- data/lib/mongoid/config/environment.rb +13 -6
- data/lib/mongoid/config/options.rb +0 -11
- data/lib/mongoid/config/validators/client.rb +0 -17
- data/lib/mongoid/config/validators/option.rb +0 -3
- data/lib/mongoid/config/validators.rb +0 -1
- data/lib/mongoid/config.rb +37 -29
- data/lib/mongoid/contextual/aggregable/memory.rb +14 -11
- data/lib/mongoid/contextual/aggregable/mongo.rb +15 -20
- data/lib/mongoid/contextual/aggregable/none.rb +65 -0
- data/lib/mongoid/contextual/aggregable.rb +17 -0
- data/lib/mongoid/contextual/atomic.rb +7 -27
- data/lib/mongoid/contextual/command.rb +0 -5
- data/lib/mongoid/contextual/geo_near.rb +1 -34
- data/lib/mongoid/contextual/map_reduce.rb +0 -31
- data/lib/mongoid/contextual/memory.rb +4 -59
- data/lib/mongoid/contextual/mongo.rb +132 -78
- data/lib/mongoid/contextual/none.rb +42 -28
- data/lib/mongoid/contextual/queryable.rb +0 -3
- data/lib/mongoid/contextual.rb +0 -5
- data/lib/mongoid/copyable.rb +0 -5
- data/lib/mongoid/criteria/findable.rb +0 -13
- data/lib/mongoid/criteria/includable.rb +0 -9
- data/lib/mongoid/criteria/inspectable.rb +0 -3
- data/lib/mongoid/criteria/marshalable.rb +0 -5
- data/lib/mongoid/criteria/modifiable.rb +0 -19
- data/lib/mongoid/criteria/options.rb +0 -3
- data/lib/mongoid/criteria/permission.rb +0 -1
- data/lib/mongoid/criteria/queryable/aggregable.rb +0 -13
- data/lib/mongoid/criteria/queryable/expandable.rb +0 -1
- data/lib/mongoid/criteria/queryable/extensions/array.rb +1 -26
- data/lib/mongoid/criteria/queryable/extensions/big_decimal.rb +0 -3
- data/lib/mongoid/criteria/queryable/extensions/boolean.rb +0 -3
- data/lib/mongoid/criteria/queryable/extensions/date.rb +0 -7
- data/lib/mongoid/criteria/queryable/extensions/date_time.rb +0 -5
- data/lib/mongoid/criteria/queryable/extensions/hash.rb +0 -25
- data/lib/mongoid/criteria/queryable/extensions/nil_class.rb +0 -13
- data/lib/mongoid/criteria/queryable/extensions/numeric.rb +0 -11
- data/lib/mongoid/criteria/queryable/extensions/object.rb +1 -28
- data/lib/mongoid/criteria/queryable/extensions/range.rb +38 -16
- data/lib/mongoid/criteria/queryable/extensions/regexp.rb +0 -9
- data/lib/mongoid/criteria/queryable/extensions/set.rb +0 -3
- data/lib/mongoid/criteria/queryable/extensions/string.rb +0 -17
- data/lib/mongoid/criteria/queryable/extensions/symbol.rb +0 -9
- data/lib/mongoid/criteria/queryable/extensions/time.rb +0 -7
- data/lib/mongoid/criteria/queryable/extensions/time_with_zone.rb +0 -7
- data/lib/mongoid/criteria/queryable/extensions.rb +0 -1
- data/lib/mongoid/criteria/queryable/key.rb +1 -14
- data/lib/mongoid/criteria/queryable/macroable.rb +0 -3
- data/lib/mongoid/criteria/queryable/mergeable.rb +1 -30
- data/lib/mongoid/criteria/queryable/optional.rb +0 -45
- data/lib/mongoid/criteria/queryable/options.rb +0 -19
- data/lib/mongoid/criteria/queryable/pipeline.rb +0 -13
- data/lib/mongoid/criteria/queryable/selectable.rb +22 -69
- data/lib/mongoid/criteria/queryable/selector.rb +0 -17
- data/lib/mongoid/criteria/queryable/smash.rb +0 -11
- data/lib/mongoid/criteria/queryable/storable.rb +11 -7
- data/lib/mongoid/criteria/queryable.rb +0 -7
- data/lib/mongoid/criteria/scopable.rb +25 -19
- data/lib/mongoid/criteria.rb +0 -57
- data/lib/mongoid/document.rb +3 -53
- data/lib/mongoid/equality.rb +26 -10
- data/lib/mongoid/errors/ambiguous_relationship.rb +2 -5
- data/lib/mongoid/errors/callback.rb +0 -3
- data/lib/mongoid/errors/criteria_argument_required.rb +0 -1
- data/lib/mongoid/errors/delete_restriction.rb +0 -3
- data/lib/mongoid/errors/document_not_destroyed.rb +2 -7
- data/lib/mongoid/errors/document_not_found.rb +0 -9
- data/lib/mongoid/errors/eager_load.rb +0 -3
- data/lib/mongoid/errors/empty_config_file.rb +25 -0
- data/lib/mongoid/errors/in_memory_collation_not_supported.rb +0 -3
- data/lib/mongoid/errors/invalid_collection.rb +0 -1
- data/lib/mongoid/errors/invalid_config_file.rb +25 -0
- data/lib/mongoid/errors/invalid_config_option.rb +0 -3
- data/lib/mongoid/errors/invalid_dependent_strategy.rb +0 -3
- data/lib/mongoid/errors/invalid_discriminator_key_target.rb +0 -1
- data/lib/mongoid/errors/invalid_elem_match_operator.rb +0 -1
- data/lib/mongoid/errors/invalid_estimated_count_criteria.rb +0 -1
- data/lib/mongoid/errors/invalid_expression_operator.rb +0 -1
- data/lib/mongoid/errors/invalid_field.rb +0 -5
- data/lib/mongoid/errors/invalid_field_operator.rb +0 -1
- data/lib/mongoid/errors/invalid_field_option.rb +0 -3
- data/lib/mongoid/errors/invalid_find.rb +0 -3
- data/lib/mongoid/errors/invalid_includes.rb +0 -3
- data/lib/mongoid/errors/invalid_index.rb +0 -3
- data/lib/mongoid/errors/invalid_options.rb +0 -3
- data/lib/mongoid/errors/invalid_path.rb +0 -3
- data/lib/mongoid/errors/invalid_persistence_option.rb +0 -5
- data/lib/mongoid/errors/invalid_query.rb +0 -1
- data/lib/mongoid/errors/invalid_relation.rb +0 -7
- data/lib/mongoid/errors/invalid_relation_option.rb +0 -3
- data/lib/mongoid/errors/invalid_scope.rb +0 -3
- data/lib/mongoid/errors/invalid_session_use.rb +1 -6
- data/lib/mongoid/errors/invalid_set_polymorphic_relation.rb +0 -1
- data/lib/mongoid/errors/invalid_storage_options.rb +0 -3
- data/lib/mongoid/errors/invalid_storage_parent.rb +0 -3
- data/lib/mongoid/errors/invalid_time.rb +0 -3
- data/lib/mongoid/errors/invalid_value.rb +0 -1
- data/lib/mongoid/errors/inverse_not_found.rb +0 -3
- data/lib/mongoid/errors/mixed_client_configuration.rb +0 -3
- data/lib/mongoid/errors/mixed_relations.rb +0 -3
- data/lib/mongoid/errors/mongoid_error.rb +0 -9
- data/lib/mongoid/errors/nested_attributes_metadata_not_found.rb +0 -3
- data/lib/mongoid/errors/no_client_config.rb +0 -3
- data/lib/mongoid/errors/no_client_database.rb +0 -3
- data/lib/mongoid/errors/no_client_hosts.rb +0 -3
- data/lib/mongoid/errors/no_clients_config.rb +0 -3
- data/lib/mongoid/errors/no_default_client.rb +0 -3
- data/lib/mongoid/errors/no_environment.rb +0 -3
- data/lib/mongoid/errors/no_map_reduce_output.rb +0 -3
- data/lib/mongoid/errors/no_metadata.rb +0 -3
- data/lib/mongoid/errors/no_parent.rb +0 -3
- data/lib/mongoid/errors/readonly_attribute.rb +0 -3
- data/lib/mongoid/errors/readonly_document.rb +1 -6
- data/lib/mongoid/errors/scope_overwrite.rb +0 -1
- data/lib/mongoid/errors/too_many_nested_attribute_records.rb +0 -1
- data/lib/mongoid/errors/unknown_attribute.rb +0 -3
- data/lib/mongoid/errors/unknown_model.rb +0 -3
- data/lib/mongoid/errors/unsaved_document.rb +1 -2
- data/lib/mongoid/errors/unsupported_javascript.rb +0 -3
- data/lib/mongoid/errors/validations.rb +0 -1
- data/lib/mongoid/errors.rb +2 -1
- data/lib/mongoid/evolvable.rb +0 -3
- data/lib/mongoid/extensions/array.rb +3 -29
- data/lib/mongoid/extensions/big_decimal.rb +0 -11
- data/lib/mongoid/extensions/boolean.rb +0 -3
- data/lib/mongoid/extensions/date.rb +0 -9
- data/lib/mongoid/extensions/date_time.rb +0 -9
- data/lib/mongoid/extensions/decimal128.rb +0 -5
- data/lib/mongoid/extensions/false_class.rb +1 -6
- data/lib/mongoid/extensions/float.rb +0 -7
- data/lib/mongoid/extensions/hash.rb +0 -27
- data/lib/mongoid/extensions/integer.rb +0 -9
- data/lib/mongoid/extensions/module.rb +0 -3
- data/lib/mongoid/extensions/nil_class.rb +0 -5
- data/lib/mongoid/extensions/object.rb +1 -40
- data/lib/mongoid/extensions/object_id.rb +0 -7
- data/lib/mongoid/extensions/range.rb +0 -11
- data/lib/mongoid/extensions/regexp.rb +0 -3
- data/lib/mongoid/extensions/set.rb +0 -7
- data/lib/mongoid/extensions/string.rb +1 -30
- data/lib/mongoid/extensions/symbol.rb +0 -7
- data/lib/mongoid/extensions/time.rb +0 -11
- data/lib/mongoid/extensions/time_with_zone.rb +13 -9
- data/lib/mongoid/extensions/true_class.rb +1 -6
- data/lib/mongoid/extensions.rb +15 -3
- data/lib/mongoid/factory.rb +1 -2
- data/lib/mongoid/fields/foreign_key.rb +0 -21
- data/lib/mongoid/fields/localized.rb +0 -11
- data/lib/mongoid/fields/standard.rb +0 -33
- data/lib/mongoid/fields/validators/macro.rb +0 -9
- data/lib/mongoid/fields/validators.rb +0 -1
- data/lib/mongoid/fields.rb +64 -57
- data/lib/mongoid/findable.rb +0 -5
- data/lib/mongoid/indexable/specification.rb +0 -15
- data/lib/mongoid/indexable/validators/options.rb +0 -7
- data/lib/mongoid/indexable.rb +1 -18
- data/lib/mongoid/inspectable.rb +1 -10
- data/lib/mongoid/interceptable.rb +0 -25
- data/lib/mongoid/loggable.rb +0 -9
- data/lib/mongoid/matchable.rb +0 -5
- data/lib/mongoid/matcher/eq_impl.rb +37 -2
- data/lib/mongoid/matcher/eq_impl_with_regexp.rb +6 -1
- data/lib/mongoid/persistable/creatable.rb +1 -20
- data/lib/mongoid/persistable/deletable.rb +0 -17
- data/lib/mongoid/persistable/destroyable.rb +0 -7
- data/lib/mongoid/persistable/incrementable.rb +0 -5
- data/lib/mongoid/persistable/logical.rb +0 -5
- data/lib/mongoid/persistable/poppable.rb +0 -5
- data/lib/mongoid/persistable/pullable.rb +0 -7
- data/lib/mongoid/persistable/pushable.rb +0 -7
- data/lib/mongoid/persistable/renamable.rb +0 -5
- data/lib/mongoid/persistable/savable.rb +0 -7
- data/lib/mongoid/persistable/settable.rb +0 -5
- data/lib/mongoid/persistable/unsettable.rb +0 -5
- data/lib/mongoid/persistable/updatable.rb +2 -17
- data/lib/mongoid/persistable/upsertable.rb +0 -7
- data/lib/mongoid/persistable.rb +0 -23
- data/lib/mongoid/persistence_context.rb +3 -28
- data/lib/mongoid/positional.rb +0 -5
- data/lib/mongoid/query_cache.rb +11 -34
- data/lib/mongoid/railtie.rb +0 -15
- data/lib/mongoid/railties/controller_runtime.rb +0 -1
- data/lib/mongoid/reloadable.rb +4 -16
- data/lib/mongoid/scopable.rb +6 -34
- data/lib/mongoid/selectable.rb +0 -9
- data/lib/mongoid/serializable.rb +0 -15
- data/lib/mongoid/shardable.rb +0 -7
- data/lib/mongoid/stateful.rb +0 -9
- data/lib/mongoid/stringified_symbol.rb +2 -3
- data/lib/mongoid/tasks/database.rb +1 -6
- data/lib/mongoid/threaded/lifecycle.rb +0 -21
- data/lib/mongoid/threaded.rb +0 -55
- data/lib/mongoid/timestamps/created/short.rb +0 -1
- data/lib/mongoid/timestamps/created.rb +0 -1
- data/lib/mongoid/timestamps/short.rb +0 -1
- data/lib/mongoid/timestamps/timeless.rb +0 -7
- data/lib/mongoid/timestamps/updated/short.rb +0 -1
- data/lib/mongoid/timestamps/updated.rb +0 -3
- data/lib/mongoid/timestamps.rb +0 -1
- data/lib/mongoid/touchable.rb +10 -7
- data/lib/mongoid/traversable.rb +64 -53
- data/lib/mongoid/validatable/associated.rb +0 -3
- data/lib/mongoid/validatable/format.rb +0 -1
- data/lib/mongoid/validatable/length.rb +0 -1
- data/lib/mongoid/validatable/localizable.rb +0 -3
- data/lib/mongoid/validatable/macros.rb +0 -7
- data/lib/mongoid/validatable/presence.rb +1 -8
- data/lib/mongoid/validatable/queryable.rb +0 -3
- data/lib/mongoid/validatable/uniqueness.rb +15 -30
- data/lib/mongoid/validatable.rb +1 -22
- data/lib/mongoid/version.rb +1 -2
- data/lib/mongoid.rb +0 -15
- data/lib/rails/generators/mongoid/config/config_generator.rb +0 -1
- data/lib/rails/generators/mongoid/model/model_generator.rb +0 -1
- data/lib/rails/generators/mongoid_generator.rb +0 -1
- data/lib/rails/mongoid.rb +0 -3
- data/spec/integration/app_spec.rb +0 -1
- data/spec/integration/associations/belongs_to_spec.rb +0 -1
- data/spec/integration/associations/embedded_dirty_spec.rb +29 -0
- data/spec/integration/associations/embedded_spec.rb +0 -1
- data/spec/integration/associations/embeds_many_spec.rb +139 -1
- data/spec/integration/associations/embeds_one_spec.rb +0 -1
- data/spec/integration/associations/foreign_key_spec.rb +0 -1
- data/spec/integration/associations/foreign_key_spec_models.rb +0 -1
- data/spec/integration/associations/has_many_spec.rb +0 -1
- data/spec/integration/associations/has_one_spec.rb +0 -1
- data/spec/integration/associations/nested_attributes_assignment_spec.rb +0 -1
- data/spec/integration/associations/reverse_population_spec.rb +0 -1
- data/spec/integration/associations/reverse_population_spec_models.rb +0 -1
- data/spec/integration/associations/scope_option_spec.rb +101 -0
- data/spec/integration/atomic/modifiers_spec.rb +0 -1
- data/spec/integration/bson_regexp_raw_spec.rb +0 -1
- data/spec/integration/callbacks_models.rb +12 -0
- data/spec/integration/callbacks_spec.rb +18 -6
- data/spec/integration/contextual/empty_spec.rb +141 -0
- data/spec/integration/criteria/alias_query_spec.rb +161 -0
- data/spec/integration/criteria/date_field_spec.rb +0 -1
- data/spec/integration/criteria/default_scope_spec.rb +51 -0
- data/spec/integration/criteria/logical_spec.rb +30 -0
- data/spec/integration/criteria/range_spec.rb +265 -0
- data/spec/integration/criteria/time_with_zone_spec.rb +125 -15
- data/spec/integration/discriminator_key_spec.rb +0 -1
- data/spec/integration/discriminator_value_spec.rb +0 -1
- data/spec/integration/document_spec.rb +0 -1
- data/spec/integration/i18n_fallbacks_spec.rb +0 -1
- data/spec/integration/matcher_examples_spec.rb +0 -1
- data/spec/integration/matcher_operator_spec.rb +27 -3
- data/spec/integration/matcher_spec.rb +95 -1
- data/spec/integration/server_query_spec.rb +0 -1
- data/spec/integration/shardable_spec.rb +0 -1
- data/spec/integration/stringified_symbol_field_spec.rb +16 -3
- data/spec/lite_spec_helper.rb +8 -2
- data/spec/mongoid/association/accessors_spec.rb +44 -15
- data/spec/mongoid/association/auto_save_spec.rb +72 -34
- data/spec/mongoid/association/builders_spec.rb +1 -2
- data/spec/mongoid/association/constrainable_spec.rb +0 -1
- data/spec/mongoid/association/counter_cache_spec.rb +32 -33
- data/spec/mongoid/association/depending_spec.rb +12 -13
- data/spec/mongoid/association/eager_spec.rb +4 -5
- data/spec/mongoid/association/embedded/cyclic_spec.rb +2 -3
- data/spec/mongoid/association/embedded/dirty_spec.rb +2 -3
- data/spec/mongoid/association/embedded/embedded_in/binding_spec.rb +0 -1
- data/spec/mongoid/association/embedded/embedded_in/buildable_spec.rb +0 -1
- data/spec/mongoid/association/embedded/embedded_in/proxy_spec.rb +13 -14
- data/spec/mongoid/association/embedded/embedded_in_spec.rb +0 -1
- data/spec/mongoid/association/embedded/embeds_many/binding_spec.rb +0 -1
- data/spec/mongoid/association/embedded/embeds_many/buildable_spec.rb +0 -1
- data/spec/mongoid/association/embedded/embeds_many/proxy_spec.rb +384 -135
- data/spec/mongoid/association/embedded/embeds_many_models.rb +16 -1
- data/spec/mongoid/association/embedded/embeds_many_query_spec.rb +0 -1
- data/spec/mongoid/association/embedded/embeds_many_spec.rb +0 -1
- data/spec/mongoid/association/embedded/embeds_one/binding_spec.rb +0 -1
- data/spec/mongoid/association/embedded/embeds_one/buildable_spec.rb +0 -1
- data/spec/mongoid/association/embedded/embeds_one/proxy_spec.rb +21 -22
- data/spec/mongoid/association/embedded/embeds_one_dnl_models.rb +0 -1
- data/spec/mongoid/association/embedded/embeds_one_models.rb +0 -1
- data/spec/mongoid/association/embedded/embeds_one_query_spec.rb +0 -1
- data/spec/mongoid/association/embedded/embeds_one_spec.rb +0 -1
- data/spec/mongoid/association/macros_spec.rb +9 -10
- data/spec/mongoid/association/nested/many_spec.rb +0 -1
- data/spec/mongoid/association/nested/one_spec.rb +0 -1
- data/spec/mongoid/association/options_spec.rb +0 -1
- data/spec/mongoid/association/polymorphic_spec.rb +0 -1
- data/spec/mongoid/association/referenced/belongs_to/binding_spec.rb +0 -1
- data/spec/mongoid/association/referenced/belongs_to/buildable_spec.rb +55 -17
- data/spec/mongoid/association/referenced/belongs_to/eager_spec.rb +50 -15
- data/spec/mongoid/association/referenced/belongs_to/proxy_spec.rb +57 -53
- data/spec/mongoid/association/referenced/belongs_to_query_spec.rb +20 -1
- data/spec/mongoid/association/referenced/belongs_to_spec.rb +22 -2
- data/spec/mongoid/association/referenced/has_and_belongs_to_many/binding_spec.rb +0 -1
- data/spec/mongoid/association/referenced/has_and_belongs_to_many/buildable_spec.rb +26 -2
- data/spec/mongoid/association/referenced/has_and_belongs_to_many/eager_spec.rb +31 -3
- data/spec/mongoid/association/referenced/has_and_belongs_to_many/proxy_persistence_spec.rb +0 -1
- data/spec/mongoid/association/referenced/has_and_belongs_to_many/proxy_spec.rb +179 -154
- data/spec/mongoid/association/referenced/has_and_belongs_to_many_models.rb +18 -1
- data/spec/mongoid/association/referenced/has_and_belongs_to_many_query_spec.rb +0 -1
- data/spec/mongoid/association/referenced/has_and_belongs_to_many_spec.rb +21 -1
- data/spec/mongoid/association/referenced/has_many/binding_spec.rb +0 -1
- data/spec/mongoid/association/referenced/has_many/buildable_spec.rb +21 -1
- data/spec/mongoid/association/referenced/has_many/eager_spec.rb +23 -7
- data/spec/mongoid/association/referenced/has_many/enumerable_spec.rb +303 -125
- data/spec/mongoid/association/referenced/has_many/proxy_query_spec.rb +0 -1
- data/spec/mongoid/association/referenced/has_many/proxy_spec.rb +227 -164
- data/spec/mongoid/association/referenced/has_many_models.rb +35 -1
- data/spec/mongoid/association/referenced/has_many_query_spec.rb +0 -1
- data/spec/mongoid/association/referenced/has_many_spec.rb +21 -1
- data/spec/mongoid/association/referenced/has_one/binding_spec.rb +0 -1
- data/spec/mongoid/association/referenced/has_one/buildable_spec.rb +51 -8
- data/spec/mongoid/association/referenced/has_one/eager_spec.rb +17 -2
- data/spec/mongoid/association/referenced/has_one/proxy_spec.rb +26 -27
- data/spec/mongoid/association/referenced/has_one_models.rb +18 -1
- data/spec/mongoid/association/referenced/has_one_query_spec.rb +0 -1
- data/spec/mongoid/association/referenced/has_one_spec.rb +21 -1
- data/spec/mongoid/association/reflections_spec.rb +0 -1
- data/spec/mongoid/association/syncable_spec.rb +31 -32
- data/spec/mongoid/association_spec.rb +0 -1
- data/spec/mongoid/atomic/modifiers_spec.rb +0 -1
- data/spec/mongoid/atomic/paths/embedded/many_spec.rb +0 -1
- data/spec/mongoid/atomic/paths/embedded/one_spec.rb +0 -1
- data/spec/mongoid/atomic/paths/root_spec.rb +0 -1
- data/spec/mongoid/atomic/paths_spec.rb +0 -1
- data/spec/mongoid/atomic_spec.rb +6 -7
- data/spec/mongoid/attributes/dynamic_spec.rb +0 -1
- data/spec/mongoid/attributes/nested_spec.rb +66 -67
- data/spec/mongoid/attributes/projector_spec.rb +5 -2
- data/spec/mongoid/attributes/readonly_spec.rb +22 -23
- data/spec/mongoid/attributes_spec.rb +32 -33
- data/spec/mongoid/cacheable_spec.rb +1 -2
- data/spec/mongoid/changeable_spec.rb +35 -36
- data/spec/mongoid/clients/factory_spec.rb +9 -4
- data/spec/mongoid/clients/options_spec.rb +15 -10
- data/spec/mongoid/clients/sessions_spec.rb +22 -23
- data/spec/mongoid/clients/transactions_spec.rb +49 -27
- data/spec/mongoid/clients_spec.rb +6 -7
- data/spec/mongoid/composable_spec.rb +0 -1
- data/spec/mongoid/config/environment_spec.rb +86 -9
- data/spec/mongoid/config/options_spec.rb +0 -1
- data/spec/mongoid/config_spec.rb +194 -17
- data/spec/mongoid/contextual/aggregable/memory_spec.rb +51 -12
- data/spec/mongoid/contextual/aggregable/mongo_spec.rb +120 -21
- data/spec/mongoid/contextual/aggregable/none_spec.rb +60 -0
- data/spec/mongoid/contextual/atomic_spec.rb +109 -71
- data/spec/mongoid/contextual/geo_near_spec.rb +18 -19
- data/spec/mongoid/contextual/map_reduce_spec.rb +2 -3
- data/spec/mongoid/contextual/memory_spec.rb +23 -24
- data/spec/mongoid/contextual/mongo_spec.rb +339 -77
- data/spec/mongoid/contextual/none_spec.rb +7 -82
- data/spec/mongoid/copyable_spec.rb +11 -12
- data/spec/mongoid/copyable_spec_models.rb +0 -1
- data/spec/mongoid/criteria/findable_spec.rb +23 -24
- data/spec/mongoid/criteria/inspectable_spec.rb +0 -1
- data/spec/mongoid/criteria/marshalable_spec.rb +0 -1
- data/spec/mongoid/criteria/modifiable_spec.rb +36 -37
- data/spec/mongoid/criteria/options_spec.rb +0 -1
- data/spec/mongoid/criteria/queryable/aggregable_spec.rb +1 -2
- data/spec/mongoid/criteria/queryable/expandable_spec.rb +0 -1
- data/spec/mongoid/criteria/queryable/extensions/array_spec.rb +0 -1
- data/spec/mongoid/criteria/queryable/extensions/big_decimal_spec.rb +0 -1
- data/spec/mongoid/criteria/queryable/extensions/bignum_spec.rb +0 -1
- data/spec/mongoid/criteria/queryable/extensions/boolean_spec.rb +0 -1
- data/spec/mongoid/criteria/queryable/extensions/date_spec.rb +0 -1
- data/spec/mongoid/criteria/queryable/extensions/date_time_spec.rb +0 -1
- data/spec/mongoid/criteria/queryable/extensions/fixnum_spec.rb +0 -1
- data/spec/mongoid/criteria/queryable/extensions/float_spec.rb +0 -1
- data/spec/mongoid/criteria/queryable/extensions/hash_spec.rb +0 -1
- data/spec/mongoid/criteria/queryable/extensions/integer_spec.rb +0 -1
- data/spec/mongoid/criteria/queryable/extensions/nil_class_spec.rb +0 -1
- data/spec/mongoid/criteria/queryable/extensions/numeric_spec.rb +0 -1
- data/spec/mongoid/criteria/queryable/extensions/object_spec.rb +0 -1
- data/spec/mongoid/criteria/queryable/extensions/range_spec.rb +237 -179
- data/spec/mongoid/criteria/queryable/extensions/regexp_raw_spec.rb +0 -1
- data/spec/mongoid/criteria/queryable/extensions/regexp_spec.rb +0 -1
- data/spec/mongoid/criteria/queryable/extensions/set_spec.rb +0 -1
- data/spec/mongoid/criteria/queryable/extensions/string_spec.rb +0 -1
- data/spec/mongoid/criteria/queryable/extensions/symbol_spec.rb +0 -1
- data/spec/mongoid/criteria/queryable/extensions/time_spec.rb +0 -1
- data/spec/mongoid/criteria/queryable/extensions/time_with_zone_spec.rb +0 -1
- data/spec/mongoid/criteria/queryable/key_spec.rb +0 -1
- data/spec/mongoid/criteria/queryable/mergeable_spec.rb +0 -1
- data/spec/mongoid/criteria/queryable/optional_spec.rb +1 -2
- data/spec/mongoid/criteria/queryable/options_spec.rb +0 -1
- data/spec/mongoid/criteria/queryable/pipeline_spec.rb +0 -1
- data/spec/mongoid/criteria/queryable/queryable_spec.rb +1 -2
- data/spec/mongoid/criteria/queryable/selectable_logical_spec.rb +0 -1
- data/spec/mongoid/criteria/queryable/selectable_shared_examples.rb +0 -1
- data/spec/mongoid/criteria/queryable/selectable_spec.rb +15 -16
- data/spec/mongoid/criteria/queryable/selectable_where_spec.rb +0 -1
- data/spec/mongoid/criteria/queryable/selector_spec.rb +0 -1
- data/spec/mongoid/criteria/queryable/smash_spec.rb +0 -1
- data/spec/mongoid/criteria/queryable/storable_spec.rb +37 -1
- data/spec/mongoid/criteria/scopable_spec.rb +127 -1
- data/spec/mongoid/criteria_projection_spec.rb +3 -4
- data/spec/mongoid/criteria_spec.rb +546 -186
- data/spec/mongoid/document_fields_spec.rb +0 -1
- data/spec/mongoid/document_persistence_context_spec.rb +0 -1
- data/spec/mongoid/document_query_spec.rb +0 -1
- data/spec/mongoid/document_spec.rb +32 -34
- data/spec/mongoid/equality_spec.rb +142 -41
- data/spec/mongoid/errors/ambiguous_relationship_spec.rb +0 -1
- data/spec/mongoid/errors/callback_spec.rb +0 -1
- data/spec/mongoid/errors/delete_restriction_spec.rb +0 -1
- data/spec/mongoid/errors/document_not_destroyed_spec.rb +0 -1
- data/spec/mongoid/errors/document_not_found_spec.rb +0 -1
- data/spec/mongoid/errors/eager_load_spec.rb +0 -1
- data/spec/mongoid/errors/invalid_collection_spec.rb +0 -1
- data/spec/mongoid/errors/invalid_config_file_spec.rb +31 -0
- data/spec/mongoid/errors/invalid_config_option_spec.rb +0 -1
- data/spec/mongoid/errors/invalid_field_option_spec.rb +0 -1
- data/spec/mongoid/errors/invalid_field_spec.rb +0 -1
- data/spec/mongoid/errors/invalid_find_spec.rb +0 -1
- data/spec/mongoid/errors/invalid_includes_spec.rb +0 -1
- data/spec/mongoid/errors/invalid_index_spec.rb +0 -1
- data/spec/mongoid/errors/invalid_options_spec.rb +0 -1
- data/spec/mongoid/errors/invalid_path_spec.rb +0 -1
- data/spec/mongoid/errors/invalid_relation_spec.rb +0 -1
- data/spec/mongoid/errors/invalid_scope_spec.rb +1 -2
- data/spec/mongoid/errors/invalid_set_polymorphic_relation_spec.rb +0 -1
- data/spec/mongoid/errors/invalid_storage_options_spec.rb +0 -1
- data/spec/mongoid/errors/invalid_time_spec.rb +0 -1
- data/spec/mongoid/errors/inverse_not_found_spec.rb +0 -1
- data/spec/mongoid/errors/mixed_client_configuration_spec.rb +0 -1
- data/spec/mongoid/errors/mixed_relations_spec.rb +0 -1
- data/spec/mongoid/errors/mongoid_error_spec.rb +0 -1
- data/spec/mongoid/errors/nested_attributes_metadata_not_found_spec.rb +0 -1
- data/spec/mongoid/errors/no_client_config_spec.rb +0 -1
- data/spec/mongoid/errors/no_client_database_spec.rb +0 -1
- data/spec/mongoid/errors/no_client_hosts_spec.rb +0 -1
- data/spec/mongoid/errors/no_clients_config_spec.rb +0 -1
- data/spec/mongoid/errors/no_environment_spec.rb +0 -1
- data/spec/mongoid/errors/no_map_reduce_output_spec.rb +0 -1
- data/spec/mongoid/errors/no_metadata_spec.rb +0 -1
- data/spec/mongoid/errors/no_parent_spec.rb +0 -1
- data/spec/mongoid/errors/readonly_attribute_spec.rb +0 -1
- data/spec/mongoid/errors/readonly_document_spec.rb +0 -1
- data/spec/mongoid/errors/scope_overwrite_spec.rb +0 -1
- data/spec/mongoid/errors/too_many_nested_attribute_records_spec.rb +0 -1
- data/spec/mongoid/errors/unknown_attribute_spec.rb +2 -3
- data/spec/mongoid/errors/unsaved_document_spec.rb +0 -1
- data/spec/mongoid/errors/unsupported_javascript_spec.rb +0 -1
- data/spec/mongoid/errors/validations_spec.rb +0 -1
- data/spec/mongoid/extensions/array_spec.rb +0 -1
- data/spec/mongoid/extensions/big_decimal_spec.rb +0 -1
- data/spec/mongoid/extensions/binary_spec.rb +0 -1
- data/spec/mongoid/extensions/boolean_spec.rb +0 -1
- data/spec/mongoid/extensions/date_class_mongoize_spec.rb +0 -1
- data/spec/mongoid/extensions/date_spec.rb +0 -1
- data/spec/mongoid/extensions/date_time_spec.rb +0 -1
- data/spec/mongoid/extensions/decimal128_spec.rb +0 -1
- data/spec/mongoid/extensions/false_class_spec.rb +0 -1
- data/spec/mongoid/extensions/float_spec.rb +0 -1
- data/spec/mongoid/extensions/hash_spec.rb +0 -1
- data/spec/mongoid/extensions/integer_spec.rb +0 -1
- data/spec/mongoid/extensions/module_spec.rb +0 -1
- data/spec/mongoid/extensions/nil_class_spec.rb +0 -1
- data/spec/mongoid/extensions/object_id_spec.rb +0 -1
- data/spec/mongoid/extensions/object_spec.rb +0 -1
- data/spec/mongoid/extensions/range_spec.rb +0 -1
- data/spec/mongoid/extensions/regexp_spec.rb +0 -1
- data/spec/mongoid/extensions/set_spec.rb +0 -1
- data/spec/mongoid/extensions/string_spec.rb +2 -3
- data/spec/mongoid/extensions/stringified_symbol_spec.rb +0 -1
- data/spec/mongoid/extensions/symbol_spec.rb +0 -1
- data/spec/mongoid/extensions/time_spec.rb +0 -1
- data/spec/mongoid/extensions/time_with_zone_spec.rb +0 -1
- data/spec/mongoid/extensions/true_class_spec.rb +0 -1
- data/spec/mongoid/extensions_spec.rb +14 -3
- data/spec/mongoid/factory_spec.rb +1 -1
- data/spec/mongoid/fields/foreign_key_spec.rb +0 -1
- data/spec/mongoid/fields/localized_spec.rb +0 -1
- data/spec/mongoid/fields/standard_spec.rb +0 -1
- data/spec/mongoid/fields_spec.rb +326 -31
- data/spec/mongoid/findable_spec.rb +21 -22
- data/spec/mongoid/indexable/specification_spec.rb +0 -1
- data/spec/mongoid/indexable_spec.rb +0 -1
- data/spec/mongoid/inspectable_spec.rb +0 -1
- data/spec/mongoid/interceptable_spec.rb +102 -95
- data/spec/mongoid/loggable_spec.rb +0 -1
- data/spec/mongoid/matcher/extract_attribute_spec.rb +5 -2
- data/spec/mongoid/persistable/creatable_spec.rb +2 -3
- data/spec/mongoid/persistable/deletable_spec.rb +18 -19
- data/spec/mongoid/persistable/destroyable_spec.rb +8 -9
- data/spec/mongoid/persistable/incrementable_spec.rb +8 -9
- data/spec/mongoid/persistable/logical_spec.rb +4 -5
- data/spec/mongoid/persistable/poppable_spec.rb +4 -5
- data/spec/mongoid/persistable/pullable_spec.rb +8 -9
- data/spec/mongoid/persistable/pushable_spec.rb +8 -9
- data/spec/mongoid/persistable/renamable_spec.rb +3 -4
- data/spec/mongoid/persistable/savable_spec.rb +15 -11
- data/spec/mongoid/persistable/settable_spec.rb +9 -10
- data/spec/mongoid/persistable/unsettable_spec.rb +4 -5
- data/spec/mongoid/persistable/updatable_spec.rb +43 -24
- data/spec/mongoid/persistable/upsertable_spec.rb +1 -2
- data/spec/mongoid/persistable_spec.rb +1 -2
- data/spec/mongoid/persistence_context_spec.rb +0 -1
- data/spec/mongoid/positional_spec.rb +0 -1
- data/spec/mongoid/query_cache_middleware_spec.rb +1 -2
- data/spec/mongoid/query_cache_spec.rb +56 -10
- data/spec/mongoid/relations/proxy_spec.rb +6 -7
- data/spec/mongoid/reloadable_spec.rb +209 -23
- data/spec/mongoid/scopable_spec.rb +65 -22
- data/spec/mongoid/selectable_spec.rb +6 -7
- data/spec/mongoid/serializable_spec.rb +9 -10
- data/spec/mongoid/shardable_spec.rb +2 -3
- data/spec/mongoid/stateful_spec.rb +1 -2
- data/spec/mongoid/tasks/database_rake_spec.rb +0 -1
- data/spec/mongoid/tasks/database_spec.rb +0 -1
- data/spec/mongoid/threaded_spec.rb +2 -3
- data/spec/mongoid/timestamps/created/short_spec.rb +1 -2
- data/spec/mongoid/timestamps/created_spec.rb +1 -2
- data/spec/mongoid/timestamps/timeless_spec.rb +2 -3
- data/spec/mongoid/timestamps/updated/short_spec.rb +3 -4
- data/spec/mongoid/timestamps/updated_spec.rb +3 -4
- data/spec/mongoid/timestamps_spec.rb +6 -7
- data/spec/mongoid/touchable_spec.rb +33 -20
- data/spec/mongoid/touchable_spec_models.rb +2 -1
- data/spec/mongoid/traversable_spec.rb +65 -2
- data/spec/mongoid/validatable/associated_spec.rb +0 -1
- data/spec/mongoid/validatable/format_spec.rb +0 -1
- data/spec/mongoid/validatable/length_spec.rb +0 -1
- data/spec/mongoid/validatable/numericality_spec.rb +0 -1
- data/spec/mongoid/validatable/presence_spec.rb +26 -23
- data/spec/mongoid/validatable/uniqueness_spec.rb +67 -68
- data/spec/mongoid/validatable_spec.rb +2 -3
- data/spec/mongoid_spec.rb +0 -1
- data/spec/rails/controller_extension/controller_runtime_spec.rb +0 -1
- data/spec/rails/mongoid_spec.rb +0 -1
- data/spec/shared/lib/mrss/cluster_config.rb +6 -1
- data/spec/shared/lib/mrss/constraints.rb +23 -5
- data/spec/shared/lib/mrss/docker_runner.rb +1 -1
- data/spec/shared/lib/mrss/event_subscriber.rb +200 -0
- data/spec/shared/lib/mrss/lite_constraints.rb +8 -0
- data/spec/shared/lib/mrss/server_version_registry.rb +17 -12
- data/spec/shared/lib/mrss/session_registry.rb +69 -0
- data/spec/shared/lib/mrss/session_registry_legacy.rb +60 -0
- data/spec/shared/share/Dockerfile.erb +27 -10
- data/spec/shared/shlib/distro.sh +2 -1
- data/spec/shared/shlib/server.sh +85 -23
- data/spec/shared/shlib/set_env.sh +6 -5
- data/spec/spec_helper.rb +12 -22
- data/spec/support/authorization.rb +0 -1
- data/spec/support/constraints.rb +0 -1
- data/spec/support/expectations.rb +0 -1
- data/spec/support/macros.rb +22 -1
- data/spec/support/models/account.rb +1 -2
- data/spec/support/models/acolyte.rb +0 -1
- data/spec/support/models/actor.rb +0 -1
- data/spec/support/models/actress.rb +0 -1
- data/spec/support/models/address.rb +0 -1
- data/spec/support/models/address_component.rb +0 -1
- data/spec/support/models/address_number.rb +0 -1
- data/spec/support/models/agency.rb +0 -1
- data/spec/support/models/agent.rb +0 -1
- data/spec/support/models/album.rb +0 -1
- data/spec/support/models/alert.rb +0 -1
- data/spec/support/models/animal.rb +0 -1
- data/spec/support/models/answer.rb +0 -1
- data/spec/support/models/appointment.rb +0 -1
- data/spec/support/models/armrest.rb +0 -1
- data/spec/support/models/array_field.rb +0 -1
- data/spec/support/models/article.rb +0 -1
- data/spec/support/models/artist.rb +2 -1
- data/spec/support/models/artwork.rb +0 -1
- data/spec/support/models/audible_sound.rb +3 -0
- data/spec/support/models/audio.rb +0 -1
- data/spec/support/models/augmentation.rb +0 -1
- data/spec/support/models/author.rb +0 -1
- data/spec/support/models/baby.rb +0 -1
- data/spec/support/models/band.rb +4 -1
- data/spec/support/models/bar.rb +0 -1
- data/spec/support/models/basic.rb +0 -1
- data/spec/support/models/bed.rb +0 -1
- data/spec/support/models/big_palette.rb +0 -1
- data/spec/support/models/birthday.rb +0 -1
- data/spec/support/models/bolt.rb +0 -1
- data/spec/support/models/bomb.rb +0 -1
- data/spec/support/models/book.rb +0 -1
- data/spec/support/models/breed.rb +0 -1
- data/spec/support/models/browser.rb +0 -1
- data/spec/support/models/building.rb +0 -1
- data/spec/support/models/building_address.rb +0 -1
- data/spec/support/models/bus.rb +0 -1
- data/spec/support/models/business.rb +0 -1
- data/spec/support/models/callback_test.rb +0 -1
- data/spec/support/models/canvas.rb +0 -1
- data/spec/support/models/car.rb +0 -1
- data/spec/support/models/cat.rb +0 -1
- data/spec/support/models/category.rb +0 -1
- data/spec/support/models/child.rb +0 -1
- data/spec/support/models/child_doc.rb +3 -4
- data/spec/support/models/church.rb +0 -1
- data/spec/support/models/circle.rb +0 -1
- data/spec/support/models/circuit.rb +0 -1
- data/spec/support/models/circus.rb +0 -1
- data/spec/support/models/code.rb +0 -1
- data/spec/support/models/coding/pull_request.rb +0 -1
- data/spec/support/models/coding.rb +0 -1
- data/spec/support/models/comment.rb +0 -1
- data/spec/support/models/company.rb +0 -1
- data/spec/support/models/consumption_period.rb +0 -1
- data/spec/support/models/contextable_item.rb +0 -1
- data/spec/support/models/contractor.rb +0 -1
- data/spec/support/models/cookie.rb +0 -1
- data/spec/support/models/country_code.rb +2 -1
- data/spec/support/models/courier_job.rb +0 -1
- data/spec/support/models/crate.rb +0 -1
- data/spec/support/models/customer.rb +0 -1
- data/spec/support/models/customer_address.rb +0 -1
- data/spec/support/models/deed.rb +0 -1
- data/spec/support/models/definition.rb +0 -1
- data/spec/support/models/delegating_patient.rb +0 -1
- data/spec/support/models/description.rb +0 -1
- data/spec/support/models/dictionary.rb +0 -1
- data/spec/support/models/division.rb +0 -1
- data/spec/support/models/doctor.rb +0 -1
- data/spec/support/models/dog.rb +0 -1
- data/spec/support/models/dokument.rb +0 -1
- data/spec/support/models/draft.rb +0 -1
- data/spec/support/models/dragon.rb +0 -1
- data/spec/support/models/driver.rb +0 -1
- data/spec/support/models/drug.rb +0 -1
- data/spec/support/models/dungeon.rb +0 -1
- data/spec/support/models/edit.rb +0 -1
- data/spec/support/models/email.rb +0 -1
- data/spec/support/models/employer.rb +0 -1
- data/spec/support/models/entry.rb +0 -1
- data/spec/support/models/eraser.rb +0 -1
- data/spec/support/models/even.rb +0 -1
- data/spec/support/models/event.rb +0 -1
- data/spec/support/models/exhibition.rb +0 -1
- data/spec/support/models/exhibitor.rb +0 -1
- data/spec/support/models/explosion.rb +0 -1
- data/spec/support/models/eye.rb +0 -1
- data/spec/support/models/eye_bowl.rb +0 -1
- data/spec/support/models/face.rb +0 -1
- data/spec/support/models/favorite.rb +0 -1
- data/spec/support/models/filesystem.rb +0 -1
- data/spec/support/models/fire_hydrant.rb +0 -1
- data/spec/support/models/firefox.rb +0 -1
- data/spec/support/models/fish.rb +0 -1
- data/spec/support/models/folder.rb +0 -1
- data/spec/support/models/folder_item.rb +0 -1
- data/spec/support/models/fruits.rb +0 -1
- data/spec/support/models/game.rb +0 -1
- data/spec/support/models/ghost.rb +0 -1
- data/spec/support/models/guitar.rb +0 -1
- data/spec/support/models/hole.rb +0 -1
- data/spec/support/models/home.rb +0 -1
- data/spec/support/models/house.rb +0 -1
- data/spec/support/models/html_writer.rb +0 -1
- data/spec/support/models/id_key.rb +0 -1
- data/spec/support/models/idnodef.rb +0 -1
- data/spec/support/models/image.rb +0 -1
- data/spec/support/models/implant.rb +0 -1
- data/spec/support/models/instrument.rb +0 -1
- data/spec/support/models/item.rb +0 -1
- data/spec/support/models/jar.rb +0 -1
- data/spec/support/models/kaleidoscope.rb +0 -1
- data/spec/support/models/kangaroo.rb +0 -1
- data/spec/support/models/label.rb +2 -2
- data/spec/support/models/language.rb +0 -1
- data/spec/support/models/lat_lng.rb +0 -1
- data/spec/support/models/league.rb +0 -1
- data/spec/support/models/learner.rb +0 -1
- data/spec/support/models/line_item.rb +0 -1
- data/spec/support/models/location.rb +0 -1
- data/spec/support/models/login.rb +0 -1
- data/spec/support/models/manufacturer.rb +0 -1
- data/spec/support/models/meat.rb +0 -1
- data/spec/support/models/membership.rb +0 -1
- data/spec/support/models/message.rb +0 -1
- data/spec/support/models/minim.rb +0 -1
- data/spec/support/models/mixed_drink.rb +0 -1
- data/spec/support/models/mop.rb +0 -1
- data/spec/support/models/movie.rb +0 -1
- data/spec/support/models/my_hash.rb +0 -1
- data/spec/support/models/name.rb +0 -1
- data/spec/support/models/name_only.rb +0 -1
- data/spec/support/models/node.rb +0 -1
- data/spec/support/models/note.rb +0 -1
- data/spec/support/models/nut.rb +0 -1
- data/spec/support/models/odd.rb +0 -1
- data/spec/support/models/order.rb +2 -1
- data/spec/support/models/ordered_post.rb +1 -2
- data/spec/support/models/ordered_preference.rb +0 -1
- data/spec/support/models/oscar.rb +0 -1
- data/spec/support/models/other_owner_object.rb +0 -1
- data/spec/support/models/override.rb +0 -1
- data/spec/support/models/ownable.rb +0 -1
- data/spec/support/models/owner.rb +0 -1
- data/spec/support/models/pack.rb +0 -1
- data/spec/support/models/page.rb +0 -1
- data/spec/support/models/page_question.rb +0 -1
- data/spec/support/models/palette.rb +0 -1
- data/spec/support/models/parent.rb +0 -1
- data/spec/support/models/parent_doc.rb +0 -1
- data/spec/support/models/passport.rb +5 -1
- data/spec/support/models/patient.rb +0 -1
- data/spec/support/models/pdf_writer.rb +0 -1
- data/spec/support/models/pencil.rb +0 -1
- data/spec/support/models/person.rb +1 -1
- data/spec/support/models/pet.rb +0 -1
- data/spec/support/models/pet_owner.rb +0 -1
- data/spec/support/models/phone.rb +2 -2
- data/spec/support/models/piano.rb +0 -1
- data/spec/support/models/pizza.rb +0 -1
- data/spec/support/models/player.rb +0 -1
- data/spec/support/models/post.rb +0 -1
- data/spec/support/models/post_genre.rb +0 -1
- data/spec/support/models/powerup.rb +0 -1
- data/spec/support/models/preference.rb +0 -1
- data/spec/support/models/princess.rb +0 -1
- data/spec/support/models/product.rb +0 -1
- data/spec/support/models/profile.rb +0 -1
- data/spec/support/models/pronunciation.rb +0 -1
- data/spec/support/models/pub.rb +0 -1
- data/spec/support/models/publication/encyclopedia.rb +0 -1
- data/spec/support/models/publication/review.rb +0 -1
- data/spec/support/models/publication.rb +0 -1
- data/spec/support/models/purchase.rb +0 -1
- data/spec/support/models/purchased_item.rb +10 -0
- data/spec/support/models/question.rb +0 -1
- data/spec/support/models/quiz.rb +0 -1
- data/spec/support/models/rating.rb +0 -1
- data/spec/support/models/record.rb +0 -1
- data/spec/support/models/registry.rb +0 -1
- data/spec/support/models/role.rb +0 -1
- data/spec/support/models/root_category.rb +0 -1
- data/spec/support/models/sandwich.rb +0 -1
- data/spec/support/models/scheduler.rb +0 -1
- data/spec/support/models/scribe.rb +0 -1
- data/spec/support/models/sealer.rb +0 -1
- data/spec/support/models/seat.rb +0 -1
- data/spec/support/models/seo.rb +0 -1
- data/spec/support/models/series.rb +0 -1
- data/spec/support/models/server.rb +0 -1
- data/spec/support/models/service.rb +0 -1
- data/spec/support/models/shape.rb +0 -1
- data/spec/support/models/shelf.rb +0 -1
- data/spec/support/models/shipment_address.rb +0 -1
- data/spec/support/models/shipping_container.rb +0 -1
- data/spec/support/models/shipping_pack.rb +0 -1
- data/spec/support/models/shirt.rb +0 -1
- data/spec/support/models/shop.rb +0 -1
- data/spec/support/models/short_agent.rb +0 -1
- data/spec/support/models/short_quiz.rb +0 -1
- data/spec/support/models/simple.rb +0 -1
- data/spec/support/models/slave.rb +0 -1
- data/spec/support/models/song.rb +0 -1
- data/spec/support/models/sound.rb +0 -1
- data/spec/support/models/spacer.rb +0 -1
- data/spec/support/models/square.rb +0 -1
- data/spec/support/models/staff.rb +0 -1
- data/spec/support/models/store_as_dup_test1.rb +0 -1
- data/spec/support/models/store_as_dup_test2.rb +0 -1
- data/spec/support/models/store_as_dup_test3.rb +0 -1
- data/spec/support/models/store_as_dup_test4.rb +0 -1
- data/spec/support/models/strategy.rb +0 -1
- data/spec/support/models/sub_item.rb +0 -1
- data/spec/support/models/subscription.rb +0 -1
- data/spec/support/models/survey.rb +0 -1
- data/spec/support/models/symptom.rb +0 -1
- data/spec/support/models/tag.rb +0 -1
- data/spec/support/models/target.rb +0 -1
- data/spec/support/models/template.rb +0 -1
- data/spec/support/models/thing.rb +0 -1
- data/spec/support/models/threadlocker.rb +0 -1
- data/spec/support/models/title.rb +0 -1
- data/spec/support/models/tool.rb +0 -1
- data/spec/support/models/topping.rb +0 -1
- data/spec/support/models/toy.rb +0 -1
- data/spec/support/models/track.rb +0 -1
- data/spec/support/models/translation.rb +0 -1
- data/spec/support/models/tree.rb +0 -1
- data/spec/support/models/truck.rb +0 -1
- data/spec/support/models/updatable.rb +0 -1
- data/spec/support/models/user.rb +0 -1
- data/spec/support/models/user_account.rb +0 -1
- data/spec/support/models/validation_callback.rb +0 -1
- data/spec/support/models/vehicle.rb +0 -1
- data/spec/support/models/version.rb +0 -1
- data/spec/support/models/vertex.rb +0 -1
- data/spec/support/models/vet_visit.rb +0 -1
- data/spec/support/models/video.rb +0 -1
- data/spec/support/models/video_game.rb +0 -1
- data/spec/support/models/washer.rb +0 -1
- data/spec/support/models/weapon.rb +0 -1
- data/spec/support/models/wiki_page.rb +0 -1
- data/spec/support/models/word.rb +0 -1
- data/spec/support/models/word_origin.rb +0 -1
- data/spec/support/models/writer.rb +0 -1
- data/spec/support/shared/time.rb +0 -1
- data/spec/support/spec_config.rb +3 -1
- data.tar.gz.sig +0 -0
- metadata +642 -610
- metadata.gz.sig +0 -0
- data/lib/support/ruby_version.rb +0 -29
- data/spec/support/session_registry.rb +0 -50
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
|
-
# encoding: utf-8
|
|
3
2
|
|
|
4
3
|
require "spec_helper"
|
|
5
4
|
|
|
@@ -21,7 +20,7 @@ describe Mongoid::Attributes do
|
|
|
21
20
|
context "when the attribute was excluded in a criteria" do
|
|
22
21
|
|
|
23
22
|
let!(:person) do
|
|
24
|
-
Person.create(title: "sir")
|
|
23
|
+
Person.create!(title: "sir")
|
|
25
24
|
end
|
|
26
25
|
|
|
27
26
|
context "when the attribute is localized" do
|
|
@@ -56,7 +55,7 @@ describe Mongoid::Attributes do
|
|
|
56
55
|
let!(:agent) do
|
|
57
56
|
agent = Agent.new(:title => title)
|
|
58
57
|
agent.build_address(:city => city)
|
|
59
|
-
agent.save()
|
|
58
|
+
agent.save!()
|
|
60
59
|
agent
|
|
61
60
|
end
|
|
62
61
|
let(:from_db) do
|
|
@@ -199,7 +198,7 @@ describe Mongoid::Attributes do
|
|
|
199
198
|
context 'when the document has a custom attribute type' do
|
|
200
199
|
|
|
201
200
|
let(:bar) do
|
|
202
|
-
Bar.create(lat_lng: LatLng.new(52.30, 13.25))
|
|
201
|
+
Bar.create!(lat_lng: LatLng.new(52.30, 13.25))
|
|
203
202
|
end
|
|
204
203
|
|
|
205
204
|
it 'returns the demongoized version of the attribute' do
|
|
@@ -256,7 +255,7 @@ describe Mongoid::Attributes do
|
|
|
256
255
|
context "when the document is an existing record" do
|
|
257
256
|
|
|
258
257
|
let!(:person) do
|
|
259
|
-
Person.create(title: "sir")
|
|
258
|
+
Person.create!(title: "sir")
|
|
260
259
|
end
|
|
261
260
|
|
|
262
261
|
context "when the attribute was excluded in a criteria" do
|
|
@@ -330,7 +329,7 @@ describe Mongoid::Attributes do
|
|
|
330
329
|
|
|
331
330
|
context 'when projecting with #only' do
|
|
332
331
|
let!(:person) do
|
|
333
|
-
Person.create(title: 'sir', name: { first_name: 'Jose', language: { name: 'es' } })
|
|
332
|
+
Person.create!(title: 'sir', name: { first_name: 'Jose', language: { name: 'es' } })
|
|
334
333
|
end
|
|
335
334
|
|
|
336
335
|
context 'when projecting an embedded association' do
|
|
@@ -415,7 +414,7 @@ describe Mongoid::Attributes do
|
|
|
415
414
|
let(:bar) do
|
|
416
415
|
Bar.new.tap do |b|
|
|
417
416
|
b[:lat_lng] = LatLng.new(52.30, 13.25)
|
|
418
|
-
b.save
|
|
417
|
+
b.save!
|
|
419
418
|
end
|
|
420
419
|
end
|
|
421
420
|
|
|
@@ -476,7 +475,7 @@ describe Mongoid::Attributes do
|
|
|
476
475
|
context 'when writing fields on a document with projection' do
|
|
477
476
|
|
|
478
477
|
let!(:person) do
|
|
479
|
-
Person.create(title: "sir")
|
|
478
|
+
Person.create!(title: "sir")
|
|
480
479
|
end
|
|
481
480
|
|
|
482
481
|
context "when excluding with only and the field was not excluded" do
|
|
@@ -988,7 +987,7 @@ describe Mongoid::Attributes do
|
|
|
988
987
|
context 'when the document has a custom attribute type' do
|
|
989
988
|
|
|
990
989
|
let(:bar) do
|
|
991
|
-
Bar.create(lat_lng: LatLng.new(52.30, 13.25))
|
|
990
|
+
Bar.create!(lat_lng: LatLng.new(52.30, 13.25))
|
|
992
991
|
end
|
|
993
992
|
|
|
994
993
|
it 'returns the demongoized version of the attribute' do
|
|
@@ -1026,7 +1025,7 @@ describe Mongoid::Attributes do
|
|
|
1026
1025
|
context "when the document is an existing record" do
|
|
1027
1026
|
|
|
1028
1027
|
let(:person) do
|
|
1029
|
-
Person.create
|
|
1028
|
+
Person.create!
|
|
1030
1029
|
end
|
|
1031
1030
|
|
|
1032
1031
|
context "when the attribute does not exist" do
|
|
@@ -1065,7 +1064,7 @@ describe Mongoid::Attributes do
|
|
|
1065
1064
|
describe "#read_attribute_before_type_cast" do
|
|
1066
1065
|
|
|
1067
1066
|
let(:person) do
|
|
1068
|
-
Person.create
|
|
1067
|
+
Person.create!
|
|
1069
1068
|
end
|
|
1070
1069
|
|
|
1071
1070
|
context "when the attribute has not yet been assigned" do
|
|
@@ -1086,7 +1085,7 @@ describe Mongoid::Attributes do
|
|
|
1086
1085
|
context 'when reading fields on a document with projection' do
|
|
1087
1086
|
|
|
1088
1087
|
let!(:person) do
|
|
1089
|
-
Person.create(title: "sir")
|
|
1088
|
+
Person.create!(title: "sir")
|
|
1090
1089
|
end
|
|
1091
1090
|
|
|
1092
1091
|
context "when excluding with only and the field was not excluded" do
|
|
@@ -1157,7 +1156,7 @@ describe Mongoid::Attributes do
|
|
|
1157
1156
|
context "when the document is an existing record" do
|
|
1158
1157
|
|
|
1159
1158
|
let(:person) do
|
|
1160
|
-
Person.create
|
|
1159
|
+
Person.create!
|
|
1161
1160
|
end
|
|
1162
1161
|
|
|
1163
1162
|
context "when the attribute does not exist" do
|
|
@@ -1216,7 +1215,7 @@ describe Mongoid::Attributes do
|
|
|
1216
1215
|
|
|
1217
1216
|
context "when the attribute is not on only list" do
|
|
1218
1217
|
|
|
1219
|
-
before { Person.create }
|
|
1218
|
+
before { Person.create! }
|
|
1220
1219
|
let(:person) do
|
|
1221
1220
|
Person.only(:id).first
|
|
1222
1221
|
end
|
|
@@ -1285,7 +1284,7 @@ describe Mongoid::Attributes do
|
|
|
1285
1284
|
context "when the attribute exists" do
|
|
1286
1285
|
|
|
1287
1286
|
let(:person) do
|
|
1288
|
-
Person.create(title: "Sir")
|
|
1287
|
+
Person.create!(title: "Sir")
|
|
1289
1288
|
end
|
|
1290
1289
|
|
|
1291
1290
|
before do
|
|
@@ -1303,7 +1302,7 @@ describe Mongoid::Attributes do
|
|
|
1303
1302
|
context "when saving after the removal" do
|
|
1304
1303
|
|
|
1305
1304
|
before do
|
|
1306
|
-
person.save
|
|
1305
|
+
person.save!
|
|
1307
1306
|
end
|
|
1308
1307
|
|
|
1309
1308
|
it "persists the removal" do
|
|
@@ -1323,7 +1322,7 @@ describe Mongoid::Attributes do
|
|
|
1323
1322
|
end
|
|
1324
1323
|
|
|
1325
1324
|
before do
|
|
1326
|
-
person.save
|
|
1325
|
+
person.save!
|
|
1327
1326
|
person.pet.remove_attribute(:name)
|
|
1328
1327
|
end
|
|
1329
1328
|
|
|
@@ -1338,7 +1337,7 @@ describe Mongoid::Attributes do
|
|
|
1338
1337
|
context "when saving after the removal" do
|
|
1339
1338
|
|
|
1340
1339
|
before do
|
|
1341
|
-
person.save
|
|
1340
|
+
person.save!
|
|
1342
1341
|
end
|
|
1343
1342
|
|
|
1344
1343
|
it "persists the removal" do
|
|
@@ -1383,7 +1382,7 @@ describe Mongoid::Attributes do
|
|
|
1383
1382
|
context 'when the database name is used' do
|
|
1384
1383
|
|
|
1385
1384
|
let(:person) do
|
|
1386
|
-
Person.create(at: Time.now)
|
|
1385
|
+
Person.create!(at: Time.now)
|
|
1387
1386
|
end
|
|
1388
1387
|
|
|
1389
1388
|
before do
|
|
@@ -1401,7 +1400,7 @@ describe Mongoid::Attributes do
|
|
|
1401
1400
|
context "when saving after the removal" do
|
|
1402
1401
|
|
|
1403
1402
|
before do
|
|
1404
|
-
person.save
|
|
1403
|
+
person.save!
|
|
1405
1404
|
end
|
|
1406
1405
|
|
|
1407
1406
|
it "persists the removal" do
|
|
@@ -1413,7 +1412,7 @@ describe Mongoid::Attributes do
|
|
|
1413
1412
|
context 'when the alias is used' do
|
|
1414
1413
|
|
|
1415
1414
|
let(:person) do
|
|
1416
|
-
Person.create(aliased_timestamp: Time.now)
|
|
1415
|
+
Person.create!(aliased_timestamp: Time.now)
|
|
1417
1416
|
end
|
|
1418
1417
|
|
|
1419
1418
|
before do
|
|
@@ -1431,7 +1430,7 @@ describe Mongoid::Attributes do
|
|
|
1431
1430
|
context "when saving after the removal" do
|
|
1432
1431
|
|
|
1433
1432
|
before do
|
|
1434
|
-
person.save
|
|
1433
|
+
person.save!
|
|
1435
1434
|
end
|
|
1436
1435
|
|
|
1437
1436
|
it "persists the removal" do
|
|
@@ -1574,7 +1573,7 @@ describe Mongoid::Attributes do
|
|
|
1574
1573
|
person.write_attribute(:test, "aliased field to test")
|
|
1575
1574
|
end
|
|
1576
1575
|
|
|
1577
|
-
it "allows the field name to be
|
|
1576
|
+
it "allows the field name to be updated" do
|
|
1578
1577
|
expect(person.t).to eq("aliased field to test")
|
|
1579
1578
|
end
|
|
1580
1579
|
end
|
|
@@ -1635,7 +1634,7 @@ describe Mongoid::Attributes do
|
|
|
1635
1634
|
context 'when writing fields on a document with projection' do
|
|
1636
1635
|
|
|
1637
1636
|
let!(:person) do
|
|
1638
|
-
Person.create(title: "sir")
|
|
1637
|
+
Person.create!(title: "sir")
|
|
1639
1638
|
end
|
|
1640
1639
|
|
|
1641
1640
|
context "when excluding with only and the field was not excluded" do
|
|
@@ -2075,7 +2074,7 @@ describe Mongoid::Attributes do
|
|
|
2075
2074
|
context "when persisting nil attributes" do
|
|
2076
2075
|
|
|
2077
2076
|
let!(:person) do
|
|
2078
|
-
Person.create(score: nil)
|
|
2077
|
+
Person.create!(score: nil)
|
|
2079
2078
|
end
|
|
2080
2079
|
|
|
2081
2080
|
it "has an entry in the attributes" do
|
|
@@ -2090,7 +2089,7 @@ describe Mongoid::Attributes do
|
|
|
2090
2089
|
end
|
|
2091
2090
|
|
|
2092
2091
|
it "saves the default" do
|
|
2093
|
-
expect { person.save }.to_not raise_error
|
|
2092
|
+
expect { person.save! }.to_not raise_error
|
|
2094
2093
|
expect(person.last_drink_taken_at).to eq(1.day.ago.in_time_zone("Alaska").to_date)
|
|
2095
2094
|
end
|
|
2096
2095
|
end
|
|
@@ -2100,7 +2099,7 @@ describe Mongoid::Attributes do
|
|
|
2100
2099
|
context "when no value exists in the database" do
|
|
2101
2100
|
|
|
2102
2101
|
let(:person) do
|
|
2103
|
-
Person.create
|
|
2102
|
+
Person.create!
|
|
2104
2103
|
end
|
|
2105
2104
|
|
|
2106
2105
|
it "applies the default value" do
|
|
@@ -2113,7 +2112,7 @@ describe Mongoid::Attributes do
|
|
|
2113
2112
|
context "when the value is not nil" do
|
|
2114
2113
|
|
|
2115
2114
|
let!(:person) do
|
|
2116
|
-
Person.create(age: 50)
|
|
2115
|
+
Person.create!(age: 50)
|
|
2117
2116
|
end
|
|
2118
2117
|
|
|
2119
2118
|
let(:from_db) do
|
|
@@ -2128,7 +2127,7 @@ describe Mongoid::Attributes do
|
|
|
2128
2127
|
context "when the value is explicitly nil" do
|
|
2129
2128
|
|
|
2130
2129
|
let!(:person) do
|
|
2131
|
-
Person.create(age: nil)
|
|
2130
|
+
Person.create!(age: nil)
|
|
2132
2131
|
end
|
|
2133
2132
|
|
|
2134
2133
|
let(:from_db) do
|
|
@@ -2143,7 +2142,7 @@ describe Mongoid::Attributes do
|
|
|
2143
2142
|
context "when the default is a proc" do
|
|
2144
2143
|
|
|
2145
2144
|
let!(:account) do
|
|
2146
|
-
Account.create(name: "savings", balance:
|
|
2145
|
+
Account.create!(name: "savings", balance: 100)
|
|
2147
2146
|
end
|
|
2148
2147
|
|
|
2149
2148
|
let(:from_db) do
|
|
@@ -2161,7 +2160,7 @@ describe Mongoid::Attributes do
|
|
|
2161
2160
|
|
|
2162
2161
|
context 'when the attribute is blank' do
|
|
2163
2162
|
let(:person) do
|
|
2164
|
-
Person.create(title: '')
|
|
2163
|
+
Person.create!(title: '')
|
|
2165
2164
|
end
|
|
2166
2165
|
|
|
2167
2166
|
it 'returns false' do
|
|
@@ -2171,7 +2170,7 @@ describe Mongoid::Attributes do
|
|
|
2171
2170
|
|
|
2172
2171
|
context 'when the attribute is localized' do
|
|
2173
2172
|
let(:person) do
|
|
2174
|
-
Person.create
|
|
2173
|
+
Person.create!
|
|
2175
2174
|
end
|
|
2176
2175
|
|
|
2177
2176
|
context 'after initialization when the field is nil' do
|
|
@@ -2203,7 +2202,7 @@ describe Mongoid::Attributes do
|
|
|
2203
2202
|
|
|
2204
2203
|
context 'when the attribute is not localized' do
|
|
2205
2204
|
let(:person) do
|
|
2206
|
-
Person.create(username: 'localized')
|
|
2205
|
+
Person.create!(username: 'localized')
|
|
2207
2206
|
end
|
|
2208
2207
|
|
|
2209
2208
|
before do
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
|
-
# encoding: utf-8
|
|
3
2
|
|
|
4
3
|
require "spec_helper"
|
|
5
4
|
|
|
@@ -38,7 +37,7 @@ describe Mongoid::Cacheable do
|
|
|
38
37
|
context "when persisted" do
|
|
39
38
|
|
|
40
39
|
before do
|
|
41
|
-
document.save
|
|
40
|
+
document.save!
|
|
42
41
|
end
|
|
43
42
|
|
|
44
43
|
context "with updated_at" do
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
|
-
# encoding: utf-8
|
|
3
2
|
|
|
4
3
|
require "spec_helper"
|
|
5
4
|
|
|
@@ -698,7 +697,7 @@ describe Mongoid::Changeable do
|
|
|
698
697
|
context "when the document is embedded" do
|
|
699
698
|
|
|
700
699
|
let(:person) do
|
|
701
|
-
Person.create
|
|
700
|
+
Person.create!
|
|
702
701
|
end
|
|
703
702
|
|
|
704
703
|
let!(:name) do
|
|
@@ -740,7 +739,7 @@ describe Mongoid::Changeable do
|
|
|
740
739
|
context "when the field has not changed" do
|
|
741
740
|
|
|
742
741
|
let(:person) do
|
|
743
|
-
Person.create(map: { name: "value" })
|
|
742
|
+
Person.create!(map: { name: "value" })
|
|
744
743
|
end
|
|
745
744
|
|
|
746
745
|
before do
|
|
@@ -755,7 +754,7 @@ describe Mongoid::Changeable do
|
|
|
755
754
|
context "when the field is changed" do
|
|
756
755
|
|
|
757
756
|
let(:person) do
|
|
758
|
-
Person.create(map: { name: "value" })
|
|
757
|
+
Person.create!(map: { name: "value" })
|
|
759
758
|
end
|
|
760
759
|
|
|
761
760
|
before do
|
|
@@ -770,7 +769,7 @@ describe Mongoid::Changeable do
|
|
|
770
769
|
context "when a dynamic field is changed in place" do
|
|
771
770
|
|
|
772
771
|
let(:person) do
|
|
773
|
-
Person.create(other_name: { full: {first: 'first', last: 'last'} })
|
|
772
|
+
Person.create!(other_name: { full: {first: 'first', last: 'last'} })
|
|
774
773
|
end
|
|
775
774
|
|
|
776
775
|
before do
|
|
@@ -798,11 +797,11 @@ describe Mongoid::Changeable do
|
|
|
798
797
|
context "when a child has changed" do
|
|
799
798
|
|
|
800
799
|
let(:person) do
|
|
801
|
-
Person.create
|
|
800
|
+
Person.create!
|
|
802
801
|
end
|
|
803
802
|
|
|
804
803
|
let!(:address) do
|
|
805
|
-
person.addresses.create(street: "hobrecht")
|
|
804
|
+
person.addresses.create!(street: "hobrecht")
|
|
806
805
|
end
|
|
807
806
|
|
|
808
807
|
before do
|
|
@@ -817,15 +816,15 @@ describe Mongoid::Changeable do
|
|
|
817
816
|
context "when changed? has been called before child elements size change" do
|
|
818
817
|
|
|
819
818
|
let(:person) do
|
|
820
|
-
Person.create
|
|
819
|
+
Person.create!
|
|
821
820
|
end
|
|
822
821
|
|
|
823
822
|
let(:address) do
|
|
824
|
-
person.addresses.create(street: "hobrecht")
|
|
823
|
+
person.addresses.create!(street: "hobrecht")
|
|
825
824
|
end
|
|
826
825
|
|
|
827
826
|
let!(:location) do
|
|
828
|
-
address.locations.create(name: "home")
|
|
827
|
+
address.locations.create!(name: "home")
|
|
829
828
|
end
|
|
830
829
|
|
|
831
830
|
before do
|
|
@@ -857,7 +856,7 @@ describe Mongoid::Changeable do
|
|
|
857
856
|
context "when adding via create" do
|
|
858
857
|
|
|
859
858
|
before do
|
|
860
|
-
address.locations.create
|
|
859
|
+
address.locations.create!
|
|
861
860
|
end
|
|
862
861
|
|
|
863
862
|
it "returns false" do
|
|
@@ -869,15 +868,15 @@ describe Mongoid::Changeable do
|
|
|
869
868
|
context "when a deeply embedded child has changed" do
|
|
870
869
|
|
|
871
870
|
let(:person) do
|
|
872
|
-
Person.create
|
|
871
|
+
Person.create!
|
|
873
872
|
end
|
|
874
873
|
|
|
875
874
|
let(:address) do
|
|
876
|
-
person.addresses.create(street: "hobrecht")
|
|
875
|
+
person.addresses.create!(street: "hobrecht")
|
|
877
876
|
end
|
|
878
877
|
|
|
879
878
|
let!(:location) do
|
|
880
|
-
address.locations.create(name: "home")
|
|
879
|
+
address.locations.create!(name: "home")
|
|
881
880
|
end
|
|
882
881
|
|
|
883
882
|
before do
|
|
@@ -892,7 +891,7 @@ describe Mongoid::Changeable do
|
|
|
892
891
|
context "when a child is new" do
|
|
893
892
|
|
|
894
893
|
let(:person) do
|
|
895
|
-
Person.create
|
|
894
|
+
Person.create!
|
|
896
895
|
end
|
|
897
896
|
|
|
898
897
|
let!(:address) do
|
|
@@ -907,11 +906,11 @@ describe Mongoid::Changeable do
|
|
|
907
906
|
context "when a deeply embedded child is new" do
|
|
908
907
|
|
|
909
908
|
let(:person) do
|
|
910
|
-
Person.create
|
|
909
|
+
Person.create!
|
|
911
910
|
end
|
|
912
911
|
|
|
913
912
|
let(:address) do
|
|
914
|
-
person.addresses.create(street: "hobrecht")
|
|
913
|
+
person.addresses.create!(street: "hobrecht")
|
|
915
914
|
end
|
|
916
915
|
|
|
917
916
|
let!(:location) do
|
|
@@ -1260,7 +1259,7 @@ describe Mongoid::Changeable do
|
|
|
1260
1259
|
context "when the document is persisted" do
|
|
1261
1260
|
|
|
1262
1261
|
let(:person) do
|
|
1263
|
-
Person.create(pets: true)
|
|
1262
|
+
Person.create!(pets: true)
|
|
1264
1263
|
end
|
|
1265
1264
|
|
|
1266
1265
|
before do
|
|
@@ -1297,7 +1296,7 @@ describe Mongoid::Changeable do
|
|
|
1297
1296
|
context "when the document is persisted" do
|
|
1298
1297
|
|
|
1299
1298
|
let(:person) do
|
|
1300
|
-
Person.create(title: "test")
|
|
1299
|
+
Person.create!(title: "test")
|
|
1301
1300
|
end
|
|
1302
1301
|
|
|
1303
1302
|
before do
|
|
@@ -1395,7 +1394,7 @@ describe Mongoid::Changeable do
|
|
|
1395
1394
|
context "when only embedded documents change" do
|
|
1396
1395
|
|
|
1397
1396
|
let!(:person) do
|
|
1398
|
-
Person.create
|
|
1397
|
+
Person.create!
|
|
1399
1398
|
end
|
|
1400
1399
|
|
|
1401
1400
|
context "when the child is an embeds one" do
|
|
@@ -1454,7 +1453,7 @@ describe Mongoid::Changeable do
|
|
|
1454
1453
|
context "when a child is modified" do
|
|
1455
1454
|
|
|
1456
1455
|
let!(:address) do
|
|
1457
|
-
person.addresses.create(street: "jakobstr.")
|
|
1456
|
+
person.addresses.create!(street: "jakobstr.")
|
|
1458
1457
|
end
|
|
1459
1458
|
|
|
1460
1459
|
before do
|
|
@@ -1469,7 +1468,7 @@ describe Mongoid::Changeable do
|
|
|
1469
1468
|
context "when no child is modified" do
|
|
1470
1469
|
|
|
1471
1470
|
let!(:address) do
|
|
1472
|
-
person.addresses.create(street: "skalitzerstr.")
|
|
1471
|
+
person.addresses.create!(street: "skalitzerstr.")
|
|
1473
1472
|
end
|
|
1474
1473
|
|
|
1475
1474
|
it "does not flag the parent as changed" do
|
|
@@ -1482,7 +1481,7 @@ describe Mongoid::Changeable do
|
|
|
1482
1481
|
context "when changing a hash of hashes" do
|
|
1483
1482
|
|
|
1484
1483
|
let!(:person) do
|
|
1485
|
-
Person.create(map: { "test" => {}})
|
|
1484
|
+
Person.create!(map: { "test" => {}})
|
|
1486
1485
|
end
|
|
1487
1486
|
|
|
1488
1487
|
before do
|
|
@@ -1499,15 +1498,15 @@ describe Mongoid::Changeable do
|
|
|
1499
1498
|
context "when modifying a many to many key" do
|
|
1500
1499
|
|
|
1501
1500
|
let!(:person) do
|
|
1502
|
-
Person.create
|
|
1501
|
+
Person.create!
|
|
1503
1502
|
end
|
|
1504
1503
|
|
|
1505
1504
|
let!(:preference) do
|
|
1506
|
-
Preference.create(name: "dirty")
|
|
1505
|
+
Preference.create!(name: "dirty")
|
|
1507
1506
|
end
|
|
1508
1507
|
|
|
1509
1508
|
before do
|
|
1510
|
-
person.update_attributes(preference_ids: [ preference.id ])
|
|
1509
|
+
person.update_attributes!(preference_ids: [ preference.id ])
|
|
1511
1510
|
end
|
|
1512
1511
|
|
|
1513
1512
|
it "records the foreign key dirty changes" do
|
|
@@ -1520,7 +1519,7 @@ describe Mongoid::Changeable do
|
|
|
1520
1519
|
context "when accessing an array field" do
|
|
1521
1520
|
|
|
1522
1521
|
let!(:person) do
|
|
1523
|
-
Person.create
|
|
1522
|
+
Person.create!
|
|
1524
1523
|
end
|
|
1525
1524
|
|
|
1526
1525
|
let(:from_db) do
|
|
@@ -1546,7 +1545,7 @@ describe Mongoid::Changeable do
|
|
|
1546
1545
|
context "when reloading an unchanged document" do
|
|
1547
1546
|
|
|
1548
1547
|
let!(:person) do
|
|
1549
|
-
Person.create
|
|
1548
|
+
Person.create!
|
|
1550
1549
|
end
|
|
1551
1550
|
|
|
1552
1551
|
let(:from_db) do
|
|
@@ -1565,7 +1564,7 @@ describe Mongoid::Changeable do
|
|
|
1565
1564
|
context "when fields are getting changed" do
|
|
1566
1565
|
|
|
1567
1566
|
let(:person) do
|
|
1568
|
-
Person.create(
|
|
1567
|
+
Person.create!(
|
|
1569
1568
|
title: "MC",
|
|
1570
1569
|
some_dynamic_field: 'blah'
|
|
1571
1570
|
)
|
|
@@ -1645,7 +1644,7 @@ describe Mongoid::Changeable do
|
|
|
1645
1644
|
context "when the document is persisted" do
|
|
1646
1645
|
|
|
1647
1646
|
let!(:acolyte) do
|
|
1648
|
-
Acolyte.create(name: "callback-test")
|
|
1647
|
+
Acolyte.create!(name: "callback-test")
|
|
1649
1648
|
end
|
|
1650
1649
|
|
|
1651
1650
|
before do
|
|
@@ -1689,7 +1688,7 @@ describe Mongoid::Changeable do
|
|
|
1689
1688
|
end
|
|
1690
1689
|
|
|
1691
1690
|
it "retains the changes until after all callbacks" do
|
|
1692
|
-
acolyte.save
|
|
1691
|
+
acolyte.save!
|
|
1693
1692
|
expect(acolyte.changed_in_callback["name"]).to eq([ nil, "callback-test" ])
|
|
1694
1693
|
end
|
|
1695
1694
|
end
|
|
@@ -1698,7 +1697,7 @@ describe Mongoid::Changeable do
|
|
|
1698
1697
|
context "when associations are getting changed" do
|
|
1699
1698
|
|
|
1700
1699
|
let(:person) do
|
|
1701
|
-
Person.create(addresses: [ Address.new ])
|
|
1700
|
+
Person.create!(addresses: [ Address.new ])
|
|
1702
1701
|
end
|
|
1703
1702
|
|
|
1704
1703
|
before do
|
|
@@ -1715,7 +1714,7 @@ describe Mongoid::Changeable do
|
|
|
1715
1714
|
context 'when persisting the root document' do
|
|
1716
1715
|
|
|
1717
1716
|
let!(:person) do
|
|
1718
|
-
Person.create
|
|
1717
|
+
Person.create!
|
|
1719
1718
|
end
|
|
1720
1719
|
|
|
1721
1720
|
it 'is not marked as changed' do
|
|
@@ -1739,7 +1738,7 @@ describe Mongoid::Changeable do
|
|
|
1739
1738
|
context 'when building the lowest level document' do
|
|
1740
1739
|
|
|
1741
1740
|
before do
|
|
1742
|
-
person.save
|
|
1741
|
+
person.save!
|
|
1743
1742
|
end
|
|
1744
1743
|
|
|
1745
1744
|
let!(:code) do
|
|
@@ -1761,7 +1760,7 @@ describe Mongoid::Changeable do
|
|
|
1761
1760
|
context 'when saving the hierarchy' do
|
|
1762
1761
|
|
|
1763
1762
|
before do
|
|
1764
|
-
person.save
|
|
1763
|
+
person.save!
|
|
1765
1764
|
end
|
|
1766
1765
|
|
|
1767
1766
|
let(:reloaded) do
|
|
@@ -1783,7 +1782,7 @@ describe Mongoid::Changeable do
|
|
|
1783
1782
|
end
|
|
1784
1783
|
|
|
1785
1784
|
before do
|
|
1786
|
-
reloaded.save
|
|
1785
|
+
reloaded.save!
|
|
1787
1786
|
end
|
|
1788
1787
|
|
|
1789
1788
|
it 'saves the deepest embedded document' do
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
|
-
# encoding: utf-8
|
|
3
2
|
|
|
4
3
|
require "spec_helper"
|
|
5
4
|
|
|
@@ -66,9 +65,15 @@ describe Mongoid::Clients::Factory do
|
|
|
66
65
|
expect(client).to be_a(Mongo::Client)
|
|
67
66
|
end
|
|
68
67
|
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
68
|
+
context 'not JRuby' do
|
|
69
|
+
# Run this test on JRuby when driver 2.16.0 is released -
|
|
70
|
+
# see RUBY-2771.
|
|
71
|
+
fails_on_jruby
|
|
72
|
+
|
|
73
|
+
it 'does not produce driver warnings' do
|
|
74
|
+
Mongo::Logger.logger.should_not receive(:warn)
|
|
75
|
+
client
|
|
76
|
+
end
|
|
72
77
|
end
|
|
73
78
|
|
|
74
79
|
let(:cluster_addresses) do
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
|
-
# encoding: utf-8
|
|
3
2
|
|
|
4
3
|
require "spec_helper"
|
|
5
4
|
|
|
@@ -83,9 +82,11 @@ describe Mongoid::Clients::Options, retry: 3 do
|
|
|
83
82
|
|
|
84
83
|
let!(:connections_and_cluster_during) do
|
|
85
84
|
connections = nil
|
|
86
|
-
cluster =
|
|
85
|
+
cluster = nil
|
|
86
|
+
Minim.with(options) do |klass|
|
|
87
87
|
klass.where(name: 'emily').to_a
|
|
88
88
|
connections = Minim.mongo_client.database.command(serverStatus: 1).first['connections']['current']
|
|
89
|
+
cluster = Minim.collection.cluster
|
|
89
90
|
end
|
|
90
91
|
[ connections, cluster ]
|
|
91
92
|
end
|
|
@@ -124,7 +125,10 @@ describe Mongoid::Clients::Options, retry: 3 do
|
|
|
124
125
|
end
|
|
125
126
|
|
|
126
127
|
it 'disconnects the new cluster when the block exits' do
|
|
127
|
-
expect(
|
|
128
|
+
expect(cluster_after).not_to be(cluster_during)
|
|
129
|
+
|
|
130
|
+
cluster_during.connected?.should be false
|
|
131
|
+
cluster_before.connected?.should be true
|
|
128
132
|
end
|
|
129
133
|
end
|
|
130
134
|
|
|
@@ -138,13 +142,14 @@ describe Mongoid::Clients::Options, retry: 3 do
|
|
|
138
142
|
|
|
139
143
|
it 'does not create a new cluster' do
|
|
140
144
|
expect(connections_during).to eq(connections_before)
|
|
145
|
+
|
|
146
|
+
cluster_during.should be cluster_before
|
|
141
147
|
end
|
|
142
148
|
|
|
143
149
|
it 'does not disconnect the original cluster' do
|
|
144
|
-
skip 'https://jira.mongodb.org/browse/MONGOID-5130'
|
|
145
|
-
|
|
146
|
-
expect(connections_after).to eq(connections_before)
|
|
147
150
|
expect(cluster_before).to be(cluster_after)
|
|
151
|
+
|
|
152
|
+
cluster_before.connected?.should be true
|
|
148
153
|
end
|
|
149
154
|
end
|
|
150
155
|
|
|
@@ -240,11 +245,11 @@ describe Mongoid::Clients::Options, retry: 3 do
|
|
|
240
245
|
threads << Thread.new do
|
|
241
246
|
if i % 2 == 0
|
|
242
247
|
NameOnly.with(collection: 'British') do |klass|
|
|
243
|
-
klass.create(name: 'realised')
|
|
248
|
+
klass.create!(name: 'realised')
|
|
244
249
|
end
|
|
245
250
|
else
|
|
246
251
|
NameOnly.with(collection: 'American') do |klass|
|
|
247
|
-
klass.create(name: 'realized')
|
|
252
|
+
klass.create!(name: 'realized')
|
|
248
253
|
end
|
|
249
254
|
end
|
|
250
255
|
end
|
|
@@ -302,7 +307,7 @@ describe Mongoid::Clients::Options, retry: 3 do
|
|
|
302
307
|
end
|
|
303
308
|
|
|
304
309
|
let(:test_model) do
|
|
305
|
-
Minim.create
|
|
310
|
+
Minim.create!
|
|
306
311
|
end
|
|
307
312
|
|
|
308
313
|
let(:persistence_context) do
|
|
@@ -458,7 +463,7 @@ describe Mongoid::Clients::Options, retry: 3 do
|
|
|
458
463
|
before do
|
|
459
464
|
threads = []
|
|
460
465
|
100.times do |i|
|
|
461
|
-
test_model = NameOnly.create
|
|
466
|
+
test_model = NameOnly.create!
|
|
462
467
|
threads << Thread.new do
|
|
463
468
|
if i % 2 == 0
|
|
464
469
|
test_model.with(collection: 'British') do |b|
|