mongoid 7.3.5 → 7.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data/CHANGELOG.md +17 -17
- data/README.md +2 -2
- data/lib/config/locales/en.yml +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 +12 -59
- 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 +20 -63
- 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 -24
- 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 +5 -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 +1 -8
- 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 +64 -53
- data/lib/mongoid/validatable/associated.rb +0 -3
- data/lib/mongoid/validatable/format.rb +0 -1
- data/lib/mongoid/validatable/length.rb +0 -1
- data/lib/mongoid/validatable/localizable.rb +0 -3
- data/lib/mongoid/validatable/macros.rb +0 -7
- data/lib/mongoid/validatable/presence.rb +1 -8
- data/lib/mongoid/validatable/queryable.rb +0 -3
- data/lib/mongoid/validatable/uniqueness.rb +15 -30
- data/lib/mongoid/validatable.rb +1 -22
- data/lib/mongoid/version.rb +1 -2
- data/lib/mongoid.rb +0 -15
- data/lib/rails/generators/mongoid/config/config_generator.rb +0 -1
- data/lib/rails/generators/mongoid/config/templates/mongoid.yml +2 -7
- data/lib/rails/generators/mongoid/model/model_generator.rb +0 -1
- data/lib/rails/generators/mongoid_generator.rb +0 -1
- data/lib/rails/mongoid.rb +0 -3
- data/spec/integration/app_spec.rb +0 -1
- data/spec/integration/associations/belongs_to_spec.rb +0 -1
- data/spec/integration/associations/embedded_dirty_spec.rb +29 -0
- data/spec/integration/associations/embedded_spec.rb +0 -1
- data/spec/integration/associations/embeds_many_spec.rb +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 +0 -1
- 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 -156
- data/spec/mongoid/association/embedded/embeds_many_models.rb +0 -122
- 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 -162
- 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 +225 -178
- 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 +6 -7
- data/spec/mongoid/attributes/dynamic_spec.rb +0 -1
- data/spec/mongoid/attributes/nested_spec.rb +66 -67
- data/spec/mongoid/attributes/projector_spec.rb +5 -2
- data/spec/mongoid/attributes/readonly_spec.rb +22 -23
- data/spec/mongoid/attributes_spec.rb +32 -33
- data/spec/mongoid/cacheable_spec.rb +1 -2
- data/spec/mongoid/changeable_spec.rb +35 -36
- data/spec/mongoid/clients/factory_spec.rb +0 -1
- 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 +0 -1
- data/spec/mongoid/config/options_spec.rb +0 -1
- data/spec/mongoid/config_spec.rb +105 -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 +0 -1
- data/spec/mongoid/errors/nested_attributes_metadata_not_found_spec.rb +0 -1
- data/spec/mongoid/errors/no_client_config_spec.rb +0 -1
- data/spec/mongoid/errors/no_client_database_spec.rb +0 -1
- data/spec/mongoid/errors/no_client_hosts_spec.rb +0 -1
- data/spec/mongoid/errors/no_clients_config_spec.rb +0 -1
- data/spec/mongoid/errors/no_environment_spec.rb +0 -1
- data/spec/mongoid/errors/no_map_reduce_output_spec.rb +0 -1
- data/spec/mongoid/errors/no_metadata_spec.rb +0 -1
- data/spec/mongoid/errors/no_parent_spec.rb +0 -1
- data/spec/mongoid/errors/readonly_attribute_spec.rb +0 -1
- data/spec/mongoid/errors/readonly_document_spec.rb +0 -1
- data/spec/mongoid/errors/scope_overwrite_spec.rb +0 -1
- data/spec/mongoid/errors/too_many_nested_attribute_records_spec.rb +0 -1
- data/spec/mongoid/errors/unknown_attribute_spec.rb +2 -3
- data/spec/mongoid/errors/unsaved_document_spec.rb +0 -1
- data/spec/mongoid/errors/unsupported_javascript_spec.rb +0 -1
- data/spec/mongoid/errors/validations_spec.rb +0 -1
- data/spec/mongoid/extensions/array_spec.rb +0 -1
- data/spec/mongoid/extensions/big_decimal_spec.rb +0 -1
- data/spec/mongoid/extensions/binary_spec.rb +0 -1
- data/spec/mongoid/extensions/boolean_spec.rb +0 -1
- data/spec/mongoid/extensions/date_class_mongoize_spec.rb +0 -1
- data/spec/mongoid/extensions/date_spec.rb +0 -1
- data/spec/mongoid/extensions/date_time_spec.rb +0 -1
- data/spec/mongoid/extensions/decimal128_spec.rb +0 -1
- data/spec/mongoid/extensions/false_class_spec.rb +0 -1
- data/spec/mongoid/extensions/float_spec.rb +0 -1
- data/spec/mongoid/extensions/hash_spec.rb +0 -1
- data/spec/mongoid/extensions/integer_spec.rb +0 -1
- data/spec/mongoid/extensions/module_spec.rb +0 -1
- data/spec/mongoid/extensions/nil_class_spec.rb +0 -1
- data/spec/mongoid/extensions/object_id_spec.rb +0 -1
- data/spec/mongoid/extensions/object_spec.rb +0 -1
- data/spec/mongoid/extensions/range_spec.rb +0 -1
- data/spec/mongoid/extensions/regexp_spec.rb +0 -1
- data/spec/mongoid/extensions/set_spec.rb +0 -1
- data/spec/mongoid/extensions/string_spec.rb +2 -3
- data/spec/mongoid/extensions/stringified_symbol_spec.rb +0 -1
- data/spec/mongoid/extensions/symbol_spec.rb +0 -1
- data/spec/mongoid/extensions/time_spec.rb +0 -1
- data/spec/mongoid/extensions/time_with_zone_spec.rb +0 -1
- data/spec/mongoid/extensions/true_class_spec.rb +0 -1
- data/spec/mongoid/extensions_spec.rb +14 -3
- data/spec/mongoid/factory_spec.rb +1 -1
- data/spec/mongoid/fields/foreign_key_spec.rb +0 -1
- data/spec/mongoid/fields/localized_spec.rb +0 -1
- data/spec/mongoid/fields/standard_spec.rb +0 -1
- data/spec/mongoid/fields_spec.rb +326 -31
- data/spec/mongoid/findable_spec.rb +21 -22
- data/spec/mongoid/indexable/specification_spec.rb +0 -1
- data/spec/mongoid/indexable_spec.rb +0 -1
- data/spec/mongoid/inspectable_spec.rb +0 -1
- data/spec/mongoid/interceptable_spec.rb +102 -95
- data/spec/mongoid/loggable_spec.rb +0 -1
- data/spec/mongoid/matcher/extract_attribute_spec.rb +5 -2
- data/spec/mongoid/persistable/creatable_spec.rb +2 -3
- data/spec/mongoid/persistable/deletable_spec.rb +18 -19
- data/spec/mongoid/persistable/destroyable_spec.rb +8 -9
- data/spec/mongoid/persistable/incrementable_spec.rb +8 -9
- data/spec/mongoid/persistable/logical_spec.rb +4 -5
- data/spec/mongoid/persistable/poppable_spec.rb +4 -5
- data/spec/mongoid/persistable/pullable_spec.rb +8 -9
- data/spec/mongoid/persistable/pushable_spec.rb +8 -9
- data/spec/mongoid/persistable/renamable_spec.rb +3 -4
- data/spec/mongoid/persistable/savable_spec.rb +15 -11
- data/spec/mongoid/persistable/settable_spec.rb +9 -10
- data/spec/mongoid/persistable/unsettable_spec.rb +4 -5
- data/spec/mongoid/persistable/updatable_spec.rb +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 +2 -1
- data/spec/shared/lib/mrss/docker_runner.rb +1 -1
- data/spec/shared/lib/mrss/lite_constraints.rb +8 -0
- data/spec/shared/share/Dockerfile.erb +25 -9
- data/spec/shared/shlib/distro.sh +2 -1
- data/spec/shared/shlib/server.sh +16 -4
- data/spec/shared/shlib/set_env.sh +6 -5
- data/spec/spec_helper.rb +12 -22
- data/spec/support/authorization.rb +0 -1
- data/spec/support/constraints.rb +0 -1
- data/spec/support/expectations.rb +0 -1
- data/spec/support/macros.rb +22 -1
- data/spec/support/models/account.rb +1 -2
- data/spec/support/models/acolyte.rb +0 -1
- data/spec/support/models/actor.rb +0 -1
- data/spec/support/models/actress.rb +0 -1
- data/spec/support/models/address.rb +0 -1
- data/spec/support/models/address_component.rb +0 -1
- data/spec/support/models/address_number.rb +0 -1
- data/spec/support/models/agency.rb +0 -1
- data/spec/support/models/agent.rb +0 -1
- data/spec/support/models/album.rb +0 -1
- data/spec/support/models/alert.rb +0 -1
- data/spec/support/models/animal.rb +0 -1
- data/spec/support/models/answer.rb +0 -1
- data/spec/support/models/appointment.rb +0 -1
- data/spec/support/models/armrest.rb +0 -1
- data/spec/support/models/array_field.rb +0 -1
- data/spec/support/models/article.rb +0 -1
- data/spec/support/models/artist.rb +2 -1
- data/spec/support/models/artwork.rb +0 -1
- data/spec/support/models/audio.rb +0 -1
- data/spec/support/models/augmentation.rb +0 -1
- data/spec/support/models/author.rb +0 -1
- data/spec/support/models/baby.rb +0 -1
- data/spec/support/models/band.rb +4 -1
- data/spec/support/models/bar.rb +0 -1
- data/spec/support/models/basic.rb +0 -1
- data/spec/support/models/bed.rb +0 -1
- data/spec/support/models/big_palette.rb +0 -1
- data/spec/support/models/birthday.rb +0 -1
- data/spec/support/models/bolt.rb +0 -1
- data/spec/support/models/bomb.rb +0 -1
- data/spec/support/models/book.rb +0 -1
- data/spec/support/models/breed.rb +0 -1
- data/spec/support/models/browser.rb +0 -1
- data/spec/support/models/building.rb +0 -1
- data/spec/support/models/building_address.rb +0 -1
- data/spec/support/models/bus.rb +0 -1
- data/spec/support/models/business.rb +0 -1
- data/spec/support/models/callback_test.rb +0 -1
- data/spec/support/models/canvas.rb +0 -1
- data/spec/support/models/car.rb +0 -1
- data/spec/support/models/cat.rb +0 -1
- data/spec/support/models/category.rb +0 -1
- data/spec/support/models/child.rb +0 -1
- data/spec/support/models/child_doc.rb +3 -4
- data/spec/support/models/church.rb +0 -1
- data/spec/support/models/circle.rb +0 -1
- data/spec/support/models/circuit.rb +0 -1
- data/spec/support/models/circus.rb +0 -1
- data/spec/support/models/code.rb +0 -1
- data/spec/support/models/coding/pull_request.rb +0 -1
- data/spec/support/models/coding.rb +0 -1
- data/spec/support/models/comment.rb +0 -1
- data/spec/support/models/company.rb +0 -1
- data/spec/support/models/consumption_period.rb +0 -1
- data/spec/support/models/contextable_item.rb +0 -1
- data/spec/support/models/contractor.rb +0 -1
- data/spec/support/models/cookie.rb +0 -1
- data/spec/support/models/country_code.rb +2 -1
- data/spec/support/models/courier_job.rb +0 -1
- data/spec/support/models/crate.rb +0 -1
- data/spec/support/models/customer.rb +0 -1
- data/spec/support/models/customer_address.rb +0 -1
- data/spec/support/models/deed.rb +0 -1
- data/spec/support/models/definition.rb +0 -1
- data/spec/support/models/delegating_patient.rb +0 -1
- data/spec/support/models/description.rb +0 -1
- data/spec/support/models/dictionary.rb +0 -1
- data/spec/support/models/division.rb +0 -1
- data/spec/support/models/doctor.rb +0 -1
- data/spec/support/models/dog.rb +0 -1
- data/spec/support/models/dokument.rb +0 -1
- data/spec/support/models/draft.rb +0 -1
- data/spec/support/models/dragon.rb +0 -1
- data/spec/support/models/driver.rb +0 -1
- data/spec/support/models/drug.rb +0 -1
- data/spec/support/models/dungeon.rb +0 -1
- data/spec/support/models/edit.rb +0 -1
- data/spec/support/models/email.rb +0 -1
- data/spec/support/models/employer.rb +0 -1
- data/spec/support/models/entry.rb +0 -1
- data/spec/support/models/eraser.rb +0 -1
- data/spec/support/models/even.rb +0 -1
- data/spec/support/models/event.rb +0 -1
- data/spec/support/models/exhibition.rb +0 -1
- data/spec/support/models/exhibitor.rb +0 -1
- data/spec/support/models/explosion.rb +0 -1
- data/spec/support/models/eye.rb +0 -1
- data/spec/support/models/eye_bowl.rb +0 -1
- data/spec/support/models/face.rb +0 -1
- data/spec/support/models/favorite.rb +0 -1
- data/spec/support/models/filesystem.rb +0 -1
- data/spec/support/models/fire_hydrant.rb +0 -1
- data/spec/support/models/firefox.rb +0 -1
- data/spec/support/models/fish.rb +0 -1
- data/spec/support/models/folder.rb +0 -1
- data/spec/support/models/folder_item.rb +0 -1
- data/spec/support/models/fruits.rb +0 -1
- data/spec/support/models/game.rb +0 -1
- data/spec/support/models/ghost.rb +0 -1
- data/spec/support/models/guitar.rb +0 -1
- data/spec/support/models/hole.rb +0 -1
- data/spec/support/models/home.rb +0 -1
- data/spec/support/models/house.rb +0 -1
- data/spec/support/models/html_writer.rb +0 -1
- data/spec/support/models/id_key.rb +0 -1
- data/spec/support/models/idnodef.rb +0 -1
- data/spec/support/models/image.rb +0 -1
- data/spec/support/models/implant.rb +0 -1
- data/spec/support/models/instrument.rb +0 -1
- data/spec/support/models/item.rb +0 -1
- data/spec/support/models/jar.rb +0 -1
- data/spec/support/models/kaleidoscope.rb +0 -1
- data/spec/support/models/kangaroo.rb +0 -1
- data/spec/support/models/label.rb +2 -2
- data/spec/support/models/language.rb +0 -1
- data/spec/support/models/lat_lng.rb +0 -1
- data/spec/support/models/league.rb +0 -1
- data/spec/support/models/learner.rb +0 -1
- data/spec/support/models/line_item.rb +0 -1
- data/spec/support/models/location.rb +0 -1
- data/spec/support/models/login.rb +0 -1
- data/spec/support/models/manufacturer.rb +0 -1
- data/spec/support/models/meat.rb +0 -1
- data/spec/support/models/membership.rb +0 -1
- data/spec/support/models/message.rb +0 -1
- data/spec/support/models/minim.rb +0 -1
- data/spec/support/models/mixed_drink.rb +0 -1
- data/spec/support/models/mop.rb +0 -1
- data/spec/support/models/movie.rb +0 -1
- data/spec/support/models/my_hash.rb +0 -1
- data/spec/support/models/name.rb +0 -1
- data/spec/support/models/name_only.rb +0 -1
- data/spec/support/models/node.rb +0 -1
- data/spec/support/models/note.rb +0 -1
- data/spec/support/models/nut.rb +0 -1
- data/spec/support/models/odd.rb +0 -1
- data/spec/support/models/order.rb +2 -1
- data/spec/support/models/ordered_post.rb +1 -2
- data/spec/support/models/ordered_preference.rb +0 -1
- data/spec/support/models/oscar.rb +0 -1
- data/spec/support/models/other_owner_object.rb +0 -1
- data/spec/support/models/override.rb +0 -1
- data/spec/support/models/ownable.rb +0 -1
- data/spec/support/models/owner.rb +0 -1
- data/spec/support/models/pack.rb +0 -1
- data/spec/support/models/page.rb +0 -1
- data/spec/support/models/page_question.rb +0 -1
- data/spec/support/models/palette.rb +0 -1
- data/spec/support/models/parent.rb +0 -1
- data/spec/support/models/parent_doc.rb +0 -1
- data/spec/support/models/passport.rb +5 -1
- data/spec/support/models/patient.rb +0 -1
- data/spec/support/models/pdf_writer.rb +0 -1
- data/spec/support/models/pencil.rb +0 -1
- data/spec/support/models/person.rb +1 -1
- data/spec/support/models/pet.rb +0 -1
- data/spec/support/models/pet_owner.rb +0 -1
- data/spec/support/models/phone.rb +2 -2
- data/spec/support/models/piano.rb +0 -1
- data/spec/support/models/pizza.rb +0 -1
- data/spec/support/models/player.rb +0 -1
- data/spec/support/models/post.rb +0 -1
- data/spec/support/models/post_genre.rb +0 -1
- data/spec/support/models/powerup.rb +0 -1
- data/spec/support/models/preference.rb +0 -1
- data/spec/support/models/princess.rb +0 -1
- data/spec/support/models/product.rb +0 -1
- data/spec/support/models/profile.rb +0 -1
- data/spec/support/models/pronunciation.rb +0 -1
- data/spec/support/models/pub.rb +0 -1
- data/spec/support/models/publication/encyclopedia.rb +0 -1
- data/spec/support/models/publication/review.rb +0 -1
- data/spec/support/models/publication.rb +0 -1
- data/spec/support/models/purchase.rb +0 -1
- data/spec/support/models/purchased_item.rb +10 -0
- data/spec/support/models/question.rb +0 -1
- data/spec/support/models/quiz.rb +0 -1
- data/spec/support/models/rating.rb +0 -1
- data/spec/support/models/record.rb +0 -1
- data/spec/support/models/registry.rb +0 -1
- data/spec/support/models/role.rb +0 -1
- data/spec/support/models/root_category.rb +0 -1
- data/spec/support/models/sandwich.rb +0 -1
- data/spec/support/models/scheduler.rb +0 -1
- data/spec/support/models/scribe.rb +0 -1
- data/spec/support/models/sealer.rb +0 -1
- data/spec/support/models/seat.rb +0 -1
- data/spec/support/models/seo.rb +0 -1
- data/spec/support/models/series.rb +0 -1
- data/spec/support/models/server.rb +0 -1
- data/spec/support/models/service.rb +0 -1
- data/spec/support/models/shape.rb +0 -1
- data/spec/support/models/shelf.rb +0 -1
- data/spec/support/models/shipment_address.rb +0 -1
- data/spec/support/models/shipping_container.rb +0 -1
- data/spec/support/models/shipping_pack.rb +0 -1
- data/spec/support/models/shirt.rb +0 -1
- data/spec/support/models/shop.rb +0 -1
- data/spec/support/models/short_agent.rb +0 -1
- data/spec/support/models/short_quiz.rb +0 -1
- data/spec/support/models/simple.rb +0 -1
- data/spec/support/models/slave.rb +0 -1
- data/spec/support/models/song.rb +0 -1
- data/spec/support/models/sound.rb +0 -1
- data/spec/support/models/spacer.rb +0 -1
- data/spec/support/models/square.rb +0 -1
- data/spec/support/models/staff.rb +0 -1
- data/spec/support/models/store_as_dup_test1.rb +0 -1
- data/spec/support/models/store_as_dup_test2.rb +0 -1
- data/spec/support/models/store_as_dup_test3.rb +0 -1
- data/spec/support/models/store_as_dup_test4.rb +0 -1
- data/spec/support/models/strategy.rb +0 -1
- data/spec/support/models/sub_item.rb +0 -1
- data/spec/support/models/subscription.rb +0 -1
- data/spec/support/models/survey.rb +0 -1
- data/spec/support/models/symptom.rb +0 -1
- data/spec/support/models/tag.rb +0 -1
- data/spec/support/models/target.rb +0 -1
- data/spec/support/models/template.rb +0 -1
- data/spec/support/models/thing.rb +0 -1
- data/spec/support/models/threadlocker.rb +0 -1
- data/spec/support/models/title.rb +0 -1
- data/spec/support/models/tool.rb +0 -1
- data/spec/support/models/topping.rb +0 -1
- data/spec/support/models/toy.rb +0 -1
- data/spec/support/models/track.rb +0 -1
- data/spec/support/models/translation.rb +0 -1
- data/spec/support/models/tree.rb +0 -1
- data/spec/support/models/truck.rb +0 -1
- data/spec/support/models/updatable.rb +0 -1
- data/spec/support/models/user.rb +0 -1
- data/spec/support/models/user_account.rb +0 -1
- data/spec/support/models/validation_callback.rb +0 -1
- data/spec/support/models/vehicle.rb +0 -1
- data/spec/support/models/version.rb +0 -1
- data/spec/support/models/vertex.rb +0 -1
- data/spec/support/models/vet_visit.rb +0 -1
- data/spec/support/models/video.rb +0 -1
- data/spec/support/models/video_game.rb +0 -1
- data/spec/support/models/washer.rb +0 -1
- data/spec/support/models/weapon.rb +0 -1
- data/spec/support/models/wiki_page.rb +0 -1
- data/spec/support/models/word.rb +0 -1
- data/spec/support/models/word_origin.rb +0 -1
- data/spec/support/models/writer.rb +0 -1
- data/spec/support/shared/time.rb +0 -1
- data/spec/support/spec_config.rb +3 -1
- data.tar.gz.sig +0 -0
- metadata +25 -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
|
|
@@ -2395,18 +2394,14 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
|
2395
2394
|
it "removes the ids from the foreign key" do
|
|
2396
2395
|
expect(person.preference_ids).to eq([ preference_two.id ])
|
|
2397
2396
|
end
|
|
2398
|
-
|
|
2399
|
-
it "sets the association locally" do
|
|
2400
|
-
expect(person.preferences).to eq([preference_two])
|
|
2401
|
-
end
|
|
2402
2397
|
end
|
|
2403
2398
|
|
|
2404
2399
|
context "when conditions are not provided" do
|
|
2405
2400
|
|
|
2406
2401
|
let(:person) do
|
|
2407
|
-
Person.create
|
|
2408
|
-
person.preferences.create(name: "Testing")
|
|
2409
|
-
person.preferences.create(name: "Test")
|
|
2402
|
+
Person.create!.tap do |person|
|
|
2403
|
+
person.preferences.create!(name: "Testing")
|
|
2404
|
+
person.preferences.create!(name: "Test")
|
|
2410
2405
|
end
|
|
2411
2406
|
end
|
|
2412
2407
|
|
|
@@ -2425,10 +2420,6 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
|
2425
2420
|
it "returns the number of documents deleted" do
|
|
2426
2421
|
expect(deleted).to eq(2)
|
|
2427
2422
|
end
|
|
2428
|
-
|
|
2429
|
-
it "sets the association locally" do
|
|
2430
|
-
expect(person.preferences).to eq([])
|
|
2431
|
-
end
|
|
2432
2423
|
end
|
|
2433
2424
|
end
|
|
2434
2425
|
end
|
|
@@ -2444,13 +2435,13 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
|
2444
2435
|
describe "#exists?" do
|
|
2445
2436
|
|
|
2446
2437
|
let!(:person) do
|
|
2447
|
-
Person.create
|
|
2438
|
+
Person.create!
|
|
2448
2439
|
end
|
|
2449
2440
|
|
|
2450
2441
|
context "when documents exist in the database" do
|
|
2451
2442
|
|
|
2452
2443
|
before do
|
|
2453
|
-
person.preferences.create
|
|
2444
|
+
person.preferences.create!
|
|
2454
2445
|
end
|
|
2455
2446
|
|
|
2456
2447
|
it "returns true" do
|
|
@@ -2475,23 +2466,23 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
|
2475
2466
|
context "when the relation is not polymorphic" do
|
|
2476
2467
|
|
|
2477
2468
|
let(:person) do
|
|
2478
|
-
Person.create
|
|
2469
|
+
Person.create!
|
|
2479
2470
|
end
|
|
2480
2471
|
|
|
2481
2472
|
let!(:preference_one) do
|
|
2482
|
-
person.preferences.create(name: "Test")
|
|
2473
|
+
person.preferences.create!(name: "Test")
|
|
2483
2474
|
end
|
|
2484
2475
|
|
|
2485
2476
|
let!(:preference_two) do
|
|
2486
|
-
person.preferences.create(name: "OMG I has relations")
|
|
2477
|
+
person.preferences.create!(name: "OMG I has relations")
|
|
2487
2478
|
end
|
|
2488
2479
|
|
|
2489
2480
|
let!(:unrelated_pref) do
|
|
2490
|
-
Preference.create(name: "orphan annie")
|
|
2481
|
+
Preference.create!(name: "orphan annie")
|
|
2491
2482
|
end
|
|
2492
2483
|
|
|
2493
2484
|
let!(:unrelated_pref_two) do
|
|
2494
|
-
Preference.create(name: "orphan two")
|
|
2485
|
+
Preference.create!(name: "orphan two")
|
|
2495
2486
|
end
|
|
2496
2487
|
|
|
2497
2488
|
context "when providing an id" do
|
|
@@ -2569,7 +2560,7 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
|
2569
2560
|
end
|
|
2570
2561
|
end
|
|
2571
2562
|
|
|
2572
|
-
context "when the ids
|
|
2563
|
+
context "when the ids match unreferenced documents" do
|
|
2573
2564
|
|
|
2574
2565
|
let(:preferences) do
|
|
2575
2566
|
person.preferences.find(
|
|
@@ -2627,11 +2618,11 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
|
2627
2618
|
context "when the relation is not polymorphic" do
|
|
2628
2619
|
|
|
2629
2620
|
let(:person) do
|
|
2630
|
-
Person.create
|
|
2621
|
+
Person.create!
|
|
2631
2622
|
end
|
|
2632
2623
|
|
|
2633
2624
|
let!(:preference) do
|
|
2634
|
-
person.preferences.create(name: "Testing")
|
|
2625
|
+
person.preferences.create!(name: "Testing")
|
|
2635
2626
|
end
|
|
2636
2627
|
|
|
2637
2628
|
context "when the document exists" do
|
|
@@ -2667,11 +2658,11 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
|
2667
2658
|
context "when the relation is not polymorphic" do
|
|
2668
2659
|
|
|
2669
2660
|
let(:person) do
|
|
2670
|
-
Person.create
|
|
2661
|
+
Person.create!
|
|
2671
2662
|
end
|
|
2672
2663
|
|
|
2673
2664
|
let!(:preference) do
|
|
2674
|
-
person.preferences.create(name: "Testing")
|
|
2665
|
+
person.preferences.create!(name: "Testing")
|
|
2675
2666
|
end
|
|
2676
2667
|
|
|
2677
2668
|
context "when the document exists" do
|
|
@@ -2716,11 +2707,11 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
|
2716
2707
|
context "when the relation is not polymorphic" do
|
|
2717
2708
|
|
|
2718
2709
|
let(:person) do
|
|
2719
|
-
Person.create
|
|
2710
|
+
Person.create!
|
|
2720
2711
|
end
|
|
2721
2712
|
|
|
2722
2713
|
let!(:preference) do
|
|
2723
|
-
person.preferences.create(name: "Testing")
|
|
2714
|
+
person.preferences.create!(name: "Testing")
|
|
2724
2715
|
end
|
|
2725
2716
|
|
|
2726
2717
|
context "when the document exists" do
|
|
@@ -2754,15 +2745,15 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
|
2754
2745
|
describe "#max" do
|
|
2755
2746
|
|
|
2756
2747
|
let(:person) do
|
|
2757
|
-
Person.create
|
|
2748
|
+
Person.create!
|
|
2758
2749
|
end
|
|
2759
2750
|
|
|
2760
2751
|
let(:preference_one) do
|
|
2761
|
-
Preference.create(ranking: 5)
|
|
2752
|
+
Preference.create!(ranking: 5)
|
|
2762
2753
|
end
|
|
2763
2754
|
|
|
2764
2755
|
let(:preference_two) do
|
|
2765
|
-
Preference.create(ranking: 10)
|
|
2756
|
+
Preference.create!(ranking: 10)
|
|
2766
2757
|
end
|
|
2767
2758
|
|
|
2768
2759
|
before do
|
|
@@ -2783,15 +2774,15 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
|
2783
2774
|
describe "#max_by" do
|
|
2784
2775
|
|
|
2785
2776
|
let(:person) do
|
|
2786
|
-
Person.create
|
|
2777
|
+
Person.create!
|
|
2787
2778
|
end
|
|
2788
2779
|
|
|
2789
2780
|
let(:preference_one) do
|
|
2790
|
-
Preference.create(ranking: 5)
|
|
2781
|
+
Preference.create!(ranking: 5)
|
|
2791
2782
|
end
|
|
2792
2783
|
|
|
2793
2784
|
let(:preference_two) do
|
|
2794
|
-
Preference.create(ranking: 10)
|
|
2785
|
+
Preference.create!(ranking: 10)
|
|
2795
2786
|
end
|
|
2796
2787
|
|
|
2797
2788
|
before do
|
|
@@ -2810,19 +2801,19 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
|
2810
2801
|
describe "#method_missing" do
|
|
2811
2802
|
|
|
2812
2803
|
let!(:person) do
|
|
2813
|
-
Person.create
|
|
2804
|
+
Person.create!
|
|
2814
2805
|
end
|
|
2815
2806
|
|
|
2816
2807
|
let!(:preference_one) do
|
|
2817
|
-
person.preferences.create(name: "First", value: "Posting")
|
|
2808
|
+
person.preferences.create!(name: "First", value: "Posting")
|
|
2818
2809
|
end
|
|
2819
2810
|
|
|
2820
2811
|
let!(:preference_two) do
|
|
2821
|
-
person.preferences.create(name: "Second", value: "Testing")
|
|
2812
|
+
person.preferences.create!(name: "Second", value: "Testing")
|
|
2822
2813
|
end
|
|
2823
2814
|
|
|
2824
2815
|
let!(:unrelated) do
|
|
2825
|
-
Preference.create(name: "Third")
|
|
2816
|
+
Preference.create!(name: "Third")
|
|
2826
2817
|
end
|
|
2827
2818
|
|
|
2828
2819
|
context "when providing a single criteria" do
|
|
@@ -2897,7 +2888,7 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
|
2897
2888
|
context "when the inverse relation is not defined" do
|
|
2898
2889
|
|
|
2899
2890
|
let!(:house) do
|
|
2900
|
-
person.houses.create(name: "Wayne Manor")
|
|
2891
|
+
person.houses.create!(name: "Wayne Manor")
|
|
2901
2892
|
end
|
|
2902
2893
|
|
|
2903
2894
|
it "returns the distinct values for the fields" do
|
|
@@ -2911,15 +2902,15 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
|
2911
2902
|
describe "#min" do
|
|
2912
2903
|
|
|
2913
2904
|
let(:person) do
|
|
2914
|
-
Person.create
|
|
2905
|
+
Person.create!
|
|
2915
2906
|
end
|
|
2916
2907
|
|
|
2917
2908
|
let(:preference_one) do
|
|
2918
|
-
Preference.create(ranking: 5)
|
|
2909
|
+
Preference.create!(ranking: 5)
|
|
2919
2910
|
end
|
|
2920
2911
|
|
|
2921
2912
|
let(:preference_two) do
|
|
2922
|
-
Preference.create(ranking: 10)
|
|
2913
|
+
Preference.create!(ranking: 10)
|
|
2923
2914
|
end
|
|
2924
2915
|
|
|
2925
2916
|
before do
|
|
@@ -2940,15 +2931,15 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
|
2940
2931
|
describe "#min_by" do
|
|
2941
2932
|
|
|
2942
2933
|
let(:person) do
|
|
2943
|
-
Person.create
|
|
2934
|
+
Person.create!
|
|
2944
2935
|
end
|
|
2945
2936
|
|
|
2946
2937
|
let(:preference_one) do
|
|
2947
|
-
Preference.create(ranking: 5)
|
|
2938
|
+
Preference.create!(ranking: 5)
|
|
2948
2939
|
end
|
|
2949
2940
|
|
|
2950
2941
|
let(:preference_two) do
|
|
2951
|
-
Preference.create(ranking: 10)
|
|
2942
|
+
Preference.create!(ranking: 10)
|
|
2952
2943
|
end
|
|
2953
2944
|
|
|
2954
2945
|
before do
|
|
@@ -2974,15 +2965,15 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
|
2974
2965
|
describe "#nullify_all" do
|
|
2975
2966
|
|
|
2976
2967
|
let(:person) do
|
|
2977
|
-
Person.create
|
|
2968
|
+
Person.create!
|
|
2978
2969
|
end
|
|
2979
2970
|
|
|
2980
2971
|
let!(:preference_one) do
|
|
2981
|
-
person.preferences.create(name: "One")
|
|
2972
|
+
person.preferences.create!(name: "One")
|
|
2982
2973
|
end
|
|
2983
2974
|
|
|
2984
2975
|
let!(:preference_two) do
|
|
2985
|
-
person.preferences.create(name: "Two")
|
|
2976
|
+
person.preferences.create!(name: "Two")
|
|
2986
2977
|
end
|
|
2987
2978
|
|
|
2988
2979
|
before do
|
|
@@ -3103,13 +3094,13 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
|
3103
3094
|
describe "##{method}" do
|
|
3104
3095
|
|
|
3105
3096
|
let(:person) do
|
|
3106
|
-
Person.create
|
|
3097
|
+
Person.create!
|
|
3107
3098
|
end
|
|
3108
3099
|
|
|
3109
3100
|
context "when documents have been persisted" do
|
|
3110
3101
|
|
|
3111
3102
|
let!(:preference) do
|
|
3112
|
-
person.preferences.create(name: "Testing")
|
|
3103
|
+
person.preferences.create!(name: "Testing")
|
|
3113
3104
|
end
|
|
3114
3105
|
|
|
3115
3106
|
it "returns the number of documents" do
|
|
@@ -3121,7 +3112,7 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
|
3121
3112
|
|
|
3122
3113
|
before do
|
|
3123
3114
|
person.preferences.build(name: "Test")
|
|
3124
|
-
person.preferences.create(name: "Test 2")
|
|
3115
|
+
person.preferences.create!(name: "Test 2")
|
|
3125
3116
|
end
|
|
3126
3117
|
|
|
3127
3118
|
it "returns the total number of documents" do
|
|
@@ -3136,15 +3127,15 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
|
3136
3127
|
context "when the relation has no default scope" do
|
|
3137
3128
|
|
|
3138
3129
|
let!(:person) do
|
|
3139
|
-
Person.create
|
|
3130
|
+
Person.create!
|
|
3140
3131
|
end
|
|
3141
3132
|
|
|
3142
3133
|
let!(:preference_one) do
|
|
3143
|
-
person.preferences.create(name: "first")
|
|
3134
|
+
person.preferences.create!(name: "first")
|
|
3144
3135
|
end
|
|
3145
3136
|
|
|
3146
3137
|
let!(:preference_two) do
|
|
3147
|
-
Preference.create(name: "second")
|
|
3138
|
+
Preference.create!(name: "second")
|
|
3148
3139
|
end
|
|
3149
3140
|
|
|
3150
3141
|
let(:unscoped) do
|
|
@@ -3159,15 +3150,15 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
|
3159
3150
|
context "when the relation has a default scope" do
|
|
3160
3151
|
|
|
3161
3152
|
let!(:person) do
|
|
3162
|
-
Person.create
|
|
3153
|
+
Person.create!
|
|
3163
3154
|
end
|
|
3164
3155
|
|
|
3165
3156
|
let!(:house_one) do
|
|
3166
|
-
person.houses.create(name: "first")
|
|
3157
|
+
person.houses.create!(name: "first")
|
|
3167
3158
|
end
|
|
3168
3159
|
|
|
3169
3160
|
let!(:house_two) do
|
|
3170
|
-
House.create(name: "second")
|
|
3161
|
+
House.create!(name: "second")
|
|
3171
3162
|
end
|
|
3172
3163
|
|
|
3173
3164
|
let(:unscoped) do
|
|
@@ -3203,10 +3194,10 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
|
3203
3194
|
end
|
|
3204
3195
|
|
|
3205
3196
|
before do
|
|
3206
|
-
person.update_attributes(
|
|
3197
|
+
person.update_attributes!(
|
|
3207
3198
|
houses: [ wife_house, exwife_house, girlfriend_house ]
|
|
3208
3199
|
)
|
|
3209
|
-
person.update_attributes(house_ids: [ girlfriend_house.id ])
|
|
3200
|
+
person.update_attributes!(house_ids: [ girlfriend_house.id ])
|
|
3210
3201
|
end
|
|
3211
3202
|
|
|
3212
3203
|
context "when reloading" do
|
|
@@ -3253,7 +3244,7 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
|
3253
3244
|
end
|
|
3254
3245
|
|
|
3255
3246
|
let!(:business) do
|
|
3256
|
-
Business.create(name: "serious", owners: [ user ])
|
|
3247
|
+
Business.create!(name: "serious", owners: [ user ])
|
|
3257
3248
|
end
|
|
3258
3249
|
|
|
3259
3250
|
before do
|
|
@@ -3296,11 +3287,11 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
|
3296
3287
|
context "when the documents are persisted" do
|
|
3297
3288
|
|
|
3298
3289
|
let(:user) do
|
|
3299
|
-
User.create(name: "tst")
|
|
3290
|
+
User.create!(name: "tst")
|
|
3300
3291
|
end
|
|
3301
3292
|
|
|
3302
3293
|
let(:business) do
|
|
3303
|
-
Business.create(name: "srs", owners: [ user ])
|
|
3294
|
+
Business.create!(name: "srs", owners: [ user ])
|
|
3304
3295
|
end
|
|
3305
3296
|
|
|
3306
3297
|
before do
|
|
@@ -3344,11 +3335,11 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
|
3344
3335
|
context "when binding the relation multiple times" do
|
|
3345
3336
|
|
|
3346
3337
|
let(:person) do
|
|
3347
|
-
Person.create
|
|
3338
|
+
Person.create!
|
|
3348
3339
|
end
|
|
3349
3340
|
|
|
3350
3341
|
let(:preference) do
|
|
3351
|
-
person.preferences.create(name: "testing")
|
|
3342
|
+
person.preferences.create!(name: "testing")
|
|
3352
3343
|
end
|
|
3353
3344
|
|
|
3354
3345
|
before do
|
|
@@ -3367,19 +3358,19 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
|
3367
3358
|
context "when the association has order criteria" do
|
|
3368
3359
|
|
|
3369
3360
|
let(:person) do
|
|
3370
|
-
Person.create
|
|
3361
|
+
Person.create!
|
|
3371
3362
|
end
|
|
3372
3363
|
|
|
3373
3364
|
let(:preference_one) do
|
|
3374
|
-
OrderedPreference.create(name: 'preference-1', value: 10)
|
|
3365
|
+
OrderedPreference.create!(name: 'preference-1', value: 10)
|
|
3375
3366
|
end
|
|
3376
3367
|
|
|
3377
3368
|
let(:preference_two) do
|
|
3378
|
-
OrderedPreference.create(name: 'preference-2', value: 20)
|
|
3369
|
+
OrderedPreference.create!(name: 'preference-2', value: 20)
|
|
3379
3370
|
end
|
|
3380
3371
|
|
|
3381
3372
|
let(:preference_three) do
|
|
3382
|
-
OrderedPreference.create(name: 'preference-3', value: 20)
|
|
3373
|
+
OrderedPreference.create!(name: 'preference-3', value: 20)
|
|
3383
3374
|
end
|
|
3384
3375
|
|
|
3385
3376
|
before do
|
|
@@ -3403,7 +3394,7 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
|
3403
3394
|
context "when the parent is not a new record and freshly loaded" do
|
|
3404
3395
|
|
|
3405
3396
|
let(:person) do
|
|
3406
|
-
Person.create
|
|
3397
|
+
Person.create!
|
|
3407
3398
|
end
|
|
3408
3399
|
|
|
3409
3400
|
let(:preference) do
|
|
@@ -3412,7 +3403,7 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
|
3412
3403
|
|
|
3413
3404
|
before do
|
|
3414
3405
|
person.preferences = [ preference ]
|
|
3415
|
-
person.save
|
|
3406
|
+
person.save!
|
|
3416
3407
|
person.reload
|
|
3417
3408
|
person.preferences = nil
|
|
3418
3409
|
end
|
|
@@ -3435,15 +3426,15 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
|
3435
3426
|
context "when reloading the relation" do
|
|
3436
3427
|
|
|
3437
3428
|
let!(:person) do
|
|
3438
|
-
Person.create
|
|
3429
|
+
Person.create!
|
|
3439
3430
|
end
|
|
3440
3431
|
|
|
3441
3432
|
let!(:preference_one) do
|
|
3442
|
-
Preference.create(name: "one")
|
|
3433
|
+
Preference.create!(name: "one")
|
|
3443
3434
|
end
|
|
3444
3435
|
|
|
3445
3436
|
let!(:preference_two) do
|
|
3446
|
-
Preference.create(name: "two")
|
|
3437
|
+
Preference.create!(name: "two")
|
|
3447
3438
|
end
|
|
3448
3439
|
|
|
3449
3440
|
before do
|
|
@@ -3487,7 +3478,7 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
|
3487
3478
|
context "when the document is new" do
|
|
3488
3479
|
|
|
3489
3480
|
let!(:person) do
|
|
3490
|
-
Person.create(preference_names: "one, two")
|
|
3481
|
+
Person.create!(preference_names: "one, two")
|
|
3491
3482
|
end
|
|
3492
3483
|
|
|
3493
3484
|
let(:preference_one) do
|
|
@@ -3523,23 +3514,23 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
|
3523
3514
|
end
|
|
3524
3515
|
|
|
3525
3516
|
let(:preference_one) do
|
|
3526
|
-
Preference.create(name: "one")
|
|
3517
|
+
Preference.create!(name: "one")
|
|
3527
3518
|
end
|
|
3528
3519
|
|
|
3529
3520
|
let(:preference_two) do
|
|
3530
|
-
Preference.create(name: "two")
|
|
3521
|
+
Preference.create!(name: "two")
|
|
3531
3522
|
end
|
|
3532
3523
|
|
|
3533
3524
|
before do
|
|
3534
3525
|
person.preference_ids = [ preference_one.id, preference_two.id ]
|
|
3535
|
-
person.save
|
|
3526
|
+
person.save!
|
|
3536
3527
|
end
|
|
3537
3528
|
|
|
3538
3529
|
context "and the order is changed" do
|
|
3539
3530
|
|
|
3540
3531
|
before do
|
|
3541
3532
|
person.preference_ids = [ preference_two.id, preference_one.id ]
|
|
3542
|
-
person.save
|
|
3533
|
+
person.save!
|
|
3543
3534
|
end
|
|
3544
3535
|
|
|
3545
3536
|
let(:reloaded) do
|
|
@@ -3556,13 +3547,13 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
|
3556
3547
|
context "and the order is changed and an element is added" do
|
|
3557
3548
|
|
|
3558
3549
|
let(:preference_three) do
|
|
3559
|
-
Preference.create(name: "three")
|
|
3550
|
+
Preference.create!(name: "three")
|
|
3560
3551
|
end
|
|
3561
3552
|
|
|
3562
3553
|
before do
|
|
3563
3554
|
person.preference_ids =
|
|
3564
3555
|
[ preference_two.id, preference_one.id, preference_three.id ]
|
|
3565
|
-
person.save
|
|
3556
|
+
person.save!
|
|
3566
3557
|
end
|
|
3567
3558
|
|
|
3568
3559
|
let(:reloaded) do
|
|
@@ -3579,16 +3570,16 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
|
3579
3570
|
context "and the order is changed and an element is removed" do
|
|
3580
3571
|
|
|
3581
3572
|
let(:preference_three) do
|
|
3582
|
-
Preference.create(name: "three")
|
|
3573
|
+
Preference.create!(name: "three")
|
|
3583
3574
|
end
|
|
3584
3575
|
|
|
3585
3576
|
before do
|
|
3586
3577
|
person.preference_ids =
|
|
3587
3578
|
[ preference_one.id, preference_two.id, preference_three.id ]
|
|
3588
|
-
person.save
|
|
3579
|
+
person.save!
|
|
3589
3580
|
person.preference_ids =
|
|
3590
3581
|
[ preference_three.id, preference_two.id ]
|
|
3591
|
-
person.save
|
|
3582
|
+
person.save!
|
|
3592
3583
|
end
|
|
3593
3584
|
|
|
3594
3585
|
let(:reloaded) do
|
|
@@ -3638,15 +3629,15 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
|
3638
3629
|
context "when the relation exists" do
|
|
3639
3630
|
|
|
3640
3631
|
let!(:person) do
|
|
3641
|
-
Person.create
|
|
3632
|
+
Person.create!
|
|
3642
3633
|
end
|
|
3643
3634
|
|
|
3644
3635
|
let!(:pref_one) do
|
|
3645
|
-
person.preferences.create
|
|
3636
|
+
person.preferences.create!
|
|
3646
3637
|
end
|
|
3647
3638
|
|
|
3648
3639
|
let!(:pref_two) do
|
|
3649
|
-
Preference.create
|
|
3640
|
+
Preference.create!
|
|
3650
3641
|
end
|
|
3651
3642
|
|
|
3652
3643
|
before do
|
|
@@ -3662,15 +3653,19 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
|
3662
3653
|
context "when using a different primary key" do
|
|
3663
3654
|
|
|
3664
3655
|
let(:dog) do
|
|
3665
|
-
Dog.create(name: 'Doggie')
|
|
3656
|
+
Dog.create!(name: 'Doggie')
|
|
3666
3657
|
end
|
|
3667
3658
|
|
|
3668
3659
|
let(:cat) do
|
|
3669
|
-
Cat.create(name: 'Kitty')
|
|
3660
|
+
Cat.create!(name: 'Kitty')
|
|
3661
|
+
end
|
|
3662
|
+
|
|
3663
|
+
let(:another_cat) do
|
|
3664
|
+
Cat.create!(name: 'Kitten')
|
|
3670
3665
|
end
|
|
3671
3666
|
|
|
3672
3667
|
let(:fire_hydrant) do
|
|
3673
|
-
FireHydrant.create(location: '221B Baker Street')
|
|
3668
|
+
FireHydrant.create!(location: '221B Baker Street')
|
|
3674
3669
|
end
|
|
3675
3670
|
|
|
3676
3671
|
context "when adding to a one-way many to many" do
|
|
@@ -3684,6 +3679,28 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
|
3684
3679
|
end
|
|
3685
3680
|
end
|
|
3686
3681
|
|
|
3682
|
+
context "when adding multiple documents to a one-way many to many" do
|
|
3683
|
+
|
|
3684
|
+
before do
|
|
3685
|
+
fire_hydrant.cats.push([cat, another_cat])
|
|
3686
|
+
end
|
|
3687
|
+
|
|
3688
|
+
it "adds the pk values to the fk set" do
|
|
3689
|
+
expect(fire_hydrant.cat_ids).to eq([cat.name, another_cat.name])
|
|
3690
|
+
end
|
|
3691
|
+
end
|
|
3692
|
+
|
|
3693
|
+
context "when adding a new document to a one-way many to many" do
|
|
3694
|
+
|
|
3695
|
+
before do
|
|
3696
|
+
fire_hydrant.cats.build name: 'Kitten'
|
|
3697
|
+
end
|
|
3698
|
+
|
|
3699
|
+
it "adds the pk values to the fk set" do
|
|
3700
|
+
expect(fire_hydrant.cat_ids).to eq(['Kitten'])
|
|
3701
|
+
end
|
|
3702
|
+
end
|
|
3703
|
+
|
|
3687
3704
|
context "when adding to a two-way many to many" do
|
|
3688
3705
|
|
|
3689
3706
|
before do
|
|
@@ -3740,10 +3757,10 @@ describe Mongoid::Association::Referenced::HasAndBelongsToMany::Proxy do
|
|
|
3740
3757
|
end
|
|
3741
3758
|
|
|
3742
3759
|
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'
|
|
3760
|
+
p1 = Project.create! name: 'Foo'
|
|
3761
|
+
p2 = Project.create! name: 'Bar'
|
|
3762
|
+
d1 = Distributor.create! name: 'Rock'
|
|
3763
|
+
d2 = Distributor.create! name: 'Soul'
|
|
3747
3764
|
|
|
3748
3765
|
p1.distributors << d1
|
|
3749
3766
|
expect(p1.d_ids).to match_array([d1.id])
|