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
|
|
|
@@ -192,7 +191,7 @@ describe Mongoid::Attributes::Nested do
|
|
|
192
191
|
end
|
|
193
192
|
|
|
194
193
|
context "when adding existing document to a relation" do
|
|
195
|
-
let(:preference) { Preference.create(name: 'sample preference') }
|
|
194
|
+
let(:preference) { Preference.create!(name: 'sample preference') }
|
|
196
195
|
let(:person) do
|
|
197
196
|
Person.new(
|
|
198
197
|
preferences_attributes: { 0 => { id: preference.id, name: preference.name } }
|
|
@@ -243,7 +242,7 @@ describe Mongoid::Attributes::Nested do
|
|
|
243
242
|
context "when the parent document is persisted" do
|
|
244
243
|
|
|
245
244
|
let(:person) do
|
|
246
|
-
Person.create
|
|
245
|
+
Person.create!
|
|
247
246
|
end
|
|
248
247
|
|
|
249
248
|
before do
|
|
@@ -273,7 +272,7 @@ describe Mongoid::Attributes::Nested do
|
|
|
273
272
|
context "when saving the parent" do
|
|
274
273
|
|
|
275
274
|
before do
|
|
276
|
-
person.save
|
|
275
|
+
person.save!
|
|
277
276
|
person.reload
|
|
278
277
|
end
|
|
279
278
|
|
|
@@ -375,7 +374,7 @@ describe Mongoid::Attributes::Nested do
|
|
|
375
374
|
context "when all attributes are empty" do
|
|
376
375
|
|
|
377
376
|
let(:product) do
|
|
378
|
-
Product.create(name: "testing")
|
|
377
|
+
Product.create!(name: "testing")
|
|
379
378
|
end
|
|
380
379
|
|
|
381
380
|
it "does not add the document" do
|
|
@@ -608,7 +607,7 @@ describe Mongoid::Attributes::Nested do
|
|
|
608
607
|
end
|
|
609
608
|
|
|
610
609
|
let(:owner) do
|
|
611
|
-
PetOwner.create
|
|
610
|
+
PetOwner.create!
|
|
612
611
|
end
|
|
613
612
|
|
|
614
613
|
let!(:pet) do
|
|
@@ -617,7 +616,7 @@ describe Mongoid::Attributes::Nested do
|
|
|
617
616
|
|
|
618
617
|
before do
|
|
619
618
|
owner.pet_attributes = { id: pet.id, _destroy: truth }
|
|
620
|
-
owner.save
|
|
619
|
+
owner.save!
|
|
621
620
|
end
|
|
622
621
|
|
|
623
622
|
it "destroys the existing document" do
|
|
@@ -1035,7 +1034,7 @@ describe Mongoid::Attributes::Nested do
|
|
|
1035
1034
|
context "when the parent document is persisted" do
|
|
1036
1035
|
|
|
1037
1036
|
let(:person) do
|
|
1038
|
-
Person.create
|
|
1037
|
+
Person.create!
|
|
1039
1038
|
end
|
|
1040
1039
|
|
|
1041
1040
|
before do
|
|
@@ -1069,7 +1068,7 @@ describe Mongoid::Attributes::Nested do
|
|
|
1069
1068
|
context "when saving the parent" do
|
|
1070
1069
|
|
|
1071
1070
|
before do
|
|
1072
|
-
person.save
|
|
1071
|
+
person.save!
|
|
1073
1072
|
person.reload
|
|
1074
1073
|
end
|
|
1075
1074
|
|
|
@@ -1185,7 +1184,7 @@ describe Mongoid::Attributes::Nested do
|
|
|
1185
1184
|
context "when the parent is saved" do
|
|
1186
1185
|
|
|
1187
1186
|
before do
|
|
1188
|
-
band.save
|
|
1187
|
+
band.save!
|
|
1189
1188
|
end
|
|
1190
1189
|
|
|
1191
1190
|
it "runs the first child create callbacks" do
|
|
@@ -1377,7 +1376,7 @@ describe Mongoid::Attributes::Nested do
|
|
|
1377
1376
|
end
|
|
1378
1377
|
|
|
1379
1378
|
let!(:record) do
|
|
1380
|
-
band.records.create
|
|
1379
|
+
band.records.create!
|
|
1381
1380
|
end
|
|
1382
1381
|
|
|
1383
1382
|
let(:attributes) do
|
|
@@ -1415,17 +1414,17 @@ describe Mongoid::Attributes::Nested do
|
|
|
1415
1414
|
end
|
|
1416
1415
|
|
|
1417
1416
|
let!(:band) do
|
|
1418
|
-
Band.create
|
|
1417
|
+
Band.create!
|
|
1419
1418
|
end
|
|
1420
1419
|
|
|
1421
1420
|
let!(:record) do
|
|
1422
|
-
band.records.create
|
|
1421
|
+
band.records.create!
|
|
1423
1422
|
end
|
|
1424
1423
|
|
|
1425
1424
|
before do
|
|
1426
1425
|
band.records_attributes =
|
|
1427
1426
|
{ "foo" => { "id" => record.id, "_destroy" => true }}
|
|
1428
|
-
band.save
|
|
1427
|
+
band.save!
|
|
1429
1428
|
end
|
|
1430
1429
|
|
|
1431
1430
|
it "deletes the child document" do
|
|
@@ -1450,7 +1449,7 @@ describe Mongoid::Attributes::Nested do
|
|
|
1450
1449
|
context "when the parent is persisted" do
|
|
1451
1450
|
|
|
1452
1451
|
let!(:persisted) do
|
|
1453
|
-
Person.create(age: 42)
|
|
1452
|
+
Person.create!(age: 42)
|
|
1454
1453
|
end
|
|
1455
1454
|
|
|
1456
1455
|
context "when the child halts the callback chain in a before callback" do
|
|
@@ -1458,11 +1457,11 @@ describe Mongoid::Attributes::Nested do
|
|
|
1458
1457
|
context "when the child is not paranoid" do
|
|
1459
1458
|
|
|
1460
1459
|
let(:actor) do
|
|
1461
|
-
Actor.create
|
|
1460
|
+
Actor.create!
|
|
1462
1461
|
end
|
|
1463
1462
|
|
|
1464
1463
|
let!(:thing) do
|
|
1465
|
-
actor.things.create
|
|
1464
|
+
actor.things.create!
|
|
1466
1465
|
end
|
|
1467
1466
|
|
|
1468
1467
|
before do
|
|
@@ -1480,11 +1479,11 @@ describe Mongoid::Attributes::Nested do
|
|
|
1480
1479
|
context "when only 1 child has the default persisted" do
|
|
1481
1480
|
|
|
1482
1481
|
let!(:app_one) do
|
|
1483
|
-
persisted.appointments.create
|
|
1482
|
+
persisted.appointments.create!
|
|
1484
1483
|
end
|
|
1485
1484
|
|
|
1486
1485
|
let!(:app_two) do
|
|
1487
|
-
persisted.appointments.create
|
|
1486
|
+
persisted.appointments.create!.tap do |app|
|
|
1488
1487
|
app.unset(:timed)
|
|
1489
1488
|
end
|
|
1490
1489
|
end
|
|
@@ -1501,7 +1500,7 @@ describe Mongoid::Attributes::Nested do
|
|
|
1501
1500
|
"bar" => { "id" => app_one.id, "_destroy" => true },
|
|
1502
1501
|
"foo" => { "id" => app_two.id, "_destroy" => true }
|
|
1503
1502
|
}
|
|
1504
|
-
from_db.save
|
|
1503
|
+
from_db.save!
|
|
1505
1504
|
end
|
|
1506
1505
|
|
|
1507
1506
|
it "destroys both children" do
|
|
@@ -1576,7 +1575,7 @@ describe Mongoid::Attributes::Nested do
|
|
|
1576
1575
|
context "when the parent is persisted" do
|
|
1577
1576
|
|
|
1578
1577
|
let!(:persisted) do
|
|
1579
|
-
Person.create do |p|
|
|
1578
|
+
Person.create! do |p|
|
|
1580
1579
|
p.addresses << [ address_one, address_two ]
|
|
1581
1580
|
end
|
|
1582
1581
|
end
|
|
@@ -1623,7 +1622,7 @@ describe Mongoid::Attributes::Nested do
|
|
|
1623
1622
|
context "when saving the parent" do
|
|
1624
1623
|
|
|
1625
1624
|
before do
|
|
1626
|
-
persisted.save
|
|
1625
|
+
persisted.save!
|
|
1627
1626
|
end
|
|
1628
1627
|
|
|
1629
1628
|
it "deletes the marked document from the relation" do
|
|
@@ -1679,7 +1678,7 @@ describe Mongoid::Attributes::Nested do
|
|
|
1679
1678
|
context "when saving the parent" do
|
|
1680
1679
|
|
|
1681
1680
|
before do
|
|
1682
|
-
persisted.save
|
|
1681
|
+
persisted.save!
|
|
1683
1682
|
end
|
|
1684
1683
|
|
|
1685
1684
|
it "deletes the marked document from the relation" do
|
|
@@ -2391,8 +2390,8 @@ describe Mongoid::Attributes::Nested do
|
|
|
2391
2390
|
end
|
|
2392
2391
|
|
|
2393
2392
|
before do
|
|
2394
|
-
pizza.topping = Topping.create(name: "cheese")
|
|
2395
|
-
pizza.update_attributes(topping_attributes: { name: "onions" })
|
|
2393
|
+
pizza.topping = Topping.create!(name: "cheese")
|
|
2394
|
+
pizza.update_attributes!(topping_attributes: { name: "onions" })
|
|
2396
2395
|
end
|
|
2397
2396
|
|
|
2398
2397
|
it "persists the attribute changes" do
|
|
@@ -2967,7 +2966,7 @@ describe Mongoid::Attributes::Nested do
|
|
|
2967
2966
|
context "when ids are passed" do
|
|
2968
2967
|
|
|
2969
2968
|
let(:person) do
|
|
2970
|
-
Person.create
|
|
2969
|
+
Person.create!
|
|
2971
2970
|
end
|
|
2972
2971
|
|
|
2973
2972
|
before do
|
|
@@ -3032,7 +3031,7 @@ describe Mongoid::Attributes::Nested do
|
|
|
3032
3031
|
"0" => { "id" => post_one.id, "title" => "testing again" },
|
|
3033
3032
|
"1" => { "id" => post_two.id, "title" => "$$$" }
|
|
3034
3033
|
}
|
|
3035
|
-
person.save
|
|
3034
|
+
person.save!
|
|
3036
3035
|
end
|
|
3037
3036
|
|
|
3038
3037
|
it "does not perist the invalid value" do
|
|
@@ -3308,7 +3307,7 @@ describe Mongoid::Attributes::Nested do
|
|
|
3308
3307
|
context "when the parent is saved" do
|
|
3309
3308
|
|
|
3310
3309
|
before do
|
|
3311
|
-
person.save
|
|
3310
|
+
person.save!
|
|
3312
3311
|
person.posts_attributes =
|
|
3313
3312
|
[
|
|
3314
3313
|
{ "title" => "Third" },
|
|
@@ -3723,7 +3722,7 @@ describe Mongoid::Attributes::Nested do
|
|
|
3723
3722
|
context "when ids are passed" do
|
|
3724
3723
|
|
|
3725
3724
|
let(:person) do
|
|
3726
|
-
Person.create
|
|
3725
|
+
Person.create!
|
|
3727
3726
|
end
|
|
3728
3727
|
|
|
3729
3728
|
before do
|
|
@@ -4305,7 +4304,7 @@ describe Mongoid::Attributes::Nested do
|
|
|
4305
4304
|
end
|
|
4306
4305
|
end
|
|
4307
4306
|
|
|
4308
|
-
describe "#update_attributes" do
|
|
4307
|
+
describe "#update_attributes!" do
|
|
4309
4308
|
|
|
4310
4309
|
before do
|
|
4311
4310
|
Person.send(:undef_method, :addresses_attributes=)
|
|
@@ -4315,11 +4314,11 @@ describe Mongoid::Attributes::Nested do
|
|
|
4315
4314
|
context "when embedding one level behind a has many" do
|
|
4316
4315
|
|
|
4317
4316
|
let(:node) do
|
|
4318
|
-
Node.create
|
|
4317
|
+
Node.create!
|
|
4319
4318
|
end
|
|
4320
4319
|
|
|
4321
4320
|
let!(:server) do
|
|
4322
|
-
node.servers.create(name: "prod")
|
|
4321
|
+
node.servers.create!(name: "prod")
|
|
4323
4322
|
end
|
|
4324
4323
|
|
|
4325
4324
|
context "when adding a new embedded document" do
|
|
@@ -4338,7 +4337,7 @@ describe Mongoid::Attributes::Nested do
|
|
|
4338
4337
|
end
|
|
4339
4338
|
|
|
4340
4339
|
before do
|
|
4341
|
-
node.update_attributes(attributes)
|
|
4340
|
+
node.update_attributes!(attributes)
|
|
4342
4341
|
end
|
|
4343
4342
|
|
|
4344
4343
|
it "adds the new embedded document" do
|
|
@@ -4354,11 +4353,11 @@ describe Mongoid::Attributes::Nested do
|
|
|
4354
4353
|
context "when deleting the child document" do
|
|
4355
4354
|
|
|
4356
4355
|
let(:person) do
|
|
4357
|
-
Person.create
|
|
4356
|
+
Person.create!
|
|
4358
4357
|
end
|
|
4359
4358
|
|
|
4360
4359
|
let!(:service) do
|
|
4361
|
-
person.services.create(sid: "123")
|
|
4360
|
+
person.services.create!(sid: "123")
|
|
4362
4361
|
end
|
|
4363
4362
|
|
|
4364
4363
|
let(:attributes) do
|
|
@@ -4370,7 +4369,7 @@ describe Mongoid::Attributes::Nested do
|
|
|
4370
4369
|
end
|
|
4371
4370
|
|
|
4372
4371
|
before do
|
|
4373
|
-
person.update_attributes(attributes)
|
|
4372
|
+
person.update_attributes!(attributes)
|
|
4374
4373
|
end
|
|
4375
4374
|
|
|
4376
4375
|
it "removes the document from the parent" do
|
|
@@ -4408,15 +4407,15 @@ describe Mongoid::Attributes::Nested do
|
|
|
4408
4407
|
end
|
|
4409
4408
|
|
|
4410
4409
|
let(:dokument) do
|
|
4411
|
-
Dokument.create
|
|
4410
|
+
Dokument.create!
|
|
4412
4411
|
end
|
|
4413
4412
|
|
|
4414
4413
|
let!(:address) do
|
|
4415
|
-
dokument.addresses.create(street: "hobrecht")
|
|
4414
|
+
dokument.addresses.create!(street: "hobrecht")
|
|
4416
4415
|
end
|
|
4417
4416
|
|
|
4418
4417
|
let!(:location) do
|
|
4419
|
-
address.locations.create(name: "work")
|
|
4418
|
+
address.locations.create!(name: "work")
|
|
4420
4419
|
end
|
|
4421
4420
|
|
|
4422
4421
|
let(:attributes) do
|
|
@@ -4428,7 +4427,7 @@ describe Mongoid::Attributes::Nested do
|
|
|
4428
4427
|
end
|
|
4429
4428
|
|
|
4430
4429
|
before do
|
|
4431
|
-
address.update_attributes(attributes)
|
|
4430
|
+
address.update_attributes!(attributes)
|
|
4432
4431
|
address.reload
|
|
4433
4432
|
end
|
|
4434
4433
|
|
|
@@ -4440,21 +4439,21 @@ describe Mongoid::Attributes::Nested do
|
|
|
4440
4439
|
context "when nesting multiple levels" do
|
|
4441
4440
|
|
|
4442
4441
|
let!(:person) do
|
|
4443
|
-
Person.create
|
|
4442
|
+
Person.create!
|
|
4444
4443
|
end
|
|
4445
4444
|
|
|
4446
4445
|
context "when second level is a one to many" do
|
|
4447
4446
|
|
|
4448
4447
|
let(:person_one) do
|
|
4449
|
-
Person.create
|
|
4448
|
+
Person.create!
|
|
4450
4449
|
end
|
|
4451
4450
|
|
|
4452
4451
|
let!(:address_one) do
|
|
4453
|
-
person_one.addresses.create(street: "hobrecht")
|
|
4452
|
+
person_one.addresses.create!(street: "hobrecht")
|
|
4454
4453
|
end
|
|
4455
4454
|
|
|
4456
4455
|
let!(:location_one) do
|
|
4457
|
-
address_one.locations.create(name: "home")
|
|
4456
|
+
address_one.locations.create!(name: "home")
|
|
4458
4457
|
end
|
|
4459
4458
|
|
|
4460
4459
|
context "when destroying a second level document" do
|
|
@@ -4471,7 +4470,7 @@ describe Mongoid::Attributes::Nested do
|
|
|
4471
4470
|
end
|
|
4472
4471
|
|
|
4473
4472
|
before do
|
|
4474
|
-
person_one.update_attributes(attributes)
|
|
4473
|
+
person_one.update_attributes!(attributes)
|
|
4475
4474
|
end
|
|
4476
4475
|
|
|
4477
4476
|
it "deletes the document from the relation" do
|
|
@@ -4486,15 +4485,15 @@ describe Mongoid::Attributes::Nested do
|
|
|
4486
4485
|
context "when destroying a second level document with callbacks" do
|
|
4487
4486
|
|
|
4488
4487
|
let(:band) do
|
|
4489
|
-
Band.create(name: "Tool")
|
|
4488
|
+
Band.create!(name: "Tool")
|
|
4490
4489
|
end
|
|
4491
4490
|
|
|
4492
4491
|
let(:record) do
|
|
4493
|
-
band.records.create(name: "Undertow")
|
|
4492
|
+
band.records.create!(name: "Undertow")
|
|
4494
4493
|
end
|
|
4495
4494
|
|
|
4496
4495
|
let!(:track) do
|
|
4497
|
-
record.tracks.create(name: "Sober")
|
|
4496
|
+
record.tracks.create!(name: "Sober")
|
|
4498
4497
|
end
|
|
4499
4498
|
|
|
4500
4499
|
context "when cascading callbacks" do
|
|
@@ -4521,7 +4520,7 @@ describe Mongoid::Attributes::Nested do
|
|
|
4521
4520
|
end
|
|
4522
4521
|
|
|
4523
4522
|
before do
|
|
4524
|
-
band.update_attributes(attributes)
|
|
4523
|
+
band.update_attributes!(attributes)
|
|
4525
4524
|
end
|
|
4526
4525
|
|
|
4527
4526
|
it "removes the child from the relation" do
|
|
@@ -4554,7 +4553,7 @@ describe Mongoid::Attributes::Nested do
|
|
|
4554
4553
|
end
|
|
4555
4554
|
|
|
4556
4555
|
before do
|
|
4557
|
-
person.update_attributes(attributes)
|
|
4556
|
+
person.update_attributes!(attributes)
|
|
4558
4557
|
end
|
|
4559
4558
|
|
|
4560
4559
|
let(:address) do
|
|
@@ -4577,11 +4576,11 @@ describe Mongoid::Attributes::Nested do
|
|
|
4577
4576
|
context "when adding to an existing document in the first level" do
|
|
4578
4577
|
|
|
4579
4578
|
let!(:address) do
|
|
4580
|
-
person.addresses.create(street: "hobrecht")
|
|
4579
|
+
person.addresses.create!(street: "hobrecht")
|
|
4581
4580
|
end
|
|
4582
4581
|
|
|
4583
4582
|
let!(:location) do
|
|
4584
|
-
address.locations.create(name: "work")
|
|
4583
|
+
address.locations.create!(name: "work")
|
|
4585
4584
|
end
|
|
4586
4585
|
|
|
4587
4586
|
let(:attributes) do
|
|
@@ -4594,7 +4593,7 @@ describe Mongoid::Attributes::Nested do
|
|
|
4594
4593
|
end
|
|
4595
4594
|
|
|
4596
4595
|
before do
|
|
4597
|
-
person.update_attributes(attributes)
|
|
4596
|
+
person.update_attributes!(attributes)
|
|
4598
4597
|
person.reload
|
|
4599
4598
|
end
|
|
4600
4599
|
|
|
@@ -4625,7 +4624,7 @@ describe Mongoid::Attributes::Nested do
|
|
|
4625
4624
|
end
|
|
4626
4625
|
|
|
4627
4626
|
before do
|
|
4628
|
-
person.update_attributes(attributes)
|
|
4627
|
+
person.update_attributes!(attributes)
|
|
4629
4628
|
end
|
|
4630
4629
|
|
|
4631
4630
|
let(:address) do
|
|
@@ -4651,7 +4650,7 @@ describe Mongoid::Attributes::Nested do
|
|
|
4651
4650
|
context "when the nested document is not polymorphic" do
|
|
4652
4651
|
|
|
4653
4652
|
let!(:address) do
|
|
4654
|
-
person.addresses.create(street: "Alexanderstr", number: 1)
|
|
4653
|
+
person.addresses.create!(street: "Alexanderstr", number: 1)
|
|
4655
4654
|
end
|
|
4656
4655
|
|
|
4657
4656
|
let!(:code) do
|
|
@@ -4674,7 +4673,7 @@ describe Mongoid::Attributes::Nested do
|
|
|
4674
4673
|
end
|
|
4675
4674
|
|
|
4676
4675
|
before do
|
|
4677
|
-
person.update_attributes(attributes)
|
|
4676
|
+
person.update_attributes!(attributes)
|
|
4678
4677
|
end
|
|
4679
4678
|
|
|
4680
4679
|
it "updates the first level embedded document" do
|
|
@@ -4691,7 +4690,7 @@ describe Mongoid::Attributes::Nested do
|
|
|
4691
4690
|
context "when the first level is an embeds many" do
|
|
4692
4691
|
|
|
4693
4692
|
let!(:address) do
|
|
4694
|
-
person.addresses.create(street: "Alexanderstr", number: 1)
|
|
4693
|
+
person.addresses.create!(street: "Alexanderstr", number: 1)
|
|
4695
4694
|
end
|
|
4696
4695
|
|
|
4697
4696
|
let!(:target) do
|
|
@@ -4714,7 +4713,7 @@ describe Mongoid::Attributes::Nested do
|
|
|
4714
4713
|
end
|
|
4715
4714
|
|
|
4716
4715
|
before do
|
|
4717
|
-
person.update_attributes(attributes)
|
|
4716
|
+
person.update_attributes!(attributes)
|
|
4718
4717
|
end
|
|
4719
4718
|
|
|
4720
4719
|
it "updates the first level embedded document" do
|
|
@@ -4750,7 +4749,7 @@ describe Mongoid::Attributes::Nested do
|
|
|
4750
4749
|
end
|
|
4751
4750
|
|
|
4752
4751
|
before do
|
|
4753
|
-
person.update_attributes(attributes)
|
|
4752
|
+
person.update_attributes!(attributes)
|
|
4754
4753
|
end
|
|
4755
4754
|
|
|
4756
4755
|
it "updates the nested embedded document" do
|
|
@@ -4767,7 +4766,7 @@ describe Mongoid::Attributes::Nested do
|
|
|
4767
4766
|
context "when updating with valid attributes" do
|
|
4768
4767
|
|
|
4769
4768
|
let(:user) do
|
|
4770
|
-
User.create
|
|
4769
|
+
User.create!
|
|
4771
4770
|
end
|
|
4772
4771
|
|
|
4773
4772
|
let(:params) do
|
|
@@ -4777,7 +4776,7 @@ describe Mongoid::Attributes::Nested do
|
|
|
4777
4776
|
end
|
|
4778
4777
|
|
|
4779
4778
|
before do
|
|
4780
|
-
user.update_attributes(params)
|
|
4779
|
+
user.update_attributes!(params)
|
|
4781
4780
|
end
|
|
4782
4781
|
|
|
4783
4782
|
around do |example|
|
|
@@ -4803,11 +4802,11 @@ describe Mongoid::Attributes::Nested do
|
|
|
4803
4802
|
context "when the document is freshly loaded from the db" do
|
|
4804
4803
|
|
|
4805
4804
|
let!(:node) do
|
|
4806
|
-
Node.create
|
|
4805
|
+
Node.create!
|
|
4807
4806
|
end
|
|
4808
4807
|
|
|
4809
4808
|
let!(:server) do
|
|
4810
|
-
node.servers.create(name: "test")
|
|
4809
|
+
node.servers.create!(name: "test")
|
|
4811
4810
|
end
|
|
4812
4811
|
|
|
4813
4812
|
before do
|
|
@@ -4840,11 +4839,11 @@ describe Mongoid::Attributes::Nested do
|
|
|
4840
4839
|
context "when the relation is an embeds many" do
|
|
4841
4840
|
|
|
4842
4841
|
let(:league) do
|
|
4843
|
-
League.create
|
|
4842
|
+
League.create!
|
|
4844
4843
|
end
|
|
4845
4844
|
|
|
4846
4845
|
let!(:division) do
|
|
4847
|
-
league.divisions.create(name: "Old Name")
|
|
4846
|
+
league.divisions.create!(name: "Old Name")
|
|
4848
4847
|
end
|
|
4849
4848
|
|
|
4850
4849
|
context "when additional validation is set" do
|
|
@@ -4899,7 +4898,7 @@ describe Mongoid::Attributes::Nested do
|
|
|
4899
4898
|
end
|
|
4900
4899
|
|
|
4901
4900
|
before do
|
|
4902
|
-
league.update_attributes(params)
|
|
4901
|
+
league.update_attributes!(params)
|
|
4903
4902
|
end
|
|
4904
4903
|
|
|
4905
4904
|
it "sets the nested attributes" do
|
|
@@ -4919,7 +4918,7 @@ describe Mongoid::Attributes::Nested do
|
|
|
4919
4918
|
end
|
|
4920
4919
|
|
|
4921
4920
|
before do
|
|
4922
|
-
league.update_attributes(new_params)
|
|
4921
|
+
league.update_attributes!(new_params)
|
|
4923
4922
|
end
|
|
4924
4923
|
|
|
4925
4924
|
it "sets the nested attributes" do
|
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
|
-
# encoding: utf-8
|
|
3
2
|
|
|
4
3
|
require "spec_helper"
|
|
5
4
|
|
|
6
5
|
describe Mongoid::Attributes::Projector do
|
|
7
6
|
Dir[File.join(File.dirname(__FILE__), 'projector_data', '*.yml')].sort.each do |path|
|
|
8
7
|
context File.basename(path) do
|
|
9
|
-
specs =
|
|
8
|
+
specs = if RUBY_VERSION.start_with?("2.5")
|
|
9
|
+
YAML.safe_load(File.read(path), [], [], true)
|
|
10
|
+
else
|
|
11
|
+
YAML.safe_load(File.read(path), aliases: true)
|
|
12
|
+
end
|
|
10
13
|
|
|
11
14
|
specs.each do |spec|
|
|
12
15
|
context spec['name'] do
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
|
-
# encoding: utf-8
|
|
3
2
|
|
|
4
3
|
require "spec_helper"
|
|
5
4
|
|
|
@@ -58,7 +57,7 @@ describe Mongoid::Attributes::Readonly do
|
|
|
58
57
|
end
|
|
59
58
|
|
|
60
59
|
let(:person) do
|
|
61
|
-
Person.create(title: "sir", terms: true, aliased_timestamp: Time.at(42))
|
|
60
|
+
Person.create!(title: "sir", terms: true, aliased_timestamp: Time.at(42))
|
|
62
61
|
end
|
|
63
62
|
|
|
64
63
|
it "sets the first readonly value" do
|
|
@@ -93,20 +92,20 @@ describe Mongoid::Attributes::Readonly do
|
|
|
93
92
|
end
|
|
94
93
|
|
|
95
94
|
let(:person) do
|
|
96
|
-
Person.create(title: "sir", terms: true, score: 1, aliased_timestamp: Time.at(42))
|
|
95
|
+
Person.create!(title: "sir", terms: true, score: 1, aliased_timestamp: Time.at(42))
|
|
97
96
|
end
|
|
98
97
|
|
|
99
98
|
context "when updating via the setter" do
|
|
100
99
|
|
|
101
100
|
it "does not update the first field" do
|
|
102
101
|
person.title = 'mr'
|
|
103
|
-
person.save
|
|
102
|
+
person.save!
|
|
104
103
|
expect(person.reload.title).to eq("sir")
|
|
105
104
|
end
|
|
106
105
|
|
|
107
106
|
it "does not update the second field" do
|
|
108
107
|
person.aliased_timestamp = Time.at(43)
|
|
109
|
-
person.save
|
|
108
|
+
person.save!
|
|
110
109
|
expect(person.reload.aliased_timestamp).to eq(Time.at(42))
|
|
111
110
|
end
|
|
112
111
|
end
|
|
@@ -117,7 +116,7 @@ describe Mongoid::Attributes::Readonly do
|
|
|
117
116
|
|
|
118
117
|
it "updates the field" do
|
|
119
118
|
person.inc(score: 1)
|
|
120
|
-
person.save
|
|
119
|
+
person.save!
|
|
121
120
|
expect(person.reload.score).to eq(2)
|
|
122
121
|
end
|
|
123
122
|
end
|
|
@@ -126,7 +125,7 @@ describe Mongoid::Attributes::Readonly do
|
|
|
126
125
|
|
|
127
126
|
it "updates the fields" do
|
|
128
127
|
person.inc(score: 1, age: 1)
|
|
129
|
-
person.save
|
|
128
|
+
person.save!
|
|
130
129
|
expect(person.reload.score).to eq(2)
|
|
131
130
|
expect(person.reload.age).to eq(101)
|
|
132
131
|
end
|
|
@@ -139,16 +138,16 @@ describe Mongoid::Attributes::Readonly do
|
|
|
139
138
|
|
|
140
139
|
it "does the update" do
|
|
141
140
|
person.bit(score: { or: 13 })
|
|
142
|
-
person.save
|
|
141
|
+
person.save!
|
|
143
142
|
expect(person.reload.score).to eq(13)
|
|
144
143
|
end
|
|
145
144
|
end
|
|
146
145
|
|
|
147
146
|
context 'with multiple fields operation' do
|
|
148
147
|
|
|
149
|
-
it "
|
|
148
|
+
it "updates the attribute" do
|
|
150
149
|
person.bit(age: {and: 13}, score: {or: 13})
|
|
151
|
-
person.save
|
|
150
|
+
person.save!
|
|
152
151
|
expect(person.reload.score).to eq(13)
|
|
153
152
|
expect(person.reload.age).to eq(4)
|
|
154
153
|
end
|
|
@@ -159,13 +158,13 @@ describe Mongoid::Attributes::Readonly do
|
|
|
159
158
|
|
|
160
159
|
it "does not update the first field" do
|
|
161
160
|
person[:title] = "mr"
|
|
162
|
-
person.save
|
|
161
|
+
person.save!
|
|
163
162
|
expect(person.reload.title).to eq("sir")
|
|
164
163
|
end
|
|
165
164
|
|
|
166
165
|
it "does not update the second field" do
|
|
167
166
|
person[:aliased_timestamp] = Time.at(43)
|
|
168
|
-
person.save
|
|
167
|
+
person.save!
|
|
169
168
|
expect(person.reload.aliased_timestamp).to eq(Time.at(42))
|
|
170
169
|
end
|
|
171
170
|
end
|
|
@@ -174,13 +173,13 @@ describe Mongoid::Attributes::Readonly do
|
|
|
174
173
|
|
|
175
174
|
it "does not update the first field" do
|
|
176
175
|
person.write_attribute(:title, "mr")
|
|
177
|
-
person.save
|
|
176
|
+
person.save!
|
|
178
177
|
expect(person.reload.title).to eq("sir")
|
|
179
178
|
end
|
|
180
179
|
|
|
181
180
|
it "does not update the second field" do
|
|
182
181
|
person.write_attribute(:aliased_timestamp, Time.at(43))
|
|
183
|
-
person.save
|
|
182
|
+
person.save!
|
|
184
183
|
expect(person.reload.aliased_timestamp).to eq(Time.at(42))
|
|
185
184
|
end
|
|
186
185
|
end
|
|
@@ -188,14 +187,14 @@ describe Mongoid::Attributes::Readonly do
|
|
|
188
187
|
context "when updating via update_attributes" do
|
|
189
188
|
|
|
190
189
|
it "does not update the first field" do
|
|
191
|
-
person.update_attributes(title: "mr", aliased_timestamp: Time.at(43))
|
|
192
|
-
person.save
|
|
190
|
+
person.update_attributes!(title: "mr", aliased_timestamp: Time.at(43))
|
|
191
|
+
person.save!
|
|
193
192
|
expect(person.reload.title).to eq("sir")
|
|
194
193
|
end
|
|
195
194
|
|
|
196
195
|
it "does not update the second field" do
|
|
197
|
-
person.update_attributes(title: "mr", aliased_timestamp: Time.at(43))
|
|
198
|
-
person.save
|
|
196
|
+
person.update_attributes!(title: "mr", aliased_timestamp: Time.at(43))
|
|
197
|
+
person.save!
|
|
199
198
|
expect(person.reload.aliased_timestamp).to eq(Time.at(42))
|
|
200
199
|
end
|
|
201
200
|
end
|
|
@@ -204,13 +203,13 @@ describe Mongoid::Attributes::Readonly do
|
|
|
204
203
|
|
|
205
204
|
it "does not update the first field" do
|
|
206
205
|
person.update_attributes!(title: "mr", aliased_timestamp: Time.at(43))
|
|
207
|
-
person.save
|
|
206
|
+
person.save!
|
|
208
207
|
expect(person.reload.title).to eq("sir")
|
|
209
208
|
end
|
|
210
209
|
|
|
211
210
|
it "does not update the second field" do
|
|
212
211
|
person.update_attributes!(title: "mr", aliased_timestamp: Time.at(43))
|
|
213
|
-
person.save
|
|
212
|
+
person.save!
|
|
214
213
|
expect(person.reload.aliased_timestamp).to eq(Time.at(42))
|
|
215
214
|
end
|
|
216
215
|
end
|
|
@@ -243,11 +242,11 @@ describe Mongoid::Attributes::Readonly do
|
|
|
243
242
|
context 'when the relation exists' do
|
|
244
243
|
|
|
245
244
|
let(:mother) do
|
|
246
|
-
Person.create
|
|
245
|
+
Person.create!
|
|
247
246
|
end
|
|
248
247
|
|
|
249
248
|
let(:child) do
|
|
250
|
-
Person.create(mother: mother)
|
|
249
|
+
Person.create!(mother: mother)
|
|
251
250
|
Person.find_by(mother: mother)
|
|
252
251
|
end
|
|
253
252
|
|
|
@@ -259,7 +258,7 @@ describe Mongoid::Attributes::Readonly do
|
|
|
259
258
|
context 'when the relation does not exist' do
|
|
260
259
|
|
|
261
260
|
let(:child) do
|
|
262
|
-
Person.create
|
|
261
|
+
Person.create!
|
|
263
262
|
end
|
|
264
263
|
|
|
265
264
|
it 'the relation is nil' do
|