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
|
|
|
@@ -27,7 +26,7 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
|
27
26
|
context "when the inverse_of is nil" do
|
|
28
27
|
|
|
29
28
|
let!(:article) do
|
|
30
|
-
Article.create
|
|
29
|
+
Article.create!
|
|
31
30
|
end
|
|
32
31
|
|
|
33
32
|
context "when the child document is new" do
|
|
@@ -48,7 +47,7 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
|
48
47
|
context "when the child document is not new" do
|
|
49
48
|
|
|
50
49
|
let(:preference) do
|
|
51
|
-
Preference.create
|
|
50
|
+
Preference.create!
|
|
52
51
|
end
|
|
53
52
|
|
|
54
53
|
it "does not persist the child document" do
|
|
@@ -80,7 +79,7 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
|
80
79
|
context "when the parent is not a new record" do
|
|
81
80
|
|
|
82
81
|
let(:person) do
|
|
83
|
-
Person.create
|
|
82
|
+
Person.create!
|
|
84
83
|
end
|
|
85
84
|
|
|
86
85
|
let!(:preference) do
|
|
@@ -124,11 +123,11 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
|
124
123
|
context "when appending in a parent create block" do
|
|
125
124
|
|
|
126
125
|
let!(:preference) do
|
|
127
|
-
Preference.create(name: "testing")
|
|
126
|
+
Preference.create!(name: "testing")
|
|
128
127
|
end
|
|
129
128
|
|
|
130
129
|
let!(:person) do
|
|
131
|
-
Person.create do |doc|
|
|
130
|
+
Person.create! do |doc|
|
|
132
131
|
doc.preferences << preference
|
|
133
132
|
end
|
|
134
133
|
end
|
|
@@ -213,7 +212,7 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
|
213
212
|
context "when the child is already persisted" do
|
|
214
213
|
|
|
215
214
|
let!(:persisted) do
|
|
216
|
-
Preference.create(name: "testy")
|
|
215
|
+
Preference.create!(name: "testy")
|
|
217
216
|
end
|
|
218
217
|
|
|
219
218
|
let(:preference) do
|
|
@@ -222,7 +221,7 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
|
222
221
|
|
|
223
222
|
before do
|
|
224
223
|
person.preferences.send(method, preference)
|
|
225
|
-
person.save
|
|
224
|
+
person.save!
|
|
226
225
|
end
|
|
227
226
|
|
|
228
227
|
it "adds the documents to the relation" do
|
|
@@ -253,7 +252,7 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
|
253
252
|
context "when setting via the associated ids" do
|
|
254
253
|
|
|
255
254
|
let!(:persisted) do
|
|
256
|
-
Preference.create(name: "testy")
|
|
255
|
+
Preference.create!(name: "testy")
|
|
257
256
|
end
|
|
258
257
|
|
|
259
258
|
let(:preference) do
|
|
@@ -265,7 +264,7 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
|
265
264
|
end
|
|
266
265
|
|
|
267
266
|
before do
|
|
268
|
-
person.save
|
|
267
|
+
person.save!
|
|
269
268
|
end
|
|
270
269
|
|
|
271
270
|
it "adds the documents to the relation" do
|
|
@@ -293,7 +292,7 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
|
293
292
|
context "when the parent is not a new record" do
|
|
294
293
|
|
|
295
294
|
let(:person) do
|
|
296
|
-
Person.create
|
|
295
|
+
Person.create!
|
|
297
296
|
end
|
|
298
297
|
|
|
299
298
|
let(:preference) do
|
|
@@ -375,11 +374,11 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
|
375
374
|
context "when both sides have been persisted" do
|
|
376
375
|
|
|
377
376
|
let(:person) do
|
|
378
|
-
Person.create
|
|
377
|
+
Person.create!
|
|
379
378
|
end
|
|
380
379
|
|
|
381
380
|
let(:event) do
|
|
382
|
-
Event.create
|
|
381
|
+
Event.create!
|
|
383
382
|
end
|
|
384
383
|
|
|
385
384
|
before do
|
|
@@ -428,15 +427,15 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
|
428
427
|
context "when the relation also includes a has_many relation" do
|
|
429
428
|
|
|
430
429
|
let(:artwork) do
|
|
431
|
-
Artwork.create
|
|
430
|
+
Artwork.create!
|
|
432
431
|
end
|
|
433
432
|
|
|
434
433
|
let(:exhibition) do
|
|
435
|
-
Exhibition.create
|
|
434
|
+
Exhibition.create!
|
|
436
435
|
end
|
|
437
436
|
|
|
438
437
|
let(:exhibitor) do
|
|
439
|
-
Exhibitor.create(exhibition: exhibition)
|
|
438
|
+
Exhibitor.create!(exhibition: exhibition)
|
|
440
439
|
end
|
|
441
440
|
|
|
442
441
|
before do
|
|
@@ -451,11 +450,11 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
|
451
450
|
context "when the relation is self referencing" do
|
|
452
451
|
|
|
453
452
|
let(:tag_one) do
|
|
454
|
-
Tag.create(text: "one")
|
|
453
|
+
Tag.create!(text: "one")
|
|
455
454
|
end
|
|
456
455
|
|
|
457
456
|
let(:tag_two) do
|
|
458
|
-
Tag.create(text: "two")
|
|
457
|
+
Tag.create!(text: "two")
|
|
459
458
|
end
|
|
460
459
|
|
|
461
460
|
before do
|
|
@@ -564,7 +563,7 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
|
564
563
|
end
|
|
565
564
|
|
|
566
565
|
let(:preference) do
|
|
567
|
-
Preference.create(name: "one")
|
|
566
|
+
Preference.create!(name: "one")
|
|
568
567
|
end
|
|
569
568
|
|
|
570
569
|
before do
|
|
@@ -585,7 +584,7 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
|
585
584
|
context "when the document is persisted" do
|
|
586
585
|
|
|
587
586
|
before do
|
|
588
|
-
person.save
|
|
587
|
+
person.save!
|
|
589
588
|
end
|
|
590
589
|
|
|
591
590
|
it "does not add the duplicates" do
|
|
@@ -656,7 +655,7 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
|
656
655
|
end
|
|
657
656
|
|
|
658
657
|
let!(:preference) do
|
|
659
|
-
Preference.create
|
|
658
|
+
Preference.create!
|
|
660
659
|
end
|
|
661
660
|
|
|
662
661
|
before do
|
|
@@ -703,7 +702,7 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
|
703
702
|
context "when the parent is not a new record" do
|
|
704
703
|
|
|
705
704
|
let(:person) do
|
|
706
|
-
Person.create
|
|
705
|
+
Person.create!
|
|
707
706
|
end
|
|
708
707
|
|
|
709
708
|
let(:preference) do
|
|
@@ -787,7 +786,7 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
|
787
786
|
expect(person.preferences).to eq([ another_preference ])
|
|
788
787
|
end
|
|
789
788
|
|
|
790
|
-
it "persists the relation between
|
|
789
|
+
it "persists the relation between another_preference and person" do
|
|
791
790
|
expect(another_preference.people).to eq([ person ])
|
|
792
791
|
end
|
|
793
792
|
|
|
@@ -799,7 +798,7 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
|
799
798
|
context "and person is saved" do
|
|
800
799
|
|
|
801
800
|
before do
|
|
802
|
-
person.save
|
|
801
|
+
person.save!
|
|
803
802
|
person.reload
|
|
804
803
|
another_preference.reload
|
|
805
804
|
end
|
|
@@ -808,7 +807,7 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
|
808
807
|
expect(person.preferences).to eq([ another_preference ])
|
|
809
808
|
end
|
|
810
809
|
|
|
811
|
-
it "persists the relation between
|
|
810
|
+
it "persists the relation between another_preference and person" do
|
|
812
811
|
expect(another_preference.people).to eq([ person ])
|
|
813
812
|
end
|
|
814
813
|
|
|
@@ -823,11 +822,11 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
|
823
822
|
|
|
824
823
|
describe "when self-referencing" do
|
|
825
824
|
let!(:parent) do
|
|
826
|
-
Vertex.create
|
|
825
|
+
Vertex.create!
|
|
827
826
|
end
|
|
828
827
|
|
|
829
828
|
let!(:child) do
|
|
830
|
-
Vertex.create(parents: [parent])
|
|
829
|
+
Vertex.create!(parents: [parent])
|
|
831
830
|
end
|
|
832
831
|
|
|
833
832
|
before do
|
|
@@ -964,7 +963,7 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
|
964
963
|
context "when the relation has been loaded" do
|
|
965
964
|
|
|
966
965
|
let(:person) do
|
|
967
|
-
Person.create
|
|
966
|
+
Person.create!
|
|
968
967
|
end
|
|
969
968
|
|
|
970
969
|
let(:preference) do
|
|
@@ -1004,7 +1003,7 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
|
1004
1003
|
end
|
|
1005
1004
|
|
|
1006
1005
|
let(:person) do
|
|
1007
|
-
Person.create
|
|
1006
|
+
Person.create!.tap do |p|
|
|
1008
1007
|
p.preferences = [ preference ]
|
|
1009
1008
|
end
|
|
1010
1009
|
end
|
|
@@ -1074,7 +1073,7 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
|
1074
1073
|
context "when the parent is not a new record" do
|
|
1075
1074
|
|
|
1076
1075
|
let(:person) do
|
|
1077
|
-
Person.create
|
|
1076
|
+
Person.create!
|
|
1078
1077
|
end
|
|
1079
1078
|
|
|
1080
1079
|
let!(:preference) do
|
|
@@ -1112,7 +1111,7 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
|
1112
1111
|
context "when saving the target" do
|
|
1113
1112
|
|
|
1114
1113
|
before do
|
|
1115
|
-
preference.save
|
|
1114
|
+
preference.save!
|
|
1116
1115
|
end
|
|
1117
1116
|
|
|
1118
1117
|
it "persists the parent keys" do
|
|
@@ -1131,13 +1130,13 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
|
1131
1130
|
context "when the parent has been persisted" do
|
|
1132
1131
|
|
|
1133
1132
|
let!(:person) do
|
|
1134
|
-
Person.create
|
|
1133
|
+
Person.create!
|
|
1135
1134
|
end
|
|
1136
1135
|
|
|
1137
1136
|
context "when the children are persisted" do
|
|
1138
1137
|
|
|
1139
1138
|
let!(:preference) do
|
|
1140
|
-
person.preferences.create(name: "settings")
|
|
1139
|
+
person.preferences.create!(name: "settings")
|
|
1141
1140
|
end
|
|
1142
1141
|
|
|
1143
1142
|
let!(:relation) do
|
|
@@ -1309,7 +1308,7 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
|
1309
1308
|
context "when the parent is not a new record" do
|
|
1310
1309
|
|
|
1311
1310
|
let(:person) do
|
|
1312
|
-
Person.create
|
|
1311
|
+
Person.create!
|
|
1313
1312
|
end
|
|
1314
1313
|
|
|
1315
1314
|
let!(:preference) do
|
|
@@ -1353,11 +1352,11 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
|
1353
1352
|
context "when appending in a parent create block" do
|
|
1354
1353
|
|
|
1355
1354
|
let!(:preference) do
|
|
1356
|
-
Preference.create(name: "testing")
|
|
1355
|
+
Preference.create!(name: "testing")
|
|
1357
1356
|
end
|
|
1358
1357
|
|
|
1359
1358
|
let!(:person) do
|
|
1360
|
-
Person.create do |doc|
|
|
1359
|
+
Person.create! do |doc|
|
|
1361
1360
|
doc.preferences.concat([ preference ])
|
|
1362
1361
|
end
|
|
1363
1362
|
end
|
|
@@ -1442,7 +1441,7 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
|
1442
1441
|
context "when the child is already persisted" do
|
|
1443
1442
|
|
|
1444
1443
|
let!(:persisted) do
|
|
1445
|
-
Preference.create(name: "testy")
|
|
1444
|
+
Preference.create!(name: "testy")
|
|
1446
1445
|
end
|
|
1447
1446
|
|
|
1448
1447
|
let(:preference) do
|
|
@@ -1451,7 +1450,7 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
|
1451
1450
|
|
|
1452
1451
|
before do
|
|
1453
1452
|
person.preferences.concat([ preference ])
|
|
1454
|
-
person.save
|
|
1453
|
+
person.save!
|
|
1455
1454
|
end
|
|
1456
1455
|
|
|
1457
1456
|
it "adds the documents to the relation" do
|
|
@@ -1482,7 +1481,7 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
|
1482
1481
|
context "when setting via the associated ids" do
|
|
1483
1482
|
|
|
1484
1483
|
let!(:persisted) do
|
|
1485
|
-
Preference.create(name: "testy")
|
|
1484
|
+
Preference.create!(name: "testy")
|
|
1486
1485
|
end
|
|
1487
1486
|
|
|
1488
1487
|
let(:preference) do
|
|
@@ -1494,7 +1493,7 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
|
1494
1493
|
end
|
|
1495
1494
|
|
|
1496
1495
|
before do
|
|
1497
|
-
person.save
|
|
1496
|
+
person.save!
|
|
1498
1497
|
end
|
|
1499
1498
|
|
|
1500
1499
|
it "adds the documents to the relation" do
|
|
@@ -1522,7 +1521,7 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
|
1522
1521
|
context "when the parent is not a new record" do
|
|
1523
1522
|
|
|
1524
1523
|
let(:person) do
|
|
1525
|
-
Person.create
|
|
1524
|
+
Person.create!
|
|
1526
1525
|
end
|
|
1527
1526
|
|
|
1528
1527
|
let(:preference) do
|
|
@@ -1604,11 +1603,11 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
|
1604
1603
|
context "when both sides have been persisted" do
|
|
1605
1604
|
|
|
1606
1605
|
let(:person) do
|
|
1607
|
-
Person.create
|
|
1606
|
+
Person.create!
|
|
1608
1607
|
end
|
|
1609
1608
|
|
|
1610
1609
|
let(:event) do
|
|
1611
|
-
Event.create
|
|
1610
|
+
Event.create!
|
|
1612
1611
|
end
|
|
1613
1612
|
|
|
1614
1613
|
before do
|
|
@@ -1657,15 +1656,15 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
|
1657
1656
|
context "when the relation also includes a has_many relation" do
|
|
1658
1657
|
|
|
1659
1658
|
let(:artwork) do
|
|
1660
|
-
Artwork.create
|
|
1659
|
+
Artwork.create!
|
|
1661
1660
|
end
|
|
1662
1661
|
|
|
1663
1662
|
let(:exhibition) do
|
|
1664
|
-
Exhibition.create
|
|
1663
|
+
Exhibition.create!
|
|
1665
1664
|
end
|
|
1666
1665
|
|
|
1667
1666
|
let(:exhibitor) do
|
|
1668
|
-
Exhibitor.create(exhibition: exhibition)
|
|
1667
|
+
Exhibitor.create!(exhibition: exhibition)
|
|
1669
1668
|
end
|
|
1670
1669
|
|
|
1671
1670
|
before do
|
|
@@ -1680,11 +1679,11 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
|
1680
1679
|
context "when the relation is self referencing" do
|
|
1681
1680
|
|
|
1682
1681
|
let(:tag_one) do
|
|
1683
|
-
Tag.create(text: "one")
|
|
1682
|
+
Tag.create!(text: "one")
|
|
1684
1683
|
end
|
|
1685
1684
|
|
|
1686
1685
|
let(:tag_two) do
|
|
1687
|
-
Tag.create(text: "two")
|
|
1686
|
+
Tag.create!(text: "two")
|
|
1688
1687
|
end
|
|
1689
1688
|
|
|
1690
1689
|
before do
|
|
@@ -1735,7 +1734,7 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
|
1735
1734
|
describe "#count" do
|
|
1736
1735
|
|
|
1737
1736
|
let(:person) do
|
|
1738
|
-
Person.create
|
|
1737
|
+
Person.create!
|
|
1739
1738
|
end
|
|
1740
1739
|
|
|
1741
1740
|
context "when nothing exists on the relation" do
|
|
@@ -1760,7 +1759,7 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
|
1760
1759
|
describe "#any?" do
|
|
1761
1760
|
|
|
1762
1761
|
let(:person) do
|
|
1763
|
-
Person.create
|
|
1762
|
+
Person.create!
|
|
1764
1763
|
end
|
|
1765
1764
|
|
|
1766
1765
|
context "when nothing exists on the relation" do
|
|
@@ -1797,7 +1796,7 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
|
1797
1796
|
context "when documents have been persisted" do
|
|
1798
1797
|
|
|
1799
1798
|
let!(:preference) do
|
|
1800
|
-
person.preferences.create(name: "setting")
|
|
1799
|
+
person.preferences.create!(name: "setting")
|
|
1801
1800
|
end
|
|
1802
1801
|
|
|
1803
1802
|
it "returns the number of persisted documents" do
|
|
@@ -1808,12 +1807,12 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
|
1808
1807
|
context "when appending to a loaded relation" do
|
|
1809
1808
|
|
|
1810
1809
|
let!(:preference) do
|
|
1811
|
-
person.preferences.create(name: "setting")
|
|
1810
|
+
person.preferences.create!(name: "setting")
|
|
1812
1811
|
end
|
|
1813
1812
|
|
|
1814
1813
|
before do
|
|
1815
1814
|
person.preferences.count
|
|
1816
|
-
person.preferences << Preference.create(name: "two")
|
|
1815
|
+
person.preferences << Preference.create!(name: "two")
|
|
1817
1816
|
end
|
|
1818
1817
|
|
|
1819
1818
|
it "returns the number of persisted documents" do
|
|
@@ -1837,7 +1836,7 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
|
1837
1836
|
context "when the documents are part of the relation" do
|
|
1838
1837
|
|
|
1839
1838
|
before do
|
|
1840
|
-
Preference.create(person_ids: [ person.id ])
|
|
1839
|
+
Preference.create!(person_ids: [ person.id ])
|
|
1841
1840
|
end
|
|
1842
1841
|
|
|
1843
1842
|
it "returns the count from the db" do
|
|
@@ -1848,7 +1847,7 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
|
1848
1847
|
context "when the documents are not part of the relation" do
|
|
1849
1848
|
|
|
1850
1849
|
before do
|
|
1851
|
-
Preference.create
|
|
1850
|
+
Preference.create!
|
|
1852
1851
|
end
|
|
1853
1852
|
|
|
1854
1853
|
it "returns the count from the db" do
|
|
@@ -1862,7 +1861,7 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
|
1862
1861
|
context "when documents have been persisted" do
|
|
1863
1862
|
|
|
1864
1863
|
let!(:house) do
|
|
1865
|
-
person.houses.create(name: "Wayne Manor")
|
|
1864
|
+
person.houses.create!(name: "Wayne Manor")
|
|
1866
1865
|
end
|
|
1867
1866
|
|
|
1868
1867
|
it "returns the number of persisted documents" do
|
|
@@ -1886,7 +1885,7 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
|
1886
1885
|
describe "#any?" do
|
|
1887
1886
|
|
|
1888
1887
|
let(:sandwich) do
|
|
1889
|
-
Sandwich.create
|
|
1888
|
+
Sandwich.create!
|
|
1890
1889
|
end
|
|
1891
1890
|
|
|
1892
1891
|
context "when nothing exists on the relation" do
|
|
@@ -1954,7 +1953,7 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
|
1954
1953
|
context "when documents have been persisted" do
|
|
1955
1954
|
|
|
1956
1955
|
let!(:meat) do
|
|
1957
|
-
sandwich.meats.create
|
|
1956
|
+
sandwich.meats.create!
|
|
1958
1957
|
end
|
|
1959
1958
|
|
|
1960
1959
|
it "returns true" do
|
|
@@ -1975,7 +1974,7 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
|
1975
1974
|
|
|
1976
1975
|
context "when new documents exist in the database" do
|
|
1977
1976
|
before do
|
|
1978
|
-
Meat.create(sandwiches: [sandwich])
|
|
1977
|
+
Meat.create!(sandwiches: [sandwich])
|
|
1979
1978
|
end
|
|
1980
1979
|
|
|
1981
1980
|
it "returns true" do
|
|
@@ -1993,15 +1992,15 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
|
1993
1992
|
context "when using string keys" do
|
|
1994
1993
|
|
|
1995
1994
|
let(:agent) do
|
|
1996
|
-
Agent.create(number: "007")
|
|
1995
|
+
Agent.create!(number: "007")
|
|
1997
1996
|
end
|
|
1998
1997
|
|
|
1999
1998
|
before do
|
|
2000
|
-
agent.accounts.
|
|
1999
|
+
agent.accounts.send(method, name: "test again")
|
|
2001
2000
|
end
|
|
2002
2001
|
|
|
2003
2002
|
it "does not convert the string key to an object id" do
|
|
2004
|
-
expect(agent.account_ids).to eq([ "
|
|
2003
|
+
expect(agent.account_ids).to eq([ "test-again" ])
|
|
2005
2004
|
end
|
|
2006
2005
|
end
|
|
2007
2006
|
|
|
@@ -2073,7 +2072,7 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
|
2073
2072
|
context "when validation fails" do
|
|
2074
2073
|
|
|
2075
2074
|
let(:person) do
|
|
2076
|
-
Person.create
|
|
2075
|
+
Person.create!
|
|
2077
2076
|
end
|
|
2078
2077
|
|
|
2079
2078
|
context "when the relation is not polymorphic" do
|
|
@@ -2090,15 +2089,15 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
|
2090
2089
|
describe "#delete" do
|
|
2091
2090
|
|
|
2092
2091
|
let(:person) do
|
|
2093
|
-
Person.create
|
|
2092
|
+
Person.create!
|
|
2094
2093
|
end
|
|
2095
2094
|
|
|
2096
2095
|
let(:preference_one) do
|
|
2097
|
-
Preference.create(name: "Testing")
|
|
2096
|
+
Preference.create!(name: "Testing")
|
|
2098
2097
|
end
|
|
2099
2098
|
|
|
2100
2099
|
let(:preference_two) do
|
|
2101
|
-
Preference.create(name: "Test")
|
|
2100
|
+
Preference.create!(name: "Test")
|
|
2102
2101
|
end
|
|
2103
2102
|
|
|
2104
2103
|
before do
|
|
@@ -2173,7 +2172,7 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
|
2173
2172
|
context "when :inverse_of is set" do
|
|
2174
2173
|
|
|
2175
2174
|
let(:event) do
|
|
2176
|
-
Event.create
|
|
2175
|
+
Event.create!
|
|
2177
2176
|
end
|
|
2178
2177
|
|
|
2179
2178
|
before do
|
|
@@ -2189,11 +2188,11 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
|
2189
2188
|
context "when the relationships are self referencing" do
|
|
2190
2189
|
|
|
2191
2190
|
let(:tag_one) do
|
|
2192
|
-
Tag.create(text: "one")
|
|
2191
|
+
Tag.create!(text: "one")
|
|
2193
2192
|
end
|
|
2194
2193
|
|
|
2195
2194
|
let(:tag_two) do
|
|
2196
|
-
Tag.create(text: "two")
|
|
2195
|
+
Tag.create!(text: "two")
|
|
2197
2196
|
end
|
|
2198
2197
|
|
|
2199
2198
|
before do
|
|
@@ -2362,15 +2361,15 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
|
2362
2361
|
context "when conditions are provided" do
|
|
2363
2362
|
|
|
2364
2363
|
let(:person) do
|
|
2365
|
-
Person.create
|
|
2364
|
+
Person.create!
|
|
2366
2365
|
end
|
|
2367
2366
|
|
|
2368
2367
|
let!(:preference_one) do
|
|
2369
|
-
person.preferences.create(name: "Testing")
|
|
2368
|
+
person.preferences.create!(name: "Testing")
|
|
2370
2369
|
end
|
|
2371
2370
|
|
|
2372
2371
|
let!(:preference_two) do
|
|
2373
|
-
person.preferences.create(name: "Test")
|
|
2372
|
+
person.preferences.create!(name: "Test")
|
|
2374
2373
|
end
|
|
2375
2374
|
|
|
2376
2375
|
let!(:deleted) do
|
|
@@ -2404,9 +2403,9 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
|
2404
2403
|
context "when conditions are not provided" do
|
|
2405
2404
|
|
|
2406
2405
|
let(:person) do
|
|
2407
|
-
Person.create
|
|
2408
|
-
person.preferences.create(name: "Testing")
|
|
2409
|
-
person.preferences.create(name: "Test")
|
|
2406
|
+
Person.create!.tap do |person|
|
|
2407
|
+
person.preferences.create!(name: "Testing")
|
|
2408
|
+
person.preferences.create!(name: "Test")
|
|
2410
2409
|
end
|
|
2411
2410
|
end
|
|
2412
2411
|
|
|
@@ -2444,13 +2443,13 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
|
2444
2443
|
describe "#exists?" do
|
|
2445
2444
|
|
|
2446
2445
|
let!(:person) do
|
|
2447
|
-
Person.create
|
|
2446
|
+
Person.create!
|
|
2448
2447
|
end
|
|
2449
2448
|
|
|
2450
2449
|
context "when documents exist in the database" do
|
|
2451
2450
|
|
|
2452
2451
|
before do
|
|
2453
|
-
person.preferences.create
|
|
2452
|
+
person.preferences.create!
|
|
2454
2453
|
end
|
|
2455
2454
|
|
|
2456
2455
|
it "returns true" do
|
|
@@ -2475,23 +2474,23 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
|
2475
2474
|
context "when the relation is not polymorphic" do
|
|
2476
2475
|
|
|
2477
2476
|
let(:person) do
|
|
2478
|
-
Person.create
|
|
2477
|
+
Person.create!
|
|
2479
2478
|
end
|
|
2480
2479
|
|
|
2481
2480
|
let!(:preference_one) do
|
|
2482
|
-
person.preferences.create(name: "Test")
|
|
2481
|
+
person.preferences.create!(name: "Test")
|
|
2483
2482
|
end
|
|
2484
2483
|
|
|
2485
2484
|
let!(:preference_two) do
|
|
2486
|
-
person.preferences.create(name: "OMG I has relations")
|
|
2485
|
+
person.preferences.create!(name: "OMG I has relations")
|
|
2487
2486
|
end
|
|
2488
2487
|
|
|
2489
2488
|
let!(:unrelated_pref) do
|
|
2490
|
-
Preference.create(name: "orphan annie")
|
|
2489
|
+
Preference.create!(name: "orphan annie")
|
|
2491
2490
|
end
|
|
2492
2491
|
|
|
2493
2492
|
let!(:unrelated_pref_two) do
|
|
2494
|
-
Preference.create(name: "orphan two")
|
|
2493
|
+
Preference.create!(name: "orphan two")
|
|
2495
2494
|
end
|
|
2496
2495
|
|
|
2497
2496
|
context "when providing an id" do
|
|
@@ -2569,7 +2568,7 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
|
2569
2568
|
end
|
|
2570
2569
|
end
|
|
2571
2570
|
|
|
2572
|
-
context "when the ids
|
|
2571
|
+
context "when the ids match unreferenced documents" do
|
|
2573
2572
|
|
|
2574
2573
|
let(:preferences) do
|
|
2575
2574
|
person.preferences.find(
|
|
@@ -2627,11 +2626,11 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
|
2627
2626
|
context "when the relation is not polymorphic" do
|
|
2628
2627
|
|
|
2629
2628
|
let(:person) do
|
|
2630
|
-
Person.create
|
|
2629
|
+
Person.create!
|
|
2631
2630
|
end
|
|
2632
2631
|
|
|
2633
2632
|
let!(:preference) do
|
|
2634
|
-
person.preferences.create(name: "Testing")
|
|
2633
|
+
person.preferences.create!(name: "Testing")
|
|
2635
2634
|
end
|
|
2636
2635
|
|
|
2637
2636
|
context "when the document exists" do
|
|
@@ -2667,11 +2666,11 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
|
2667
2666
|
context "when the relation is not polymorphic" do
|
|
2668
2667
|
|
|
2669
2668
|
let(:person) do
|
|
2670
|
-
Person.create
|
|
2669
|
+
Person.create!
|
|
2671
2670
|
end
|
|
2672
2671
|
|
|
2673
2672
|
let!(:preference) do
|
|
2674
|
-
person.preferences.create(name: "Testing")
|
|
2673
|
+
person.preferences.create!(name: "Testing")
|
|
2675
2674
|
end
|
|
2676
2675
|
|
|
2677
2676
|
context "when the document exists" do
|
|
@@ -2716,11 +2715,11 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
|
2716
2715
|
context "when the relation is not polymorphic" do
|
|
2717
2716
|
|
|
2718
2717
|
let(:person) do
|
|
2719
|
-
Person.create
|
|
2718
|
+
Person.create!
|
|
2720
2719
|
end
|
|
2721
2720
|
|
|
2722
2721
|
let!(:preference) do
|
|
2723
|
-
person.preferences.create(name: "Testing")
|
|
2722
|
+
person.preferences.create!(name: "Testing")
|
|
2724
2723
|
end
|
|
2725
2724
|
|
|
2726
2725
|
context "when the document exists" do
|
|
@@ -2754,15 +2753,15 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
|
2754
2753
|
describe "#max" do
|
|
2755
2754
|
|
|
2756
2755
|
let(:person) do
|
|
2757
|
-
Person.create
|
|
2756
|
+
Person.create!
|
|
2758
2757
|
end
|
|
2759
2758
|
|
|
2760
2759
|
let(:preference_one) do
|
|
2761
|
-
Preference.create(ranking: 5)
|
|
2760
|
+
Preference.create!(ranking: 5)
|
|
2762
2761
|
end
|
|
2763
2762
|
|
|
2764
2763
|
let(:preference_two) do
|
|
2765
|
-
Preference.create(ranking: 10)
|
|
2764
|
+
Preference.create!(ranking: 10)
|
|
2766
2765
|
end
|
|
2767
2766
|
|
|
2768
2767
|
before do
|
|
@@ -2783,15 +2782,15 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
|
2783
2782
|
describe "#max_by" do
|
|
2784
2783
|
|
|
2785
2784
|
let(:person) do
|
|
2786
|
-
Person.create
|
|
2785
|
+
Person.create!
|
|
2787
2786
|
end
|
|
2788
2787
|
|
|
2789
2788
|
let(:preference_one) do
|
|
2790
|
-
Preference.create(ranking: 5)
|
|
2789
|
+
Preference.create!(ranking: 5)
|
|
2791
2790
|
end
|
|
2792
2791
|
|
|
2793
2792
|
let(:preference_two) do
|
|
2794
|
-
Preference.create(ranking: 10)
|
|
2793
|
+
Preference.create!(ranking: 10)
|
|
2795
2794
|
end
|
|
2796
2795
|
|
|
2797
2796
|
before do
|
|
@@ -2810,19 +2809,19 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
|
2810
2809
|
describe "#method_missing" do
|
|
2811
2810
|
|
|
2812
2811
|
let!(:person) do
|
|
2813
|
-
Person.create
|
|
2812
|
+
Person.create!
|
|
2814
2813
|
end
|
|
2815
2814
|
|
|
2816
2815
|
let!(:preference_one) do
|
|
2817
|
-
person.preferences.create(name: "First", value: "Posting")
|
|
2816
|
+
person.preferences.create!(name: "First", value: "Posting")
|
|
2818
2817
|
end
|
|
2819
2818
|
|
|
2820
2819
|
let!(:preference_two) do
|
|
2821
|
-
person.preferences.create(name: "Second", value: "Testing")
|
|
2820
|
+
person.preferences.create!(name: "Second", value: "Testing")
|
|
2822
2821
|
end
|
|
2823
2822
|
|
|
2824
2823
|
let!(:unrelated) do
|
|
2825
|
-
Preference.create(name: "Third")
|
|
2824
|
+
Preference.create!(name: "Third")
|
|
2826
2825
|
end
|
|
2827
2826
|
|
|
2828
2827
|
context "when providing a single criteria" do
|
|
@@ -2897,7 +2896,7 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
|
2897
2896
|
context "when the inverse relation is not defined" do
|
|
2898
2897
|
|
|
2899
2898
|
let!(:house) do
|
|
2900
|
-
person.houses.create(name: "Wayne Manor")
|
|
2899
|
+
person.houses.create!(name: "Wayne Manor")
|
|
2901
2900
|
end
|
|
2902
2901
|
|
|
2903
2902
|
it "returns the distinct values for the fields" do
|
|
@@ -2911,15 +2910,15 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
|
2911
2910
|
describe "#min" do
|
|
2912
2911
|
|
|
2913
2912
|
let(:person) do
|
|
2914
|
-
Person.create
|
|
2913
|
+
Person.create!
|
|
2915
2914
|
end
|
|
2916
2915
|
|
|
2917
2916
|
let(:preference_one) do
|
|
2918
|
-
Preference.create(ranking: 5)
|
|
2917
|
+
Preference.create!(ranking: 5)
|
|
2919
2918
|
end
|
|
2920
2919
|
|
|
2921
2920
|
let(:preference_two) do
|
|
2922
|
-
Preference.create(ranking: 10)
|
|
2921
|
+
Preference.create!(ranking: 10)
|
|
2923
2922
|
end
|
|
2924
2923
|
|
|
2925
2924
|
before do
|
|
@@ -2940,15 +2939,15 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
|
2940
2939
|
describe "#min_by" do
|
|
2941
2940
|
|
|
2942
2941
|
let(:person) do
|
|
2943
|
-
Person.create
|
|
2942
|
+
Person.create!
|
|
2944
2943
|
end
|
|
2945
2944
|
|
|
2946
2945
|
let(:preference_one) do
|
|
2947
|
-
Preference.create(ranking: 5)
|
|
2946
|
+
Preference.create!(ranking: 5)
|
|
2948
2947
|
end
|
|
2949
2948
|
|
|
2950
2949
|
let(:preference_two) do
|
|
2951
|
-
Preference.create(ranking: 10)
|
|
2950
|
+
Preference.create!(ranking: 10)
|
|
2952
2951
|
end
|
|
2953
2952
|
|
|
2954
2953
|
before do
|
|
@@ -2974,15 +2973,15 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
|
2974
2973
|
describe "#nullify_all" do
|
|
2975
2974
|
|
|
2976
2975
|
let(:person) do
|
|
2977
|
-
Person.create
|
|
2976
|
+
Person.create!
|
|
2978
2977
|
end
|
|
2979
2978
|
|
|
2980
2979
|
let!(:preference_one) do
|
|
2981
|
-
person.preferences.create(name: "One")
|
|
2980
|
+
person.preferences.create!(name: "One")
|
|
2982
2981
|
end
|
|
2983
2982
|
|
|
2984
2983
|
let!(:preference_two) do
|
|
2985
|
-
person.preferences.create(name: "Two")
|
|
2984
|
+
person.preferences.create!(name: "Two")
|
|
2986
2985
|
end
|
|
2987
2986
|
|
|
2988
2987
|
before do
|
|
@@ -3103,13 +3102,13 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
|
3103
3102
|
describe "##{method}" do
|
|
3104
3103
|
|
|
3105
3104
|
let(:person) do
|
|
3106
|
-
Person.create
|
|
3105
|
+
Person.create!
|
|
3107
3106
|
end
|
|
3108
3107
|
|
|
3109
3108
|
context "when documents have been persisted" do
|
|
3110
3109
|
|
|
3111
3110
|
let!(:preference) do
|
|
3112
|
-
person.preferences.create(name: "Testing")
|
|
3111
|
+
person.preferences.create!(name: "Testing")
|
|
3113
3112
|
end
|
|
3114
3113
|
|
|
3115
3114
|
it "returns the number of documents" do
|
|
@@ -3121,7 +3120,7 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
|
3121
3120
|
|
|
3122
3121
|
before do
|
|
3123
3122
|
person.preferences.build(name: "Test")
|
|
3124
|
-
person.preferences.create(name: "Test 2")
|
|
3123
|
+
person.preferences.create!(name: "Test 2")
|
|
3125
3124
|
end
|
|
3126
3125
|
|
|
3127
3126
|
it "returns the total number of documents" do
|
|
@@ -3136,15 +3135,15 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
|
3136
3135
|
context "when the relation has no default scope" do
|
|
3137
3136
|
|
|
3138
3137
|
let!(:person) do
|
|
3139
|
-
Person.create
|
|
3138
|
+
Person.create!
|
|
3140
3139
|
end
|
|
3141
3140
|
|
|
3142
3141
|
let!(:preference_one) do
|
|
3143
|
-
person.preferences.create(name: "first")
|
|
3142
|
+
person.preferences.create!(name: "first")
|
|
3144
3143
|
end
|
|
3145
3144
|
|
|
3146
3145
|
let!(:preference_two) do
|
|
3147
|
-
Preference.create(name: "second")
|
|
3146
|
+
Preference.create!(name: "second")
|
|
3148
3147
|
end
|
|
3149
3148
|
|
|
3150
3149
|
let(:unscoped) do
|
|
@@ -3159,15 +3158,15 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
|
3159
3158
|
context "when the relation has a default scope" do
|
|
3160
3159
|
|
|
3161
3160
|
let!(:person) do
|
|
3162
|
-
Person.create
|
|
3161
|
+
Person.create!
|
|
3163
3162
|
end
|
|
3164
3163
|
|
|
3165
3164
|
let!(:house_one) do
|
|
3166
|
-
person.houses.create(name: "first")
|
|
3165
|
+
person.houses.create!(name: "first")
|
|
3167
3166
|
end
|
|
3168
3167
|
|
|
3169
3168
|
let!(:house_two) do
|
|
3170
|
-
House.create(name: "second")
|
|
3169
|
+
House.create!(name: "second")
|
|
3171
3170
|
end
|
|
3172
3171
|
|
|
3173
3172
|
let(:unscoped) do
|
|
@@ -3203,10 +3202,10 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
|
3203
3202
|
end
|
|
3204
3203
|
|
|
3205
3204
|
before do
|
|
3206
|
-
person.update_attributes(
|
|
3205
|
+
person.update_attributes!(
|
|
3207
3206
|
houses: [ wife_house, exwife_house, girlfriend_house ]
|
|
3208
3207
|
)
|
|
3209
|
-
person.update_attributes(house_ids: [ girlfriend_house.id ])
|
|
3208
|
+
person.update_attributes!(house_ids: [ girlfriend_house.id ])
|
|
3210
3209
|
end
|
|
3211
3210
|
|
|
3212
3211
|
context "when reloading" do
|
|
@@ -3253,7 +3252,7 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
|
3253
3252
|
end
|
|
3254
3253
|
|
|
3255
3254
|
let!(:business) do
|
|
3256
|
-
Business.create(name: "serious", owners: [ user ])
|
|
3255
|
+
Business.create!(name: "serious", owners: [ user ])
|
|
3257
3256
|
end
|
|
3258
3257
|
|
|
3259
3258
|
before do
|
|
@@ -3296,11 +3295,11 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
|
3296
3295
|
context "when the documents are persisted" do
|
|
3297
3296
|
|
|
3298
3297
|
let(:user) do
|
|
3299
|
-
User.create(name: "tst")
|
|
3298
|
+
User.create!(name: "tst")
|
|
3300
3299
|
end
|
|
3301
3300
|
|
|
3302
3301
|
let(:business) do
|
|
3303
|
-
Business.create(name: "srs", owners: [ user ])
|
|
3302
|
+
Business.create!(name: "srs", owners: [ user ])
|
|
3304
3303
|
end
|
|
3305
3304
|
|
|
3306
3305
|
before do
|
|
@@ -3344,11 +3343,11 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
|
3344
3343
|
context "when binding the relation multiple times" do
|
|
3345
3344
|
|
|
3346
3345
|
let(:person) do
|
|
3347
|
-
Person.create
|
|
3346
|
+
Person.create!
|
|
3348
3347
|
end
|
|
3349
3348
|
|
|
3350
3349
|
let(:preference) do
|
|
3351
|
-
person.preferences.create(name: "testing")
|
|
3350
|
+
person.preferences.create!(name: "testing")
|
|
3352
3351
|
end
|
|
3353
3352
|
|
|
3354
3353
|
before do
|
|
@@ -3367,19 +3366,19 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
|
3367
3366
|
context "when the association has order criteria" do
|
|
3368
3367
|
|
|
3369
3368
|
let(:person) do
|
|
3370
|
-
Person.create
|
|
3369
|
+
Person.create!
|
|
3371
3370
|
end
|
|
3372
3371
|
|
|
3373
3372
|
let(:preference_one) do
|
|
3374
|
-
OrderedPreference.create(name: 'preference-1', value: 10)
|
|
3373
|
+
OrderedPreference.create!(name: 'preference-1', value: 10)
|
|
3375
3374
|
end
|
|
3376
3375
|
|
|
3377
3376
|
let(:preference_two) do
|
|
3378
|
-
OrderedPreference.create(name: 'preference-2', value: 20)
|
|
3377
|
+
OrderedPreference.create!(name: 'preference-2', value: 20)
|
|
3379
3378
|
end
|
|
3380
3379
|
|
|
3381
3380
|
let(:preference_three) do
|
|
3382
|
-
OrderedPreference.create(name: 'preference-3', value: 20)
|
|
3381
|
+
OrderedPreference.create!(name: 'preference-3', value: 20)
|
|
3383
3382
|
end
|
|
3384
3383
|
|
|
3385
3384
|
before do
|
|
@@ -3403,7 +3402,7 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
|
3403
3402
|
context "when the parent is not a new record and freshly loaded" do
|
|
3404
3403
|
|
|
3405
3404
|
let(:person) do
|
|
3406
|
-
Person.create
|
|
3405
|
+
Person.create!
|
|
3407
3406
|
end
|
|
3408
3407
|
|
|
3409
3408
|
let(:preference) do
|
|
@@ -3412,7 +3411,7 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
|
3412
3411
|
|
|
3413
3412
|
before do
|
|
3414
3413
|
person.preferences = [ preference ]
|
|
3415
|
-
person.save
|
|
3414
|
+
person.save!
|
|
3416
3415
|
person.reload
|
|
3417
3416
|
person.preferences = nil
|
|
3418
3417
|
end
|
|
@@ -3435,15 +3434,15 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
|
3435
3434
|
context "when reloading the relation" do
|
|
3436
3435
|
|
|
3437
3436
|
let!(:person) do
|
|
3438
|
-
Person.create
|
|
3437
|
+
Person.create!
|
|
3439
3438
|
end
|
|
3440
3439
|
|
|
3441
3440
|
let!(:preference_one) do
|
|
3442
|
-
Preference.create(name: "one")
|
|
3441
|
+
Preference.create!(name: "one")
|
|
3443
3442
|
end
|
|
3444
3443
|
|
|
3445
3444
|
let!(:preference_two) do
|
|
3446
|
-
Preference.create(name: "two")
|
|
3445
|
+
Preference.create!(name: "two")
|
|
3447
3446
|
end
|
|
3448
3447
|
|
|
3449
3448
|
before do
|
|
@@ -3487,7 +3486,7 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
|
3487
3486
|
context "when the document is new" do
|
|
3488
3487
|
|
|
3489
3488
|
let!(:person) do
|
|
3490
|
-
Person.create(preference_names: "one, two")
|
|
3489
|
+
Person.create!(preference_names: "one, two")
|
|
3491
3490
|
end
|
|
3492
3491
|
|
|
3493
3492
|
let(:preference_one) do
|
|
@@ -3523,23 +3522,23 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
|
3523
3522
|
end
|
|
3524
3523
|
|
|
3525
3524
|
let(:preference_one) do
|
|
3526
|
-
Preference.create(name: "one")
|
|
3525
|
+
Preference.create!(name: "one")
|
|
3527
3526
|
end
|
|
3528
3527
|
|
|
3529
3528
|
let(:preference_two) do
|
|
3530
|
-
Preference.create(name: "two")
|
|
3529
|
+
Preference.create!(name: "two")
|
|
3531
3530
|
end
|
|
3532
3531
|
|
|
3533
3532
|
before do
|
|
3534
3533
|
person.preference_ids = [ preference_one.id, preference_two.id ]
|
|
3535
|
-
person.save
|
|
3534
|
+
person.save!
|
|
3536
3535
|
end
|
|
3537
3536
|
|
|
3538
3537
|
context "and the order is changed" do
|
|
3539
3538
|
|
|
3540
3539
|
before do
|
|
3541
3540
|
person.preference_ids = [ preference_two.id, preference_one.id ]
|
|
3542
|
-
person.save
|
|
3541
|
+
person.save!
|
|
3543
3542
|
end
|
|
3544
3543
|
|
|
3545
3544
|
let(:reloaded) do
|
|
@@ -3556,13 +3555,13 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
|
3556
3555
|
context "and the order is changed and an element is added" do
|
|
3557
3556
|
|
|
3558
3557
|
let(:preference_three) do
|
|
3559
|
-
Preference.create(name: "three")
|
|
3558
|
+
Preference.create!(name: "three")
|
|
3560
3559
|
end
|
|
3561
3560
|
|
|
3562
3561
|
before do
|
|
3563
3562
|
person.preference_ids =
|
|
3564
3563
|
[ preference_two.id, preference_one.id, preference_three.id ]
|
|
3565
|
-
person.save
|
|
3564
|
+
person.save!
|
|
3566
3565
|
end
|
|
3567
3566
|
|
|
3568
3567
|
let(:reloaded) do
|
|
@@ -3579,16 +3578,16 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
|
3579
3578
|
context "and the order is changed and an element is removed" do
|
|
3580
3579
|
|
|
3581
3580
|
let(:preference_three) do
|
|
3582
|
-
Preference.create(name: "three")
|
|
3581
|
+
Preference.create!(name: "three")
|
|
3583
3582
|
end
|
|
3584
3583
|
|
|
3585
3584
|
before do
|
|
3586
3585
|
person.preference_ids =
|
|
3587
3586
|
[ preference_one.id, preference_two.id, preference_three.id ]
|
|
3588
|
-
person.save
|
|
3587
|
+
person.save!
|
|
3589
3588
|
person.preference_ids =
|
|
3590
3589
|
[ preference_three.id, preference_two.id ]
|
|
3591
|
-
person.save
|
|
3590
|
+
person.save!
|
|
3592
3591
|
end
|
|
3593
3592
|
|
|
3594
3593
|
let(:reloaded) do
|
|
@@ -3638,15 +3637,15 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
|
3638
3637
|
context "when the relation exists" do
|
|
3639
3638
|
|
|
3640
3639
|
let!(:person) do
|
|
3641
|
-
Person.create
|
|
3640
|
+
Person.create!
|
|
3642
3641
|
end
|
|
3643
3642
|
|
|
3644
3643
|
let!(:pref_one) do
|
|
3645
|
-
person.preferences.create
|
|
3644
|
+
person.preferences.create!
|
|
3646
3645
|
end
|
|
3647
3646
|
|
|
3648
3647
|
let!(:pref_two) do
|
|
3649
|
-
Preference.create
|
|
3648
|
+
Preference.create!
|
|
3650
3649
|
end
|
|
3651
3650
|
|
|
3652
3651
|
before do
|
|
@@ -3662,15 +3661,19 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
|
3662
3661
|
context "when using a different primary key" do
|
|
3663
3662
|
|
|
3664
3663
|
let(:dog) do
|
|
3665
|
-
Dog.create(name: 'Doggie')
|
|
3664
|
+
Dog.create!(name: 'Doggie')
|
|
3666
3665
|
end
|
|
3667
3666
|
|
|
3668
3667
|
let(:cat) do
|
|
3669
|
-
Cat.create(name: 'Kitty')
|
|
3668
|
+
Cat.create!(name: 'Kitty')
|
|
3669
|
+
end
|
|
3670
|
+
|
|
3671
|
+
let(:another_cat) do
|
|
3672
|
+
Cat.create!(name: 'Kitten')
|
|
3670
3673
|
end
|
|
3671
3674
|
|
|
3672
3675
|
let(:fire_hydrant) do
|
|
3673
|
-
FireHydrant.create(location: '221B Baker Street')
|
|
3676
|
+
FireHydrant.create!(location: '221B Baker Street')
|
|
3674
3677
|
end
|
|
3675
3678
|
|
|
3676
3679
|
context "when adding to a one-way many to many" do
|
|
@@ -3684,6 +3687,28 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
|
3684
3687
|
end
|
|
3685
3688
|
end
|
|
3686
3689
|
|
|
3690
|
+
context "when adding multiple documents to a one-way many to many" do
|
|
3691
|
+
|
|
3692
|
+
before do
|
|
3693
|
+
fire_hydrant.cats.push([cat, another_cat])
|
|
3694
|
+
end
|
|
3695
|
+
|
|
3696
|
+
it "adds the pk values to the fk set" do
|
|
3697
|
+
expect(fire_hydrant.cat_ids).to eq([cat.name, another_cat.name])
|
|
3698
|
+
end
|
|
3699
|
+
end
|
|
3700
|
+
|
|
3701
|
+
context "when adding a new document to a one-way many to many" do
|
|
3702
|
+
|
|
3703
|
+
before do
|
|
3704
|
+
fire_hydrant.cats.build name: 'Kitten'
|
|
3705
|
+
end
|
|
3706
|
+
|
|
3707
|
+
it "adds the pk values to the fk set" do
|
|
3708
|
+
expect(fire_hydrant.cat_ids).to eq(['Kitten'])
|
|
3709
|
+
end
|
|
3710
|
+
end
|
|
3711
|
+
|
|
3687
3712
|
context "when adding to a two-way many to many" do
|
|
3688
3713
|
|
|
3689
3714
|
before do
|
|
@@ -3740,10 +3765,10 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
|
3740
3765
|
end
|
|
3741
3766
|
|
|
3742
3767
|
it "should assign relation from both sides" do
|
|
3743
|
-
p1 = Project.create name: 'Foo'
|
|
3744
|
-
p2 = Project.create name: 'Bar'
|
|
3745
|
-
d1 = Distributor.create name: 'Rock'
|
|
3746
|
-
d2 = Distributor.create name: 'Soul'
|
|
3768
|
+
p1 = Project.create! name: 'Foo'
|
|
3769
|
+
p2 = Project.create! name: 'Bar'
|
|
3770
|
+
d1 = Distributor.create! name: 'Rock'
|
|
3771
|
+
d2 = Distributor.create! name: 'Soul'
|
|
3747
3772
|
|
|
3748
3773
|
p1.distributors << d1
|
|
3749
3774
|
expect(p1.d_ids).to match_array([d1.id])
|