mongoid 7.3.5 → 7.4.3
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 +3 -3
- data/lib/config/locales/en.yml +21 -20
- 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 +9 -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 +8 -56
- 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 +0 -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 +1 -42
- 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 +21 -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 +0 -25
- 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 +39 -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 +20 -67
- 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 +6 -2
- 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 +0 -51
- 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 +0 -1
- 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 +0 -1
- 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 +0 -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 +0 -27
- data/lib/mongoid/positional.rb +0 -5
- data/lib/mongoid/query_cache.rb +0 -33
- 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 +0 -5
- 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 +0 -7
- data/lib/mongoid/traversable.rb +67 -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/config/mongoid_with_schema_map_uuid.yml +27 -0
- data/spec/integration/app_spec.rb +20 -15
- data/spec/integration/associations/belongs_to_spec.rb +0 -1
- data/spec/integration/associations/embedded_dirty_spec.rb +57 -0
- data/spec/integration/associations/embedded_spec.rb +0 -1
- data/spec/integration/associations/embeds_many_spec.rb +0 -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 +0 -1
- 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 +14 -1
- data/spec/lite_spec_helper.rb +1 -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 +0 -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 +0 -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 +59 -33
- data/spec/mongoid/association/referenced/has_many/proxy_query_spec.rb +0 -1
- data/spec/mongoid/association/referenced/has_many/proxy_spec.rb +217 -154
- data/spec/mongoid/association/referenced/has_many_models.rb +18 -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 +28 -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 +11 -13
- data/spec/mongoid/clients/options_spec.rb +4 -5
- 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 +39 -2
- data/spec/mongoid/config/options_spec.rb +0 -1
- data/spec/mongoid/config_spec.rb +145 -1
- 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 +46 -47
- data/spec/mongoid/contextual/geo_near_spec.rb +17 -18
- 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 +12 -13
- 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 +515 -187
- 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 +11 -33
- 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 +0 -1
- 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 +1 -2
- 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 +41 -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 +30 -8
- data/spec/mongoid/relations/proxy_spec.rb +6 -7
- data/spec/mongoid/reloadable_spec.rb +209 -23
- data/spec/mongoid/scopable_spec.rb +54 -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 +15 -20
- data/spec/mongoid/touchable_spec_models.rb +0 -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/constraints.rb +10 -17
- data/spec/shared/lib/mrss/docker_runner.rb +23 -3
- data/spec/shared/lib/mrss/eg_config_utils.rb +51 -0
- data/spec/shared/lib/mrss/event_subscriber.rb +15 -5
- data/spec/shared/lib/mrss/lite_constraints.rb +40 -1
- data/spec/shared/share/Dockerfile.erb +56 -54
- data/spec/shared/shlib/config.sh +27 -0
- data/spec/shared/shlib/distro.sh +2 -1
- data/spec/shared/shlib/server.sh +46 -21
- data/spec/shared/shlib/set_env.sh +43 -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 +31 -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/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 +1 -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/schema_maps/schema_map_aws.json +17 -0
- data/spec/support/schema_maps/schema_map_aws_key_alt_names.json +12 -0
- data/spec/support/schema_maps/schema_map_azure.json +17 -0
- data/spec/support/schema_maps/schema_map_azure_key_alt_names.json +12 -0
- data/spec/support/schema_maps/schema_map_gcp.json +17 -0
- data/spec/support/schema_maps/schema_map_gcp_key_alt_names.json +12 -0
- data/spec/support/schema_maps/schema_map_kmip.json +17 -0
- data/spec/support/schema_maps/schema_map_kmip_key_alt_names.json +12 -0
- data/spec/support/schema_maps/schema_map_local.json +18 -0
- data/spec/support/schema_maps/schema_map_local_key_alt_names.json +12 -0
- data/spec/support/shared/time.rb +0 -1
- data/spec/support/spec_config.rb +7 -1
- data.tar.gz.sig +0 -0
- metadata +51 -12
- metadata.gz.sig +0 -0
- data/lib/support/ruby_version.rb +0 -29
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
|
-
# encoding: utf-8
|
|
3
2
|
|
|
4
3
|
require "spec_helper"
|
|
5
4
|
require_relative '../embeds_many_models.rb'
|
|
@@ -116,7 +115,7 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
116
115
|
context "when the parent is not a new record" do
|
|
117
116
|
|
|
118
117
|
let(:person) do
|
|
119
|
-
Person.create
|
|
118
|
+
Person.create!
|
|
120
119
|
end
|
|
121
120
|
|
|
122
121
|
let(:address) do
|
|
@@ -135,7 +134,7 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
135
134
|
context "when appending more than one document at once" do
|
|
136
135
|
|
|
137
136
|
let(:person) do
|
|
138
|
-
Person.create
|
|
137
|
+
Person.create!
|
|
139
138
|
end
|
|
140
139
|
|
|
141
140
|
let(:address_one) do
|
|
@@ -211,7 +210,7 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
211
210
|
context "when the parent is not a new record" do
|
|
212
211
|
|
|
213
212
|
let(:parent_role) do
|
|
214
|
-
Role.create(name: "CEO")
|
|
213
|
+
Role.create!(name: "CEO")
|
|
215
214
|
end
|
|
216
215
|
|
|
217
216
|
let(:child_role) do
|
|
@@ -230,7 +229,7 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
230
229
|
|
|
231
230
|
context "when the child has one sided many to many relation" do
|
|
232
231
|
let(:person) do
|
|
233
|
-
Person.create
|
|
232
|
+
Person.create!
|
|
234
233
|
end
|
|
235
234
|
|
|
236
235
|
let(:message) do
|
|
@@ -313,7 +312,7 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
313
312
|
context "when the parent is not a new record" do
|
|
314
313
|
|
|
315
314
|
let(:person) do
|
|
316
|
-
Person.create
|
|
315
|
+
Person.create!
|
|
317
316
|
end
|
|
318
317
|
|
|
319
318
|
let(:address) do
|
|
@@ -334,11 +333,11 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
334
333
|
context "when setting via an overridden method from the parent" do
|
|
335
334
|
|
|
336
335
|
let!(:person) do
|
|
337
|
-
Person.create
|
|
336
|
+
Person.create!
|
|
338
337
|
end
|
|
339
338
|
|
|
340
339
|
let!(:address) do
|
|
341
|
-
person.addresses.create(street: "Alt Treptow")
|
|
340
|
+
person.addresses.create!(street: "Alt Treptow")
|
|
342
341
|
end
|
|
343
342
|
|
|
344
343
|
let!(:new_address) do
|
|
@@ -346,7 +345,7 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
346
345
|
end
|
|
347
346
|
|
|
348
347
|
before do
|
|
349
|
-
person.update_attributes(set_addresses: [ new_address ])
|
|
348
|
+
person.update_attributes!(set_addresses: [ new_address ])
|
|
350
349
|
end
|
|
351
350
|
|
|
352
351
|
it "overwrites the existing addresses" do
|
|
@@ -376,7 +375,7 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
376
375
|
|
|
377
376
|
before do
|
|
378
377
|
person.addresses = [ address_two ]
|
|
379
|
-
person.save
|
|
378
|
+
person.save!
|
|
380
379
|
end
|
|
381
380
|
|
|
382
381
|
it "sets the new documents" do
|
|
@@ -410,7 +409,7 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
410
409
|
|
|
411
410
|
before do
|
|
412
411
|
doctor.addresses = [ address_one ]
|
|
413
|
-
doctor.save
|
|
412
|
+
doctor.save!
|
|
414
413
|
end
|
|
415
414
|
|
|
416
415
|
it "sets the documents" do
|
|
@@ -429,7 +428,7 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
429
428
|
|
|
430
429
|
before do
|
|
431
430
|
doctor.addresses = [ address_two ]
|
|
432
|
-
doctor.save
|
|
431
|
+
doctor.save!
|
|
433
432
|
end
|
|
434
433
|
|
|
435
434
|
it "sets the new documents" do
|
|
@@ -447,7 +446,7 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
447
446
|
context "when replacing an existing relation" do
|
|
448
447
|
|
|
449
448
|
let(:person) do
|
|
450
|
-
Person.create(addresses: addresses)
|
|
449
|
+
Person.create!(addresses: addresses)
|
|
451
450
|
end
|
|
452
451
|
|
|
453
452
|
let(:addresses) do
|
|
@@ -508,7 +507,7 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
508
507
|
end
|
|
509
508
|
|
|
510
509
|
let(:tracking_id) do
|
|
511
|
-
MyCompany::Model::TrackingId.create
|
|
510
|
+
MyCompany::Model::TrackingId.create!
|
|
512
511
|
end
|
|
513
512
|
|
|
514
513
|
let(:history) do
|
|
@@ -543,7 +542,7 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
543
542
|
inflect.singular("address_numbers", "address_number")
|
|
544
543
|
end
|
|
545
544
|
slave.address_numbers << AddressNumber.new(country_code: 1)
|
|
546
|
-
slave.save
|
|
545
|
+
slave.save!
|
|
547
546
|
end
|
|
548
547
|
|
|
549
548
|
it "requires an inflection to determine the class" do
|
|
@@ -554,15 +553,15 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
554
553
|
context "when setting the entire tree via a hash" do
|
|
555
554
|
|
|
556
555
|
let(:person) do
|
|
557
|
-
Person.create
|
|
556
|
+
Person.create!
|
|
558
557
|
end
|
|
559
558
|
|
|
560
559
|
let!(:address_one) do
|
|
561
|
-
person.addresses.create(street: "Tauentzienstr")
|
|
560
|
+
person.addresses.create!(street: "Tauentzienstr")
|
|
562
561
|
end
|
|
563
562
|
|
|
564
563
|
let!(:address_two) do
|
|
565
|
-
person.addresses.create(street: "Kudamm")
|
|
564
|
+
person.addresses.create!(street: "Kudamm")
|
|
566
565
|
end
|
|
567
566
|
|
|
568
567
|
let(:attributes) do
|
|
@@ -573,7 +572,7 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
573
572
|
|
|
574
573
|
before do
|
|
575
574
|
attributes["addresses"][0]["city"] = "Berlin"
|
|
576
|
-
person.update_attributes(attributes)
|
|
575
|
+
person.update_attributes!(attributes)
|
|
577
576
|
end
|
|
578
577
|
|
|
579
578
|
it "sets the new attributes" do
|
|
@@ -589,15 +588,15 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
589
588
|
context "when setting an embedded sub-document tree via a hash" do
|
|
590
589
|
|
|
591
590
|
let(:person) do
|
|
592
|
-
Person.create
|
|
591
|
+
Person.create!
|
|
593
592
|
end
|
|
594
593
|
|
|
595
594
|
let!(:address_one) do
|
|
596
|
-
person.addresses.create(street: "Tauentzienstr")
|
|
595
|
+
person.addresses.create!(street: "Tauentzienstr")
|
|
597
596
|
end
|
|
598
597
|
|
|
599
598
|
let!(:location_one) do
|
|
600
|
-
person.addresses.first.locations.create(name: "Work")
|
|
599
|
+
person.addresses.first.locations.create!(name: "Work")
|
|
601
600
|
end
|
|
602
601
|
|
|
603
602
|
let(:attributes) do
|
|
@@ -609,7 +608,7 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
609
608
|
before do
|
|
610
609
|
attributes["city"] = "Berlin"
|
|
611
610
|
attributes["locations"][0]["name"] = "Home"
|
|
612
|
-
person.addresses.first.update_attributes(attributes)
|
|
611
|
+
person.addresses.first.update_attributes!(attributes)
|
|
613
612
|
end
|
|
614
613
|
|
|
615
614
|
it "sets the new attributes on the address" do
|
|
@@ -682,7 +681,7 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
682
681
|
context "when the parent is not a new record" do
|
|
683
682
|
|
|
684
683
|
let(:parent_role) do
|
|
685
|
-
Role.create(name: "CTO")
|
|
684
|
+
Role.create!(name: "CTO")
|
|
686
685
|
end
|
|
687
686
|
|
|
688
687
|
let(:child_role) do
|
|
@@ -750,7 +749,7 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
750
749
|
context "when the parent is persisted" do
|
|
751
750
|
|
|
752
751
|
let(:person) do
|
|
753
|
-
Person.create
|
|
752
|
+
Person.create!
|
|
754
753
|
end
|
|
755
754
|
|
|
756
755
|
let(:address) do
|
|
@@ -799,7 +798,7 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
799
798
|
context "when saving the parent" do
|
|
800
799
|
|
|
801
800
|
before do
|
|
802
|
-
person.save
|
|
801
|
+
person.save!
|
|
803
802
|
person.reload
|
|
804
803
|
end
|
|
805
804
|
|
|
@@ -813,7 +812,7 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
813
812
|
context "when setting on a reload" do
|
|
814
813
|
|
|
815
814
|
let(:person) do
|
|
816
|
-
Person.create
|
|
815
|
+
Person.create!
|
|
817
816
|
end
|
|
818
817
|
|
|
819
818
|
let(:address) do
|
|
@@ -883,7 +882,7 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
883
882
|
context "when the documents are not new records" do
|
|
884
883
|
|
|
885
884
|
let(:parent_role) do
|
|
886
|
-
Role.create
|
|
885
|
+
Role.create!
|
|
887
886
|
end
|
|
888
887
|
|
|
889
888
|
let(:child_role) do
|
|
@@ -913,13 +912,13 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
913
912
|
describe "#as_document" do
|
|
914
913
|
|
|
915
914
|
let!(:person) do
|
|
916
|
-
Person.create
|
|
915
|
+
Person.create!
|
|
917
916
|
end
|
|
918
917
|
|
|
919
918
|
context 'when a string is used to access an attribute' do
|
|
920
919
|
|
|
921
920
|
let!(:address) do
|
|
922
|
-
person.addresses.create(street: "one")
|
|
921
|
+
person.addresses.create!(street: "one")
|
|
923
922
|
end
|
|
924
923
|
|
|
925
924
|
let(:document) do
|
|
@@ -934,7 +933,7 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
934
933
|
context 'when a symbol is used to access an attribute' do
|
|
935
934
|
|
|
936
935
|
let!(:address) do
|
|
937
|
-
person.addresses.create(street: "one")
|
|
936
|
+
person.addresses.create!(street: "one")
|
|
938
937
|
end
|
|
939
938
|
|
|
940
939
|
let(:document) do
|
|
@@ -949,7 +948,7 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
949
948
|
context "when the relation has no default scope" do
|
|
950
949
|
|
|
951
950
|
let!(:address) do
|
|
952
|
-
person.addresses.create(street: "one")
|
|
951
|
+
person.addresses.create!(street: "one")
|
|
953
952
|
end
|
|
954
953
|
|
|
955
954
|
let(:document) do
|
|
@@ -1106,7 +1105,7 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
1106
1105
|
context "when providing nested attributes" do
|
|
1107
1106
|
|
|
1108
1107
|
let(:person) do
|
|
1109
|
-
Person.create
|
|
1108
|
+
Person.create!
|
|
1110
1109
|
end
|
|
1111
1110
|
|
|
1112
1111
|
let(:address) do
|
|
@@ -1120,7 +1119,7 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
1120
1119
|
context "when followed by a save" do
|
|
1121
1120
|
|
|
1122
1121
|
before do
|
|
1123
|
-
address.save
|
|
1122
|
+
address.save!
|
|
1124
1123
|
end
|
|
1125
1124
|
|
|
1126
1125
|
let(:location) do
|
|
@@ -1140,13 +1139,13 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
1140
1139
|
context "when the parent has been persisted" do
|
|
1141
1140
|
|
|
1142
1141
|
let(:person) do
|
|
1143
|
-
Person.create
|
|
1142
|
+
Person.create!
|
|
1144
1143
|
end
|
|
1145
1144
|
|
|
1146
1145
|
context "when the children are persisted" do
|
|
1147
1146
|
|
|
1148
1147
|
let!(:address) do
|
|
1149
|
-
person.addresses.create(street: "High St")
|
|
1148
|
+
person.addresses.create!(street: "High St")
|
|
1150
1149
|
end
|
|
1151
1150
|
|
|
1152
1151
|
let!(:relation) do
|
|
@@ -1262,7 +1261,7 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
1262
1261
|
context "when the parent is not a new record" do
|
|
1263
1262
|
|
|
1264
1263
|
let(:person) do
|
|
1265
|
-
Person.create
|
|
1264
|
+
Person.create!
|
|
1266
1265
|
end
|
|
1267
1266
|
|
|
1268
1267
|
let(:address) do
|
|
@@ -1281,7 +1280,7 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
1281
1280
|
context "when concatenating an empty array" do
|
|
1282
1281
|
|
|
1283
1282
|
let(:person) do
|
|
1284
|
-
Person.create
|
|
1283
|
+
Person.create!
|
|
1285
1284
|
end
|
|
1286
1285
|
|
|
1287
1286
|
before do
|
|
@@ -1297,7 +1296,7 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
1297
1296
|
context "when appending more than one document at once" do
|
|
1298
1297
|
|
|
1299
1298
|
let(:person) do
|
|
1300
|
-
Person.create
|
|
1299
|
+
Person.create!
|
|
1301
1300
|
end
|
|
1302
1301
|
|
|
1303
1302
|
let(:address_one) do
|
|
@@ -1369,7 +1368,7 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
1369
1368
|
context "when the parent is not a new record" do
|
|
1370
1369
|
|
|
1371
1370
|
let(:parent_role) do
|
|
1372
|
-
Role.create(name: "CEO")
|
|
1371
|
+
Role.create!(name: "CEO")
|
|
1373
1372
|
end
|
|
1374
1373
|
|
|
1375
1374
|
let(:child_role) do
|
|
@@ -1390,49 +1389,261 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
1390
1389
|
describe "#count" do
|
|
1391
1390
|
|
|
1392
1391
|
let(:person) do
|
|
1393
|
-
Person.create
|
|
1392
|
+
Person.create!
|
|
1394
1393
|
end
|
|
1395
1394
|
|
|
1396
1395
|
before do
|
|
1397
|
-
person.addresses.create(street: "Upper")
|
|
1396
|
+
person.addresses.create!(street: "Upper")
|
|
1398
1397
|
person.addresses.build(street: "Bond")
|
|
1398
|
+
person.addresses.build(street: "Lower")
|
|
1399
1399
|
end
|
|
1400
1400
|
|
|
1401
1401
|
it "returns the number of persisted documents" do
|
|
1402
1402
|
expect(person.addresses.count).to eq(1)
|
|
1403
1403
|
end
|
|
1404
|
+
|
|
1405
|
+
context 'block form' do
|
|
1406
|
+
it "iterates across all documents" do
|
|
1407
|
+
expect(person.addresses.count {|a| a.persisted? }).to eq(1)
|
|
1408
|
+
expect(person.addresses.count {|a| !a.persisted? }).to eq(2)
|
|
1409
|
+
expect(person.addresses.count {|a| a.street.include?('on') }).to eq(1)
|
|
1410
|
+
expect(person.addresses.count {|a| a.street.ends_with?('er') }).to eq(2)
|
|
1411
|
+
end
|
|
1412
|
+
end
|
|
1413
|
+
|
|
1414
|
+
context 'argument form' do
|
|
1415
|
+
it "behaves correctly when given a model instance" do
|
|
1416
|
+
expect(person.addresses.count(person.addresses.first)).to eq(1)
|
|
1417
|
+
end
|
|
1418
|
+
|
|
1419
|
+
it "behaves correctly when given a non-model instance" do
|
|
1420
|
+
expect(person.addresses.count(1)).to eq(0)
|
|
1421
|
+
end
|
|
1422
|
+
end
|
|
1404
1423
|
end
|
|
1405
1424
|
|
|
1406
1425
|
describe "#any?" do
|
|
1407
1426
|
|
|
1408
1427
|
let(:person) do
|
|
1409
|
-
Person.create
|
|
1428
|
+
Person.create!
|
|
1410
1429
|
end
|
|
1411
1430
|
|
|
1412
1431
|
context "when documents are persisted" do
|
|
1413
1432
|
before do
|
|
1414
|
-
person.addresses.create(street: "Upper")
|
|
1433
|
+
person.addresses.create!(street: "Upper")
|
|
1415
1434
|
end
|
|
1416
1435
|
|
|
1417
1436
|
it "returns true" do
|
|
1418
1437
|
expect(person.addresses.any?).to be true
|
|
1419
1438
|
end
|
|
1439
|
+
|
|
1440
|
+
it "block form iterates across all documents" do
|
|
1441
|
+
expect(person.addresses.any? {|a| a.street == "Upper" }).to be true
|
|
1442
|
+
expect(person.addresses.any? {|a| a.street == "Bond" }).to be false
|
|
1443
|
+
end
|
|
1444
|
+
|
|
1445
|
+
context 'argument form' do
|
|
1446
|
+
it "behaves correctly when given a model instance" do
|
|
1447
|
+
expect(person.addresses.any?(person.addresses.first)).to be true
|
|
1448
|
+
end
|
|
1449
|
+
|
|
1450
|
+
it "behaves correctly when given a non-model instance" do
|
|
1451
|
+
expect(person.addresses.any?(1)).to be false
|
|
1452
|
+
end
|
|
1453
|
+
end
|
|
1420
1454
|
end
|
|
1421
|
-
|
|
1455
|
+
|
|
1422
1456
|
context "when documents are not persisted" do
|
|
1423
1457
|
before do
|
|
1424
1458
|
person.addresses.build(street: "Bond")
|
|
1425
1459
|
end
|
|
1426
|
-
|
|
1460
|
+
|
|
1427
1461
|
it "returns true" do
|
|
1428
1462
|
expect(person.addresses.any?).to be true
|
|
1429
1463
|
end
|
|
1464
|
+
|
|
1465
|
+
it "block form iterates across all documents" do
|
|
1466
|
+
expect(person.addresses.any? {|a| a.street == "Upper" }).to be false
|
|
1467
|
+
expect(person.addresses.any? {|a| a.street == "Bond" }).to be true
|
|
1468
|
+
end
|
|
1469
|
+
|
|
1470
|
+
context 'argument form' do
|
|
1471
|
+
it "behaves correctly when given a model instance" do
|
|
1472
|
+
expect(person.addresses.any?(person.addresses.first)).to be true
|
|
1473
|
+
end
|
|
1474
|
+
|
|
1475
|
+
it "behaves correctly when given a non-model instance" do
|
|
1476
|
+
expect(person.addresses.any?(1)).to be false
|
|
1477
|
+
end
|
|
1478
|
+
end
|
|
1430
1479
|
end
|
|
1431
1480
|
|
|
1432
|
-
context "when documents are not
|
|
1481
|
+
context "when documents are not present" do
|
|
1433
1482
|
it "returns false" do
|
|
1434
1483
|
expect(person.addresses.any?).to be false
|
|
1435
1484
|
end
|
|
1485
|
+
|
|
1486
|
+
it "block form iterates across all documents" do
|
|
1487
|
+
expect(person.addresses.any?(&:a)).to be false
|
|
1488
|
+
end
|
|
1489
|
+
|
|
1490
|
+
it "argument form is supported" do
|
|
1491
|
+
expect(person.addresses.any?(1)).to be false
|
|
1492
|
+
end
|
|
1493
|
+
end
|
|
1494
|
+
end
|
|
1495
|
+
|
|
1496
|
+
describe "#all?" do
|
|
1497
|
+
|
|
1498
|
+
let(:person) do
|
|
1499
|
+
Person.create!
|
|
1500
|
+
end
|
|
1501
|
+
|
|
1502
|
+
context "when documents are persisted" do
|
|
1503
|
+
before do
|
|
1504
|
+
person.addresses.create!(street: "Upper")
|
|
1505
|
+
end
|
|
1506
|
+
|
|
1507
|
+
it "returns true" do
|
|
1508
|
+
expect(person.addresses.all?).to be true
|
|
1509
|
+
end
|
|
1510
|
+
|
|
1511
|
+
it "block form iterates across all documents" do
|
|
1512
|
+
expect(person.addresses.all? {|a| a.street == "Upper" }).to be true
|
|
1513
|
+
expect(person.addresses.all? {|a| a.street == "Bond" }).to be false
|
|
1514
|
+
end
|
|
1515
|
+
|
|
1516
|
+
context 'argument form' do
|
|
1517
|
+
it "behaves correctly when given a model instance" do
|
|
1518
|
+
expect(person.addresses.all?(person.addresses.first)).to be true
|
|
1519
|
+
end
|
|
1520
|
+
|
|
1521
|
+
it "behaves correctly when given a non-model instance" do
|
|
1522
|
+
expect(person.addresses.all?(1)).to be false
|
|
1523
|
+
end
|
|
1524
|
+
end
|
|
1525
|
+
end
|
|
1526
|
+
|
|
1527
|
+
context "when documents are not persisted" do
|
|
1528
|
+
before do
|
|
1529
|
+
person.addresses.build(street: "Bond")
|
|
1530
|
+
end
|
|
1531
|
+
|
|
1532
|
+
it "returns true" do
|
|
1533
|
+
expect(person.addresses.all?).to be true
|
|
1534
|
+
end
|
|
1535
|
+
|
|
1536
|
+
it "block form iterates across all documents" do
|
|
1537
|
+
expect(person.addresses.all? {|a| a.street == "Upper" }).to be false
|
|
1538
|
+
expect(person.addresses.all? {|a| a.street == "Bond" }).to be true
|
|
1539
|
+
end
|
|
1540
|
+
|
|
1541
|
+
context 'argument form' do
|
|
1542
|
+
it "behaves correctly when given a model instance" do
|
|
1543
|
+
expect(person.addresses.all?(person.addresses.first)).to be true
|
|
1544
|
+
end
|
|
1545
|
+
|
|
1546
|
+
it "behaves correctly when given a non-model instance" do
|
|
1547
|
+
expect(person.addresses.all?(1)).to be false
|
|
1548
|
+
end
|
|
1549
|
+
end
|
|
1550
|
+
end
|
|
1551
|
+
|
|
1552
|
+
context "when documents are not present" do
|
|
1553
|
+
it "returns false" do
|
|
1554
|
+
expect(person.addresses.all?).to be true
|
|
1555
|
+
end
|
|
1556
|
+
|
|
1557
|
+
it "block form iterates across all documents" do
|
|
1558
|
+
expect(person.addresses.all?(&:foo)).to be true
|
|
1559
|
+
end
|
|
1560
|
+
|
|
1561
|
+
context 'argument form' do
|
|
1562
|
+
it "behaves correctly when given nil" do
|
|
1563
|
+
expect(person.addresses.all?(nil)).to be true
|
|
1564
|
+
end
|
|
1565
|
+
|
|
1566
|
+
it "behaves correctly when given a non-model instance" do
|
|
1567
|
+
expect(person.addresses.all?(1)).to be true
|
|
1568
|
+
end
|
|
1569
|
+
end
|
|
1570
|
+
end
|
|
1571
|
+
end
|
|
1572
|
+
|
|
1573
|
+
describe "#none?" do
|
|
1574
|
+
|
|
1575
|
+
let(:person) do
|
|
1576
|
+
Person.create!
|
|
1577
|
+
end
|
|
1578
|
+
|
|
1579
|
+
context "when documents are persisted" do
|
|
1580
|
+
before do
|
|
1581
|
+
person.addresses.create!(street: "Upper")
|
|
1582
|
+
end
|
|
1583
|
+
|
|
1584
|
+
it "returns true" do
|
|
1585
|
+
expect(person.addresses.none?).to be false
|
|
1586
|
+
end
|
|
1587
|
+
|
|
1588
|
+
it "block form iterates across all documents" do
|
|
1589
|
+
expect(person.addresses.none? {|a| a.street == "Upper" }).to be false
|
|
1590
|
+
expect(person.addresses.none? {|a| a.street == "Bond" }).to be true
|
|
1591
|
+
end
|
|
1592
|
+
|
|
1593
|
+
context 'argument form' do
|
|
1594
|
+
it "behaves correctly when given a model instance" do
|
|
1595
|
+
expect(person.addresses.none?(person.addresses.first)).to be false
|
|
1596
|
+
end
|
|
1597
|
+
|
|
1598
|
+
it "behaves correctly when given a non-model instance" do
|
|
1599
|
+
expect(person.addresses.none?(1)).to be true
|
|
1600
|
+
end
|
|
1601
|
+
end
|
|
1602
|
+
end
|
|
1603
|
+
|
|
1604
|
+
context "when documents are not persisted" do
|
|
1605
|
+
before do
|
|
1606
|
+
person.addresses.build(street: "Bond")
|
|
1607
|
+
end
|
|
1608
|
+
|
|
1609
|
+
it "returns true" do
|
|
1610
|
+
expect(person.addresses.none?).to be false
|
|
1611
|
+
end
|
|
1612
|
+
|
|
1613
|
+
it "block form iterates across all documents" do
|
|
1614
|
+
expect(person.addresses.none? {|a| a.street == "Upper" }).to be true
|
|
1615
|
+
expect(person.addresses.none? {|a| a.street == "Bond" }).to be false
|
|
1616
|
+
end
|
|
1617
|
+
|
|
1618
|
+
context 'argument form' do
|
|
1619
|
+
it "behaves correctly when given a model instance" do
|
|
1620
|
+
expect(person.addresses.none?(person.addresses.first)).to be false
|
|
1621
|
+
end
|
|
1622
|
+
|
|
1623
|
+
it "behaves correctly when given a non-model instance" do
|
|
1624
|
+
expect(person.addresses.none?(1)).to be true
|
|
1625
|
+
end
|
|
1626
|
+
end
|
|
1627
|
+
end
|
|
1628
|
+
|
|
1629
|
+
context "when documents are not present" do
|
|
1630
|
+
it "returns false" do
|
|
1631
|
+
expect(person.addresses.none?).to be true
|
|
1632
|
+
end
|
|
1633
|
+
|
|
1634
|
+
it "block form iterates across all documents" do
|
|
1635
|
+
expect(person.addresses.none?(&:a)).to be true
|
|
1636
|
+
end
|
|
1637
|
+
|
|
1638
|
+
context 'argument form' do
|
|
1639
|
+
it "behaves correctly when given nil" do
|
|
1640
|
+
expect(person.addresses.none?(nil)).to be true
|
|
1641
|
+
end
|
|
1642
|
+
|
|
1643
|
+
it "behaves correctly when given a non-model instance" do
|
|
1644
|
+
expect(person.addresses.none?(1)).to be true
|
|
1645
|
+
end
|
|
1646
|
+
end
|
|
1436
1647
|
end
|
|
1437
1648
|
end
|
|
1438
1649
|
|
|
@@ -1441,11 +1652,11 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
1441
1652
|
context "when providing multiple attributes" do
|
|
1442
1653
|
|
|
1443
1654
|
let(:person) do
|
|
1444
|
-
Person.create
|
|
1655
|
+
Person.create!
|
|
1445
1656
|
end
|
|
1446
1657
|
|
|
1447
1658
|
let!(:addresses) do
|
|
1448
|
-
person.addresses.create([{ street: "Bond" }, { street: "Upper" }])
|
|
1659
|
+
person.addresses.create!([{ street: "Bond" }, { street: "Upper" }])
|
|
1449
1660
|
end
|
|
1450
1661
|
|
|
1451
1662
|
it "creates multiple documents" do
|
|
@@ -1468,11 +1679,11 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
1468
1679
|
context "when the relation is not cyclic" do
|
|
1469
1680
|
|
|
1470
1681
|
let(:person) do
|
|
1471
|
-
Person.create
|
|
1682
|
+
Person.create!
|
|
1472
1683
|
end
|
|
1473
1684
|
|
|
1474
1685
|
let!(:address) do
|
|
1475
|
-
person.addresses.create(street: "Bond") do |address|
|
|
1686
|
+
person.addresses.create!(street: "Bond") do |address|
|
|
1476
1687
|
address.state = "CA"
|
|
1477
1688
|
end
|
|
1478
1689
|
end
|
|
@@ -1516,7 +1727,7 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
1516
1727
|
context "when embedding a multi word named document" do
|
|
1517
1728
|
|
|
1518
1729
|
let!(:component) do
|
|
1519
|
-
person.address_components.create(street: "Test")
|
|
1730
|
+
person.address_components.create!(street: "Test")
|
|
1520
1731
|
end
|
|
1521
1732
|
|
|
1522
1733
|
it "saves the embedded document" do
|
|
@@ -1528,11 +1739,11 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
1528
1739
|
context "when the relation is cyclic" do
|
|
1529
1740
|
|
|
1530
1741
|
let!(:entry) do
|
|
1531
|
-
Entry.create(title: "hi")
|
|
1742
|
+
Entry.create!(title: "hi")
|
|
1532
1743
|
end
|
|
1533
1744
|
|
|
1534
1745
|
let!(:child_entry) do
|
|
1535
|
-
entry.child_entries.create(title: "hello")
|
|
1746
|
+
entry.child_entries.create!(title: "hello")
|
|
1536
1747
|
end
|
|
1537
1748
|
|
|
1538
1749
|
it "creates a new child" do
|
|
@@ -1544,7 +1755,7 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
1544
1755
|
describe "#create!" do
|
|
1545
1756
|
|
|
1546
1757
|
let(:person) do
|
|
1547
|
-
Person.create
|
|
1758
|
+
Person.create!
|
|
1548
1759
|
end
|
|
1549
1760
|
|
|
1550
1761
|
context "when providing multiple attributes" do
|
|
@@ -1703,7 +1914,7 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
1703
1914
|
describe "#delete_if" do
|
|
1704
1915
|
|
|
1705
1916
|
let(:person) do
|
|
1706
|
-
Person.create
|
|
1917
|
+
Person.create!
|
|
1707
1918
|
end
|
|
1708
1919
|
|
|
1709
1920
|
context "when the documents are new" do
|
|
@@ -1752,11 +1963,11 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
1752
1963
|
context "when the documents persisted" do
|
|
1753
1964
|
|
|
1754
1965
|
let!(:address_one) do
|
|
1755
|
-
person.addresses.create(street: "Bond")
|
|
1966
|
+
person.addresses.create!(street: "Bond")
|
|
1756
1967
|
end
|
|
1757
1968
|
|
|
1758
1969
|
let!(:address_two) do
|
|
1759
|
-
person.addresses.create(street: "Upper")
|
|
1970
|
+
person.addresses.create!(street: "Upper")
|
|
1760
1971
|
end
|
|
1761
1972
|
|
|
1762
1973
|
context "when a block is provided" do
|
|
@@ -1811,7 +2022,7 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
1811
2022
|
describe "##{method}" do
|
|
1812
2023
|
|
|
1813
2024
|
let(:person) do
|
|
1814
|
-
Person.create
|
|
2025
|
+
Person.create!
|
|
1815
2026
|
end
|
|
1816
2027
|
|
|
1817
2028
|
context "when the documents are new" do
|
|
@@ -1865,11 +2076,11 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
1865
2076
|
context "when the documents persisted" do
|
|
1866
2077
|
|
|
1867
2078
|
let!(:address_one) do
|
|
1868
|
-
person.addresses.create(street: "Bond")
|
|
2079
|
+
person.addresses.create!(street: "Bond")
|
|
1869
2080
|
end
|
|
1870
2081
|
|
|
1871
2082
|
let!(:address_two) do
|
|
1872
|
-
person.addresses.create(street: "Upper")
|
|
2083
|
+
person.addresses.create!(street: "Upper")
|
|
1873
2084
|
end
|
|
1874
2085
|
|
|
1875
2086
|
context "when conditions are provided" do
|
|
@@ -1916,7 +2127,7 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
1916
2127
|
context "when removing and resaving" do
|
|
1917
2128
|
|
|
1918
2129
|
let(:owner) do
|
|
1919
|
-
PetOwner.create(title: "AKC")
|
|
2130
|
+
PetOwner.create!(title: "AKC")
|
|
1920
2131
|
end
|
|
1921
2132
|
|
|
1922
2133
|
before do
|
|
@@ -2012,13 +2223,13 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
2012
2223
|
describe "#exists?" do
|
|
2013
2224
|
|
|
2014
2225
|
let!(:person) do
|
|
2015
|
-
Person.create
|
|
2226
|
+
Person.create!
|
|
2016
2227
|
end
|
|
2017
2228
|
|
|
2018
2229
|
context "when documents exist in the database" do
|
|
2019
2230
|
|
|
2020
2231
|
before do
|
|
2021
|
-
person.addresses.create(street: "Bond St")
|
|
2232
|
+
person.addresses.create!(street: "Bond St")
|
|
2022
2233
|
end
|
|
2023
2234
|
|
|
2024
2235
|
it "returns true" do
|
|
@@ -2149,12 +2360,50 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
2149
2360
|
end
|
|
2150
2361
|
end
|
|
2151
2362
|
end
|
|
2363
|
+
|
|
2364
|
+
context "with block" do
|
|
2365
|
+
let!(:author) do
|
|
2366
|
+
Person.create!(title: 'Person')
|
|
2367
|
+
end
|
|
2368
|
+
|
|
2369
|
+
let!(:video_one) do
|
|
2370
|
+
author.videos.create!(title: 'video one')
|
|
2371
|
+
end
|
|
2372
|
+
|
|
2373
|
+
let!(:video_two) do
|
|
2374
|
+
author.videos.create!(title: 'video two')
|
|
2375
|
+
end
|
|
2376
|
+
|
|
2377
|
+
it "finds one" do
|
|
2378
|
+
expect(
|
|
2379
|
+
author.videos.find do |video|
|
|
2380
|
+
video.title == 'video one'
|
|
2381
|
+
end
|
|
2382
|
+
).to eq(video_one)
|
|
2383
|
+
end
|
|
2384
|
+
|
|
2385
|
+
it "returns first match of multiple" do
|
|
2386
|
+
expect(
|
|
2387
|
+
author.videos.find do |video|
|
|
2388
|
+
['video one', 'video two'].include?(video.title)
|
|
2389
|
+
end
|
|
2390
|
+
).to be_a(Video)
|
|
2391
|
+
end
|
|
2392
|
+
|
|
2393
|
+
it "returns nil when not found" do
|
|
2394
|
+
expect(
|
|
2395
|
+
author.videos.find do |video|
|
|
2396
|
+
video.title == 'non exiting one'
|
|
2397
|
+
end
|
|
2398
|
+
).to be_nil
|
|
2399
|
+
end
|
|
2400
|
+
end
|
|
2152
2401
|
end
|
|
2153
2402
|
|
|
2154
2403
|
describe "#find_or_create_by" do
|
|
2155
2404
|
|
|
2156
2405
|
let(:person) do
|
|
2157
|
-
Person.create
|
|
2406
|
+
Person.create!
|
|
2158
2407
|
end
|
|
2159
2408
|
|
|
2160
2409
|
let!(:address) do
|
|
@@ -2197,11 +2446,11 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
2197
2446
|
# context "when the child belongs to another document" do
|
|
2198
2447
|
#
|
|
2199
2448
|
# let(:product) do
|
|
2200
|
-
# Product.create
|
|
2449
|
+
# Product.create!
|
|
2201
2450
|
# end
|
|
2202
2451
|
#
|
|
2203
2452
|
# let(:purchase) do
|
|
2204
|
-
# Purchase.create
|
|
2453
|
+
# Purchase.create!
|
|
2205
2454
|
# end
|
|
2206
2455
|
#
|
|
2207
2456
|
# let(:line_item) do
|
|
@@ -2220,7 +2469,7 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
2220
2469
|
describe "#find_or_create_by!" do
|
|
2221
2470
|
|
|
2222
2471
|
let(:person) do
|
|
2223
|
-
Person.create
|
|
2472
|
+
Person.create!
|
|
2224
2473
|
end
|
|
2225
2474
|
|
|
2226
2475
|
let!(:address) do
|
|
@@ -2272,11 +2521,11 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
2272
2521
|
# context "when the child belongs to another document" do
|
|
2273
2522
|
#
|
|
2274
2523
|
# let(:product) do
|
|
2275
|
-
# Product.create
|
|
2524
|
+
# Product.create!
|
|
2276
2525
|
# end
|
|
2277
2526
|
#
|
|
2278
2527
|
# let(:purchase) do
|
|
2279
|
-
# Purchase.create
|
|
2528
|
+
# Purchase.create!
|
|
2280
2529
|
# end
|
|
2281
2530
|
#
|
|
2282
2531
|
# let(:line_item) do
|
|
@@ -2394,11 +2643,11 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
2394
2643
|
describe "#method_missing" do
|
|
2395
2644
|
|
|
2396
2645
|
let!(:person) do
|
|
2397
|
-
Person.create
|
|
2646
|
+
Person.create!
|
|
2398
2647
|
end
|
|
2399
2648
|
|
|
2400
2649
|
let!(:address_one) do
|
|
2401
|
-
person.addresses.create(
|
|
2650
|
+
person.addresses.create!(
|
|
2402
2651
|
street: "Market",
|
|
2403
2652
|
state: "CA",
|
|
2404
2653
|
services: [ "1", "2" ]
|
|
@@ -2406,7 +2655,7 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
2406
2655
|
end
|
|
2407
2656
|
|
|
2408
2657
|
let!(:address_two) do
|
|
2409
|
-
person.addresses.create(
|
|
2658
|
+
person.addresses.create!(
|
|
2410
2659
|
street: "Madison",
|
|
2411
2660
|
state: "NY",
|
|
2412
2661
|
services: [ "1", "2" ]
|
|
@@ -2554,17 +2803,17 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
2554
2803
|
describe "#pop" do
|
|
2555
2804
|
|
|
2556
2805
|
let(:person) do
|
|
2557
|
-
Person.create
|
|
2806
|
+
Person.create!
|
|
2558
2807
|
end
|
|
2559
2808
|
|
|
2560
2809
|
context "when no argument is provided" do
|
|
2561
2810
|
|
|
2562
2811
|
let!(:address_one) do
|
|
2563
|
-
person.addresses.create(street: "sonnenallee")
|
|
2812
|
+
person.addresses.create!(street: "sonnenallee")
|
|
2564
2813
|
end
|
|
2565
2814
|
|
|
2566
2815
|
let!(:address_two) do
|
|
2567
|
-
person.addresses.create(street: "hermannstr")
|
|
2816
|
+
person.addresses.create!(street: "hermannstr")
|
|
2568
2817
|
end
|
|
2569
2818
|
|
|
2570
2819
|
let!(:popped) do
|
|
@@ -2587,11 +2836,11 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
2587
2836
|
context "when an integer is provided" do
|
|
2588
2837
|
|
|
2589
2838
|
let!(:address_one) do
|
|
2590
|
-
person.addresses.create(street: "sonnenallee")
|
|
2839
|
+
person.addresses.create!(street: "sonnenallee")
|
|
2591
2840
|
end
|
|
2592
2841
|
|
|
2593
2842
|
let!(:address_two) do
|
|
2594
|
-
person.addresses.create(street: "hermannstr")
|
|
2843
|
+
person.addresses.create!(street: "hermannstr")
|
|
2595
2844
|
end
|
|
2596
2845
|
|
|
2597
2846
|
context "when the number is zero" do
|
|
@@ -2673,17 +2922,17 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
2673
2922
|
describe "#shift" do
|
|
2674
2923
|
|
|
2675
2924
|
let(:person) do
|
|
2676
|
-
Person.create
|
|
2925
|
+
Person.create!
|
|
2677
2926
|
end
|
|
2678
2927
|
|
|
2679
2928
|
context "when no argument is provided" do
|
|
2680
2929
|
|
|
2681
2930
|
let!(:address_one) do
|
|
2682
|
-
person.addresses.create(street: "sonnenallee")
|
|
2931
|
+
person.addresses.create!(street: "sonnenallee")
|
|
2683
2932
|
end
|
|
2684
2933
|
|
|
2685
2934
|
let!(:address_two) do
|
|
2686
|
-
person.addresses.create(street: "hermannstr")
|
|
2935
|
+
person.addresses.create!(street: "hermannstr")
|
|
2687
2936
|
end
|
|
2688
2937
|
|
|
2689
2938
|
let!(:shifted) do
|
|
@@ -2706,11 +2955,11 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
2706
2955
|
context "when an integer is provided" do
|
|
2707
2956
|
|
|
2708
2957
|
let!(:address_one) do
|
|
2709
|
-
person.addresses.create(street: "sonnenallee")
|
|
2958
|
+
person.addresses.create!(street: "sonnenallee")
|
|
2710
2959
|
end
|
|
2711
2960
|
|
|
2712
2961
|
let!(:address_two) do
|
|
2713
|
-
person.addresses.create(street: "hermannstr")
|
|
2962
|
+
person.addresses.create!(street: "hermannstr")
|
|
2714
2963
|
end
|
|
2715
2964
|
|
|
2716
2965
|
context "when the number is zero" do
|
|
@@ -2858,11 +3107,11 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
2858
3107
|
describe "##{method}" do
|
|
2859
3108
|
|
|
2860
3109
|
let(:person) do
|
|
2861
|
-
Person.create
|
|
3110
|
+
Person.create!
|
|
2862
3111
|
end
|
|
2863
3112
|
|
|
2864
3113
|
before do
|
|
2865
|
-
person.addresses.create(street: "Upper")
|
|
3114
|
+
person.addresses.create!(street: "Upper")
|
|
2866
3115
|
person.addresses.build(street: "Bond")
|
|
2867
3116
|
end
|
|
2868
3117
|
|
|
@@ -2900,7 +3149,7 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
2900
3149
|
context "when there are no documents present" do
|
|
2901
3150
|
|
|
2902
3151
|
let(:person) do
|
|
2903
|
-
Person.create
|
|
3152
|
+
Person.create!
|
|
2904
3153
|
end
|
|
2905
3154
|
|
|
2906
3155
|
it "updates nothing" do
|
|
@@ -2911,11 +3160,11 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
2911
3160
|
context "when documents are present" do
|
|
2912
3161
|
|
|
2913
3162
|
let(:person) do
|
|
2914
|
-
Person.create
|
|
3163
|
+
Person.create!
|
|
2915
3164
|
end
|
|
2916
3165
|
|
|
2917
3166
|
let!(:address) do
|
|
2918
|
-
person.addresses.create(street: "Hobrecht", number: 27)
|
|
3167
|
+
person.addresses.create!(street: "Hobrecht", number: 27)
|
|
2919
3168
|
end
|
|
2920
3169
|
|
|
2921
3170
|
context "when updating with a where clause" do
|
|
@@ -2950,16 +3199,16 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
2950
3199
|
context "when updating the bottom level" do
|
|
2951
3200
|
|
|
2952
3201
|
let!(:person) do
|
|
2953
|
-
Person.create
|
|
3202
|
+
Person.create!
|
|
2954
3203
|
end
|
|
2955
3204
|
|
|
2956
3205
|
let!(:address) do
|
|
2957
|
-
person.addresses.create(street: "Joachimstr")
|
|
3206
|
+
person.addresses.create!(street: "Joachimstr")
|
|
2958
3207
|
end
|
|
2959
3208
|
|
|
2960
3209
|
let!(:location) do
|
|
2961
|
-
address.locations.create(name: "vacation", number: 0)
|
|
2962
|
-
address.locations.create(name: "work", number: 3)
|
|
3210
|
+
address.locations.create!(name: "vacation", number: 0)
|
|
3211
|
+
address.locations.create!(name: "work", number: 3)
|
|
2963
3212
|
end
|
|
2964
3213
|
|
|
2965
3214
|
context "when updating with replacement of embedded array" do
|
|
@@ -2967,7 +3216,7 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
2967
3216
|
context "when updating with a hash" do
|
|
2968
3217
|
|
|
2969
3218
|
before do
|
|
2970
|
-
address.update_attributes(locations: [{ name: "home" }])
|
|
3219
|
+
address.update_attributes!(locations: [{ name: "home" }])
|
|
2971
3220
|
end
|
|
2972
3221
|
|
|
2973
3222
|
it "updates the attributes" do
|
|
@@ -2988,7 +3237,7 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
2988
3237
|
|
|
2989
3238
|
before do
|
|
2990
3239
|
location.number = 7
|
|
2991
|
-
location.save
|
|
3240
|
+
location.save!
|
|
2992
3241
|
end
|
|
2993
3242
|
|
|
2994
3243
|
let(:updated_location_number) do
|
|
@@ -3121,7 +3370,7 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
3121
3370
|
context "when creating a persisted tree" do
|
|
3122
3371
|
|
|
3123
3372
|
let(:quiz) do
|
|
3124
|
-
Quiz.create
|
|
3373
|
+
Quiz.create!
|
|
3125
3374
|
end
|
|
3126
3375
|
|
|
3127
3376
|
let(:page) do
|
|
@@ -3186,7 +3435,7 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
3186
3435
|
context "when saving the root" do
|
|
3187
3436
|
|
|
3188
3437
|
before do
|
|
3189
|
-
person.save
|
|
3438
|
+
person.save!
|
|
3190
3439
|
end
|
|
3191
3440
|
|
|
3192
3441
|
it "persists the first level document" do
|
|
@@ -3340,11 +3589,11 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
3340
3589
|
context "when accessing the parent in a destroy callback" do
|
|
3341
3590
|
|
|
3342
3591
|
let!(:league) do
|
|
3343
|
-
League.create
|
|
3592
|
+
League.create!
|
|
3344
3593
|
end
|
|
3345
3594
|
|
|
3346
3595
|
let!(:division) do
|
|
3347
|
-
league.divisions.create
|
|
3596
|
+
league.divisions.create!
|
|
3348
3597
|
end
|
|
3349
3598
|
|
|
3350
3599
|
before do
|
|
@@ -3359,15 +3608,15 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
3359
3608
|
context "when updating the parent with all attributes" do
|
|
3360
3609
|
|
|
3361
3610
|
let!(:person) do
|
|
3362
|
-
Person.create
|
|
3611
|
+
Person.create!
|
|
3363
3612
|
end
|
|
3364
3613
|
|
|
3365
3614
|
let!(:address) do
|
|
3366
|
-
person.addresses.create
|
|
3615
|
+
person.addresses.create!
|
|
3367
3616
|
end
|
|
3368
3617
|
|
|
3369
3618
|
before do
|
|
3370
|
-
person.update_attributes(person.attributes)
|
|
3619
|
+
person.update_attributes!(person.attributes)
|
|
3371
3620
|
end
|
|
3372
3621
|
|
|
3373
3622
|
it "does not duplicate the embedded documents" do
|
|
@@ -3382,13 +3631,13 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
3382
3631
|
context "when embedding children named versions" do
|
|
3383
3632
|
|
|
3384
3633
|
let(:acolyte) do
|
|
3385
|
-
Acolyte.create(name: "test")
|
|
3634
|
+
Acolyte.create!(name: "test")
|
|
3386
3635
|
end
|
|
3387
3636
|
|
|
3388
3637
|
context "when creating a child" do
|
|
3389
3638
|
|
|
3390
3639
|
let(:version) do
|
|
3391
|
-
acolyte.versions.create(number: 1)
|
|
3640
|
+
acolyte.versions.create!(number: 1)
|
|
3392
3641
|
end
|
|
3393
3642
|
|
|
3394
3643
|
it "allows the operation" do
|
|
@@ -3413,7 +3662,7 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
3413
3662
|
let!(:account) do
|
|
3414
3663
|
Account.new(name: "Testing").tap do |acct|
|
|
3415
3664
|
acct.memberships.build
|
|
3416
|
-
acct.save
|
|
3665
|
+
acct.save!
|
|
3417
3666
|
end
|
|
3418
3667
|
end
|
|
3419
3668
|
|
|
@@ -3425,10 +3674,10 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
3425
3674
|
|
|
3426
3675
|
before do
|
|
3427
3676
|
account.name = ""
|
|
3428
|
-
account.save
|
|
3429
3677
|
end
|
|
3430
3678
|
|
|
3431
3679
|
it "does not lose the parent reference" do
|
|
3680
|
+
expect(account.save).to eq false
|
|
3432
3681
|
expect(from_db.memberships.first.account).to eq(account)
|
|
3433
3682
|
end
|
|
3434
3683
|
end
|
|
@@ -3448,15 +3697,15 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
3448
3697
|
context "when moving an embedded document from one parent to another" do
|
|
3449
3698
|
|
|
3450
3699
|
let!(:person_one) do
|
|
3451
|
-
Person.create
|
|
3700
|
+
Person.create!
|
|
3452
3701
|
end
|
|
3453
3702
|
|
|
3454
3703
|
let!(:person_two) do
|
|
3455
|
-
Person.create
|
|
3704
|
+
Person.create!
|
|
3456
3705
|
end
|
|
3457
3706
|
|
|
3458
3707
|
let!(:address) do
|
|
3459
|
-
person_one.addresses.create(street: "Kudamm")
|
|
3708
|
+
person_one.addresses.create!(street: "Kudamm")
|
|
3460
3709
|
end
|
|
3461
3710
|
|
|
3462
3711
|
before do
|
|
@@ -3491,7 +3740,7 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
3491
3740
|
context "when the relation has a default scope" do
|
|
3492
3741
|
|
|
3493
3742
|
let!(:person) do
|
|
3494
|
-
Person.create
|
|
3743
|
+
Person.create!
|
|
3495
3744
|
end
|
|
3496
3745
|
|
|
3497
3746
|
context "when the default scope is a sort" do
|
|
@@ -3561,7 +3810,7 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
3561
3810
|
context "when indexing the documents" do
|
|
3562
3811
|
|
|
3563
3812
|
let!(:person) do
|
|
3564
|
-
Person.create
|
|
3813
|
+
Person.create!
|
|
3565
3814
|
end
|
|
3566
3815
|
|
|
3567
3816
|
context "when the documents have a limiting default scope" do
|
|
@@ -3610,18 +3859,18 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
3610
3859
|
context "when the embedded document has an array field" do
|
|
3611
3860
|
|
|
3612
3861
|
let!(:person) do
|
|
3613
|
-
Person.create
|
|
3862
|
+
Person.create!
|
|
3614
3863
|
end
|
|
3615
3864
|
|
|
3616
3865
|
let!(:video) do
|
|
3617
|
-
person.videos.create
|
|
3866
|
+
person.videos.create!
|
|
3618
3867
|
end
|
|
3619
3868
|
|
|
3620
3869
|
context "when saving the array on a persisted document" do
|
|
3621
3870
|
|
|
3622
3871
|
before do
|
|
3623
3872
|
video.genres = [ "horror", "scifi" ]
|
|
3624
|
-
video.save
|
|
3873
|
+
video.save!
|
|
3625
3874
|
end
|
|
3626
3875
|
|
|
3627
3876
|
it "sets the value" do
|
|
@@ -3646,7 +3895,7 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
3646
3895
|
|
|
3647
3896
|
before do
|
|
3648
3897
|
loaded_video.genres = [ "comedy" ]
|
|
3649
|
-
loaded_video.save
|
|
3898
|
+
loaded_video.save!
|
|
3650
3899
|
end
|
|
3651
3900
|
|
|
3652
3901
|
it "sets the new value" do
|
|
@@ -3664,15 +3913,15 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
3664
3913
|
context "when destroying an embedded document" do
|
|
3665
3914
|
|
|
3666
3915
|
let(:person) do
|
|
3667
|
-
Person.create
|
|
3916
|
+
Person.create!
|
|
3668
3917
|
end
|
|
3669
3918
|
|
|
3670
3919
|
let!(:address_one) do
|
|
3671
|
-
person.addresses.create(street: "hobrecht")
|
|
3920
|
+
person.addresses.create!(street: "hobrecht")
|
|
3672
3921
|
end
|
|
3673
3922
|
|
|
3674
3923
|
let!(:address_two) do
|
|
3675
|
-
person.addresses.create(street: "maybachufer")
|
|
3924
|
+
person.addresses.create!(street: "maybachufer")
|
|
3676
3925
|
end
|
|
3677
3926
|
|
|
3678
3927
|
before do
|
|
@@ -3744,7 +3993,7 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
3744
3993
|
context "when the association has an order defined" do
|
|
3745
3994
|
|
|
3746
3995
|
let(:person) do
|
|
3747
|
-
Person.create
|
|
3996
|
+
Person.create!
|
|
3748
3997
|
end
|
|
3749
3998
|
|
|
3750
3999
|
let(:message_one) do
|
|
@@ -3775,11 +4024,11 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
3775
4024
|
|
|
3776
4025
|
before do
|
|
3777
4026
|
person.aliases = [ { name: "A", priority: 3 }, { name: "B", priority: 4 }]
|
|
3778
|
-
person.save
|
|
4027
|
+
person.save!
|
|
3779
4028
|
end
|
|
3780
4029
|
|
|
3781
4030
|
let!(:person2) do
|
|
3782
|
-
Person.create( aliases: [ { name: "C", priority: 1 }, { name: "D", priority: 2 }])
|
|
4031
|
+
Person.create!( aliases: [ { name: "C", priority: 1 }, { name: "D", priority: 2 }])
|
|
3783
4032
|
end
|
|
3784
4033
|
|
|
3785
4034
|
it "allows ordering on a key of an embedded document" do
|
|
@@ -3814,7 +4063,7 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
3814
4063
|
context "when updating multiple levels in one update" do
|
|
3815
4064
|
|
|
3816
4065
|
let!(:person) do
|
|
3817
|
-
Person.create(
|
|
4066
|
+
Person.create!(
|
|
3818
4067
|
addresses: [
|
|
3819
4068
|
{ locations: [{ name: "home" }]}
|
|
3820
4069
|
]
|
|
@@ -3828,7 +4077,7 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
3828
4077
|
end
|
|
3829
4078
|
|
|
3830
4079
|
before do
|
|
3831
|
-
from_db.update_attributes(
|
|
4080
|
+
from_db.update_attributes!(
|
|
3832
4081
|
addresses: [
|
|
3833
4082
|
{ locations: [{ name: "work" }]}
|
|
3834
4083
|
]
|
|
@@ -3848,15 +4097,15 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
3848
4097
|
context "when the embedded relation sorts on a boolean" do
|
|
3849
4098
|
|
|
3850
4099
|
let(:circuit) do
|
|
3851
|
-
Circuit.create
|
|
4100
|
+
Circuit.create!
|
|
3852
4101
|
end
|
|
3853
4102
|
|
|
3854
4103
|
let!(:bus_one) do
|
|
3855
|
-
circuit.buses.create(saturday: true)
|
|
4104
|
+
circuit.buses.create!(saturday: true)
|
|
3856
4105
|
end
|
|
3857
4106
|
|
|
3858
4107
|
let!(:bus_two) do
|
|
3859
|
-
circuit.buses.create(saturday: false)
|
|
4108
|
+
circuit.buses.create!(saturday: false)
|
|
3860
4109
|
end
|
|
3861
4110
|
|
|
3862
4111
|
it "orders properly with the boolean" do
|
|
@@ -3867,7 +4116,7 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
3867
4116
|
context "when batch replacing multiple relations in a single update" do
|
|
3868
4117
|
|
|
3869
4118
|
let(:document) do
|
|
3870
|
-
Person.create
|
|
4119
|
+
Person.create!
|
|
3871
4120
|
end
|
|
3872
4121
|
|
|
3873
4122
|
let(:person) do
|
|
@@ -3875,23 +4124,23 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
3875
4124
|
end
|
|
3876
4125
|
|
|
3877
4126
|
let!(:symptom_one) do
|
|
3878
|
-
person.symptoms.create
|
|
4127
|
+
person.symptoms.create!
|
|
3879
4128
|
end
|
|
3880
4129
|
|
|
3881
4130
|
let!(:symptom_two) do
|
|
3882
|
-
person.symptoms.create
|
|
4131
|
+
person.symptoms.create!
|
|
3883
4132
|
end
|
|
3884
4133
|
|
|
3885
4134
|
let!(:appointment_one) do
|
|
3886
|
-
person.appointments.create
|
|
4135
|
+
person.appointments.create!
|
|
3887
4136
|
end
|
|
3888
4137
|
|
|
3889
4138
|
let!(:appointment_two) do
|
|
3890
|
-
person.appointments.create
|
|
4139
|
+
person.appointments.create!
|
|
3891
4140
|
end
|
|
3892
4141
|
|
|
3893
4142
|
before do
|
|
3894
|
-
person.update_attributes(
|
|
4143
|
+
person.update_attributes!(
|
|
3895
4144
|
appointments: [ appointment_one.as_document, appointment_two.as_document ],
|
|
3896
4145
|
symptoms: [ symptom_one.as_document, symptom_two.as_document ]
|
|
3897
4146
|
)
|
|
@@ -4224,7 +4473,7 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
4224
4473
|
context "when the parent has an after create callback" do
|
|
4225
4474
|
|
|
4226
4475
|
before do
|
|
4227
|
-
server.save
|
|
4476
|
+
server.save!
|
|
4228
4477
|
end
|
|
4229
4478
|
|
|
4230
4479
|
it "does not push the embedded documents twice" do
|
|
@@ -4236,7 +4485,7 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
4236
4485
|
context "when embedded documents are stored without ids" do
|
|
4237
4486
|
|
|
4238
4487
|
let!(:band) do
|
|
4239
|
-
Band.create(name: "Moderat")
|
|
4488
|
+
Band.create!(name: "Moderat")
|
|
4240
4489
|
end
|
|
4241
4490
|
|
|
4242
4491
|
before do
|
|
@@ -4286,7 +4535,7 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
4286
4535
|
company = Company.new
|
|
4287
4536
|
4.times { |i| company.staffs << Staff.new(age: 50 + i)}
|
|
4288
4537
|
2.times { |i| company.staffs << Staff.new(age: 40)}
|
|
4289
|
-
company.save
|
|
4538
|
+
company.save!
|
|
4290
4539
|
company.staffs.delete_if {|x| x.age >= 50}
|
|
4291
4540
|
expect(company.staffs.count).to eq(2)
|
|
4292
4541
|
end
|
|
@@ -4363,7 +4612,7 @@ describe Mongoid::Association::Embedded::EmbedsMany::Proxy do
|
|
|
4363
4612
|
context "when the parent is persisted" do
|
|
4364
4613
|
|
|
4365
4614
|
let(:zone) do
|
|
4366
|
-
DNS::Zone.create
|
|
4615
|
+
DNS::Zone.create!
|
|
4367
4616
|
end
|
|
4368
4617
|
|
|
4369
4618
|
let(:soa_1) do
|