mongoid 7.3.2 → 7.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data/CHANGELOG.md +17 -17
- data/README.md +2 -2
- data/lib/config/locales/en.yml +30 -16
- data/lib/mongoid/association/accessors.rb +0 -27
- data/lib/mongoid/association/bindable.rb +0 -21
- data/lib/mongoid/association/builders.rb +0 -9
- data/lib/mongoid/association/constrainable.rb +0 -3
- data/lib/mongoid/association/depending.rb +0 -7
- data/lib/mongoid/association/eager_loadable.rb +0 -3
- data/lib/mongoid/association/embedded/batchable.rb +11 -39
- data/lib/mongoid/association/embedded/cyclic.rb +2 -11
- data/lib/mongoid/association/embedded/embedded_in/binding.rb +0 -7
- data/lib/mongoid/association/embedded/embedded_in/buildable.rb +0 -3
- data/lib/mongoid/association/embedded/embedded_in/proxy.rb +0 -13
- data/lib/mongoid/association/embedded/embedded_in.rb +0 -23
- data/lib/mongoid/association/embedded/embeds_many/binding.rb +0 -7
- data/lib/mongoid/association/embedded/embeds_many/buildable.rb +0 -3
- data/lib/mongoid/association/embedded/embeds_many/proxy.rb +31 -44
- data/lib/mongoid/association/embedded/embeds_many.rb +0 -31
- data/lib/mongoid/association/embedded/embeds_one/binding.rb +0 -7
- data/lib/mongoid/association/embedded/embeds_one/buildable.rb +0 -3
- data/lib/mongoid/association/embedded/embeds_one/proxy.rb +26 -14
- data/lib/mongoid/association/embedded/embeds_one.rb +0 -27
- data/lib/mongoid/association/embedded.rb +0 -1
- data/lib/mongoid/association/macros.rb +6 -5
- data/lib/mongoid/association/many.rb +0 -17
- data/lib/mongoid/association/marshalable.rb +0 -5
- data/lib/mongoid/association/nested/many.rb +0 -11
- data/lib/mongoid/association/nested/nested_buildable.rb +0 -9
- data/lib/mongoid/association/nested/one.rb +1 -16
- data/lib/mongoid/association/nested.rb +0 -3
- data/lib/mongoid/association/one.rb +1 -10
- data/lib/mongoid/association/options.rb +0 -33
- data/lib/mongoid/association/proxy.rb +0 -21
- data/lib/mongoid/association/referenced/auto_save.rb +0 -9
- data/lib/mongoid/association/referenced/belongs_to/binding.rb +0 -7
- data/lib/mongoid/association/referenced/belongs_to/buildable.rb +4 -5
- data/lib/mongoid/association/referenced/belongs_to/eager.rb +0 -1
- data/lib/mongoid/association/referenced/belongs_to/proxy.rb +0 -13
- data/lib/mongoid/association/referenced/belongs_to.rb +9 -34
- data/lib/mongoid/association/referenced/counter_cache.rb +2 -15
- data/lib/mongoid/association/referenced/eager.rb +3 -24
- data/lib/mongoid/association/referenced/has_and_belongs_to_many/binding.rb +0 -5
- data/lib/mongoid/association/referenced/has_and_belongs_to_many/buildable.rb +0 -3
- data/lib/mongoid/association/referenced/has_and_belongs_to_many/eager.rb +0 -1
- data/lib/mongoid/association/referenced/has_and_belongs_to_many/proxy.rb +12 -39
- data/lib/mongoid/association/referenced/has_and_belongs_to_many.rb +11 -38
- data/lib/mongoid/association/referenced/has_many/binding.rb +0 -5
- data/lib/mongoid/association/referenced/has_many/buildable.rb +0 -3
- data/lib/mongoid/association/referenced/has_many/eager.rb +0 -1
- data/lib/mongoid/association/referenced/has_many/enumerable.rb +11 -63
- data/lib/mongoid/association/referenced/has_many/proxy.rb +18 -61
- data/lib/mongoid/association/referenced/has_many.rb +12 -39
- data/lib/mongoid/association/referenced/has_one/binding.rb +0 -7
- data/lib/mongoid/association/referenced/has_one/buildable.rb +3 -4
- data/lib/mongoid/association/referenced/has_one/eager.rb +0 -1
- data/lib/mongoid/association/referenced/has_one/nested_builder.rb +0 -15
- data/lib/mongoid/association/referenced/has_one/proxy.rb +0 -9
- data/lib/mongoid/association/referenced/has_one.rb +9 -32
- data/lib/mongoid/association/referenced/syncable.rb +0 -17
- data/lib/mongoid/association/referenced.rb +0 -1
- data/lib/mongoid/association/reflections.rb +0 -1
- data/lib/mongoid/association/relatable.rb +2 -61
- data/lib/mongoid/association.rb +0 -17
- data/lib/mongoid/atomic/modifiers.rb +4 -51
- data/lib/mongoid/atomic/paths/embedded/many.rb +0 -5
- data/lib/mongoid/atomic/paths/embedded/one.rb +0 -5
- data/lib/mongoid/atomic/paths/embedded.rb +0 -3
- data/lib/mongoid/atomic/paths/root.rb +0 -5
- data/lib/mongoid/atomic/paths.rb +0 -1
- data/lib/mongoid/atomic.rb +27 -44
- data/lib/mongoid/attributes/dynamic.rb +0 -17
- data/lib/mongoid/attributes/nested.rb +0 -5
- data/lib/mongoid/attributes/processing.rb +1 -18
- data/lib/mongoid/attributes/projector.rb +0 -1
- data/lib/mongoid/attributes/readonly.rb +0 -5
- data/lib/mongoid/attributes.rb +0 -33
- data/lib/mongoid/cacheable.rb +1 -6
- data/lib/mongoid/changeable.rb +3 -59
- data/lib/mongoid/clients/factory.rb +0 -7
- data/lib/mongoid/clients/options.rb +0 -5
- data/lib/mongoid/clients/sessions.rb +0 -7
- data/lib/mongoid/clients/storage_options.rb +0 -7
- data/lib/mongoid/clients/validators/storage.rb +0 -9
- data/lib/mongoid/clients/validators.rb +0 -1
- data/lib/mongoid/clients.rb +0 -9
- data/lib/mongoid/composable.rb +0 -7
- data/lib/mongoid/config/environment.rb +13 -6
- data/lib/mongoid/config/options.rb +0 -11
- data/lib/mongoid/config/validators/client.rb +0 -17
- data/lib/mongoid/config/validators/option.rb +0 -3
- data/lib/mongoid/config/validators.rb +0 -1
- data/lib/mongoid/config.rb +37 -29
- data/lib/mongoid/contextual/aggregable/memory.rb +14 -11
- data/lib/mongoid/contextual/aggregable/mongo.rb +15 -20
- data/lib/mongoid/contextual/aggregable/none.rb +65 -0
- data/lib/mongoid/contextual/aggregable.rb +17 -0
- data/lib/mongoid/contextual/atomic.rb +7 -27
- data/lib/mongoid/contextual/command.rb +0 -5
- data/lib/mongoid/contextual/geo_near.rb +1 -34
- data/lib/mongoid/contextual/map_reduce.rb +0 -31
- data/lib/mongoid/contextual/memory.rb +4 -59
- data/lib/mongoid/contextual/mongo.rb +132 -78
- data/lib/mongoid/contextual/none.rb +42 -28
- data/lib/mongoid/contextual/queryable.rb +0 -3
- data/lib/mongoid/contextual.rb +0 -5
- data/lib/mongoid/copyable.rb +0 -5
- data/lib/mongoid/criteria/findable.rb +0 -13
- data/lib/mongoid/criteria/includable.rb +0 -9
- data/lib/mongoid/criteria/inspectable.rb +0 -3
- data/lib/mongoid/criteria/marshalable.rb +0 -5
- data/lib/mongoid/criteria/modifiable.rb +0 -19
- data/lib/mongoid/criteria/options.rb +0 -3
- data/lib/mongoid/criteria/permission.rb +0 -1
- data/lib/mongoid/criteria/queryable/aggregable.rb +0 -13
- data/lib/mongoid/criteria/queryable/expandable.rb +0 -1
- data/lib/mongoid/criteria/queryable/extensions/array.rb +1 -26
- data/lib/mongoid/criteria/queryable/extensions/big_decimal.rb +0 -3
- data/lib/mongoid/criteria/queryable/extensions/boolean.rb +0 -3
- data/lib/mongoid/criteria/queryable/extensions/date.rb +0 -7
- data/lib/mongoid/criteria/queryable/extensions/date_time.rb +0 -5
- data/lib/mongoid/criteria/queryable/extensions/hash.rb +0 -25
- data/lib/mongoid/criteria/queryable/extensions/nil_class.rb +0 -13
- data/lib/mongoid/criteria/queryable/extensions/numeric.rb +0 -11
- data/lib/mongoid/criteria/queryable/extensions/object.rb +1 -28
- data/lib/mongoid/criteria/queryable/extensions/range.rb +38 -16
- data/lib/mongoid/criteria/queryable/extensions/regexp.rb +0 -9
- data/lib/mongoid/criteria/queryable/extensions/set.rb +0 -3
- data/lib/mongoid/criteria/queryable/extensions/string.rb +0 -17
- data/lib/mongoid/criteria/queryable/extensions/symbol.rb +0 -9
- data/lib/mongoid/criteria/queryable/extensions/time.rb +0 -7
- data/lib/mongoid/criteria/queryable/extensions/time_with_zone.rb +0 -7
- data/lib/mongoid/criteria/queryable/extensions.rb +0 -1
- data/lib/mongoid/criteria/queryable/key.rb +1 -14
- data/lib/mongoid/criteria/queryable/macroable.rb +0 -3
- data/lib/mongoid/criteria/queryable/mergeable.rb +1 -30
- data/lib/mongoid/criteria/queryable/optional.rb +0 -45
- data/lib/mongoid/criteria/queryable/options.rb +0 -19
- data/lib/mongoid/criteria/queryable/pipeline.rb +0 -13
- data/lib/mongoid/criteria/queryable/selectable.rb +22 -69
- data/lib/mongoid/criteria/queryable/selector.rb +0 -17
- data/lib/mongoid/criteria/queryable/smash.rb +0 -11
- data/lib/mongoid/criteria/queryable/storable.rb +11 -7
- data/lib/mongoid/criteria/queryable.rb +0 -7
- data/lib/mongoid/criteria/scopable.rb +25 -19
- data/lib/mongoid/criteria.rb +0 -57
- data/lib/mongoid/document.rb +3 -53
- data/lib/mongoid/equality.rb +26 -10
- data/lib/mongoid/errors/ambiguous_relationship.rb +2 -5
- data/lib/mongoid/errors/callback.rb +0 -3
- data/lib/mongoid/errors/criteria_argument_required.rb +0 -1
- data/lib/mongoid/errors/delete_restriction.rb +0 -3
- data/lib/mongoid/errors/document_not_destroyed.rb +2 -7
- data/lib/mongoid/errors/document_not_found.rb +0 -9
- data/lib/mongoid/errors/eager_load.rb +0 -3
- data/lib/mongoid/errors/empty_config_file.rb +25 -0
- data/lib/mongoid/errors/in_memory_collation_not_supported.rb +0 -3
- data/lib/mongoid/errors/invalid_collection.rb +0 -1
- data/lib/mongoid/errors/invalid_config_file.rb +25 -0
- data/lib/mongoid/errors/invalid_config_option.rb +0 -3
- data/lib/mongoid/errors/invalid_dependent_strategy.rb +0 -3
- data/lib/mongoid/errors/invalid_discriminator_key_target.rb +0 -1
- data/lib/mongoid/errors/invalid_elem_match_operator.rb +0 -1
- data/lib/mongoid/errors/invalid_estimated_count_criteria.rb +0 -1
- data/lib/mongoid/errors/invalid_expression_operator.rb +0 -1
- data/lib/mongoid/errors/invalid_field.rb +0 -5
- data/lib/mongoid/errors/invalid_field_operator.rb +0 -1
- data/lib/mongoid/errors/invalid_field_option.rb +0 -3
- data/lib/mongoid/errors/invalid_find.rb +0 -3
- data/lib/mongoid/errors/invalid_includes.rb +0 -3
- data/lib/mongoid/errors/invalid_index.rb +0 -3
- data/lib/mongoid/errors/invalid_options.rb +0 -3
- data/lib/mongoid/errors/invalid_path.rb +0 -3
- data/lib/mongoid/errors/invalid_persistence_option.rb +0 -5
- data/lib/mongoid/errors/invalid_query.rb +0 -1
- data/lib/mongoid/errors/invalid_relation.rb +0 -7
- data/lib/mongoid/errors/invalid_relation_option.rb +0 -3
- data/lib/mongoid/errors/invalid_scope.rb +0 -3
- data/lib/mongoid/errors/invalid_session_use.rb +1 -6
- data/lib/mongoid/errors/invalid_set_polymorphic_relation.rb +0 -1
- data/lib/mongoid/errors/invalid_storage_options.rb +0 -3
- data/lib/mongoid/errors/invalid_storage_parent.rb +0 -3
- data/lib/mongoid/errors/invalid_time.rb +0 -3
- data/lib/mongoid/errors/invalid_value.rb +0 -1
- data/lib/mongoid/errors/inverse_not_found.rb +0 -3
- data/lib/mongoid/errors/mixed_client_configuration.rb +0 -3
- data/lib/mongoid/errors/mixed_relations.rb +0 -3
- data/lib/mongoid/errors/mongoid_error.rb +0 -9
- data/lib/mongoid/errors/nested_attributes_metadata_not_found.rb +0 -3
- data/lib/mongoid/errors/no_client_config.rb +0 -3
- data/lib/mongoid/errors/no_client_database.rb +0 -3
- data/lib/mongoid/errors/no_client_hosts.rb +0 -3
- data/lib/mongoid/errors/no_clients_config.rb +0 -3
- data/lib/mongoid/errors/no_default_client.rb +0 -3
- data/lib/mongoid/errors/no_environment.rb +0 -3
- data/lib/mongoid/errors/no_map_reduce_output.rb +0 -3
- data/lib/mongoid/errors/no_metadata.rb +0 -3
- data/lib/mongoid/errors/no_parent.rb +0 -3
- data/lib/mongoid/errors/readonly_attribute.rb +0 -3
- data/lib/mongoid/errors/readonly_document.rb +1 -6
- data/lib/mongoid/errors/scope_overwrite.rb +0 -1
- data/lib/mongoid/errors/too_many_nested_attribute_records.rb +0 -1
- data/lib/mongoid/errors/unknown_attribute.rb +0 -3
- data/lib/mongoid/errors/unknown_model.rb +0 -3
- data/lib/mongoid/errors/unsaved_document.rb +1 -2
- data/lib/mongoid/errors/unsupported_javascript.rb +0 -3
- data/lib/mongoid/errors/validations.rb +0 -1
- data/lib/mongoid/errors.rb +2 -1
- data/lib/mongoid/evolvable.rb +0 -3
- data/lib/mongoid/extensions/array.rb +3 -29
- data/lib/mongoid/extensions/big_decimal.rb +0 -11
- data/lib/mongoid/extensions/boolean.rb +0 -3
- data/lib/mongoid/extensions/date.rb +0 -9
- data/lib/mongoid/extensions/date_time.rb +0 -9
- data/lib/mongoid/extensions/decimal128.rb +0 -5
- data/lib/mongoid/extensions/false_class.rb +1 -6
- data/lib/mongoid/extensions/float.rb +0 -7
- data/lib/mongoid/extensions/hash.rb +0 -27
- data/lib/mongoid/extensions/integer.rb +0 -9
- data/lib/mongoid/extensions/module.rb +0 -3
- data/lib/mongoid/extensions/nil_class.rb +0 -5
- data/lib/mongoid/extensions/object.rb +1 -40
- data/lib/mongoid/extensions/object_id.rb +0 -7
- data/lib/mongoid/extensions/range.rb +0 -11
- data/lib/mongoid/extensions/regexp.rb +0 -3
- data/lib/mongoid/extensions/set.rb +0 -7
- data/lib/mongoid/extensions/string.rb +1 -30
- data/lib/mongoid/extensions/symbol.rb +0 -7
- data/lib/mongoid/extensions/time.rb +0 -11
- data/lib/mongoid/extensions/time_with_zone.rb +13 -9
- data/lib/mongoid/extensions/true_class.rb +1 -6
- data/lib/mongoid/extensions.rb +15 -3
- data/lib/mongoid/factory.rb +1 -2
- data/lib/mongoid/fields/foreign_key.rb +0 -21
- data/lib/mongoid/fields/localized.rb +0 -11
- data/lib/mongoid/fields/standard.rb +0 -33
- data/lib/mongoid/fields/validators/macro.rb +0 -9
- data/lib/mongoid/fields/validators.rb +0 -1
- data/lib/mongoid/fields.rb +64 -57
- data/lib/mongoid/findable.rb +0 -5
- data/lib/mongoid/indexable/specification.rb +0 -15
- data/lib/mongoid/indexable/validators/options.rb +0 -7
- data/lib/mongoid/indexable.rb +1 -18
- data/lib/mongoid/inspectable.rb +1 -10
- data/lib/mongoid/interceptable.rb +0 -25
- data/lib/mongoid/loggable.rb +0 -9
- data/lib/mongoid/matchable.rb +0 -5
- data/lib/mongoid/matcher/eq_impl.rb +37 -2
- data/lib/mongoid/matcher/eq_impl_with_regexp.rb +6 -1
- data/lib/mongoid/persistable/creatable.rb +1 -20
- data/lib/mongoid/persistable/deletable.rb +0 -17
- data/lib/mongoid/persistable/destroyable.rb +0 -7
- data/lib/mongoid/persistable/incrementable.rb +0 -5
- data/lib/mongoid/persistable/logical.rb +0 -5
- data/lib/mongoid/persistable/poppable.rb +0 -5
- data/lib/mongoid/persistable/pullable.rb +0 -7
- data/lib/mongoid/persistable/pushable.rb +0 -7
- data/lib/mongoid/persistable/renamable.rb +0 -5
- data/lib/mongoid/persistable/savable.rb +0 -7
- data/lib/mongoid/persistable/settable.rb +0 -5
- data/lib/mongoid/persistable/unsettable.rb +0 -5
- data/lib/mongoid/persistable/updatable.rb +2 -17
- data/lib/mongoid/persistable/upsertable.rb +0 -7
- data/lib/mongoid/persistable.rb +0 -23
- data/lib/mongoid/persistence_context.rb +3 -28
- data/lib/mongoid/positional.rb +0 -5
- data/lib/mongoid/query_cache.rb +11 -34
- data/lib/mongoid/railtie.rb +0 -15
- data/lib/mongoid/railties/controller_runtime.rb +0 -1
- data/lib/mongoid/reloadable.rb +4 -16
- data/lib/mongoid/scopable.rb +6 -34
- data/lib/mongoid/selectable.rb +0 -9
- data/lib/mongoid/serializable.rb +0 -15
- data/lib/mongoid/shardable.rb +0 -7
- data/lib/mongoid/stateful.rb +0 -9
- data/lib/mongoid/stringified_symbol.rb +2 -3
- data/lib/mongoid/tasks/database.rb +1 -6
- data/lib/mongoid/threaded/lifecycle.rb +0 -21
- data/lib/mongoid/threaded.rb +0 -55
- data/lib/mongoid/timestamps/created/short.rb +0 -1
- data/lib/mongoid/timestamps/created.rb +0 -1
- data/lib/mongoid/timestamps/short.rb +0 -1
- data/lib/mongoid/timestamps/timeless.rb +0 -7
- data/lib/mongoid/timestamps/updated/short.rb +0 -1
- data/lib/mongoid/timestamps/updated.rb +0 -3
- data/lib/mongoid/timestamps.rb +0 -1
- data/lib/mongoid/touchable.rb +10 -7
- data/lib/mongoid/traversable.rb +64 -53
- data/lib/mongoid/validatable/associated.rb +0 -3
- data/lib/mongoid/validatable/format.rb +0 -1
- data/lib/mongoid/validatable/length.rb +0 -1
- data/lib/mongoid/validatable/localizable.rb +0 -3
- data/lib/mongoid/validatable/macros.rb +0 -7
- data/lib/mongoid/validatable/presence.rb +1 -8
- data/lib/mongoid/validatable/queryable.rb +0 -3
- data/lib/mongoid/validatable/uniqueness.rb +15 -30
- data/lib/mongoid/validatable.rb +1 -22
- data/lib/mongoid/version.rb +1 -2
- data/lib/mongoid.rb +0 -15
- data/lib/rails/generators/mongoid/config/config_generator.rb +0 -1
- data/lib/rails/generators/mongoid/model/model_generator.rb +0 -1
- data/lib/rails/generators/mongoid_generator.rb +0 -1
- data/lib/rails/mongoid.rb +0 -3
- data/spec/integration/app_spec.rb +0 -1
- data/spec/integration/associations/belongs_to_spec.rb +0 -1
- data/spec/integration/associations/embedded_dirty_spec.rb +29 -0
- data/spec/integration/associations/embedded_spec.rb +0 -1
- data/spec/integration/associations/embeds_many_spec.rb +139 -1
- data/spec/integration/associations/embeds_one_spec.rb +0 -1
- data/spec/integration/associations/foreign_key_spec.rb +0 -1
- data/spec/integration/associations/foreign_key_spec_models.rb +0 -1
- data/spec/integration/associations/has_many_spec.rb +0 -1
- data/spec/integration/associations/has_one_spec.rb +0 -1
- data/spec/integration/associations/nested_attributes_assignment_spec.rb +0 -1
- data/spec/integration/associations/reverse_population_spec.rb +0 -1
- data/spec/integration/associations/reverse_population_spec_models.rb +0 -1
- data/spec/integration/associations/scope_option_spec.rb +101 -0
- data/spec/integration/atomic/modifiers_spec.rb +0 -1
- data/spec/integration/bson_regexp_raw_spec.rb +0 -1
- data/spec/integration/callbacks_models.rb +12 -0
- data/spec/integration/callbacks_spec.rb +18 -6
- data/spec/integration/contextual/empty_spec.rb +141 -0
- data/spec/integration/criteria/alias_query_spec.rb +161 -0
- data/spec/integration/criteria/date_field_spec.rb +0 -1
- data/spec/integration/criteria/default_scope_spec.rb +51 -0
- data/spec/integration/criteria/logical_spec.rb +30 -0
- data/spec/integration/criteria/range_spec.rb +265 -0
- data/spec/integration/criteria/time_with_zone_spec.rb +125 -15
- data/spec/integration/discriminator_key_spec.rb +0 -1
- data/spec/integration/discriminator_value_spec.rb +0 -1
- data/spec/integration/document_spec.rb +0 -1
- data/spec/integration/i18n_fallbacks_spec.rb +0 -1
- data/spec/integration/matcher_examples_spec.rb +0 -1
- data/spec/integration/matcher_operator_spec.rb +27 -3
- data/spec/integration/matcher_spec.rb +95 -1
- data/spec/integration/server_query_spec.rb +0 -1
- data/spec/integration/shardable_spec.rb +0 -1
- data/spec/integration/stringified_symbol_field_spec.rb +16 -3
- data/spec/lite_spec_helper.rb +8 -2
- data/spec/mongoid/association/accessors_spec.rb +44 -15
- data/spec/mongoid/association/auto_save_spec.rb +72 -34
- data/spec/mongoid/association/builders_spec.rb +1 -2
- data/spec/mongoid/association/constrainable_spec.rb +0 -1
- data/spec/mongoid/association/counter_cache_spec.rb +32 -33
- data/spec/mongoid/association/depending_spec.rb +12 -13
- data/spec/mongoid/association/eager_spec.rb +4 -5
- data/spec/mongoid/association/embedded/cyclic_spec.rb +2 -3
- data/spec/mongoid/association/embedded/dirty_spec.rb +2 -3
- data/spec/mongoid/association/embedded/embedded_in/binding_spec.rb +0 -1
- data/spec/mongoid/association/embedded/embedded_in/buildable_spec.rb +0 -1
- data/spec/mongoid/association/embedded/embedded_in/proxy_spec.rb +13 -14
- data/spec/mongoid/association/embedded/embedded_in_spec.rb +0 -1
- data/spec/mongoid/association/embedded/embeds_many/binding_spec.rb +0 -1
- data/spec/mongoid/association/embedded/embeds_many/buildable_spec.rb +0 -1
- data/spec/mongoid/association/embedded/embeds_many/proxy_spec.rb +384 -135
- data/spec/mongoid/association/embedded/embeds_many_models.rb +16 -1
- data/spec/mongoid/association/embedded/embeds_many_query_spec.rb +0 -1
- data/spec/mongoid/association/embedded/embeds_many_spec.rb +0 -1
- data/spec/mongoid/association/embedded/embeds_one/binding_spec.rb +0 -1
- data/spec/mongoid/association/embedded/embeds_one/buildable_spec.rb +0 -1
- data/spec/mongoid/association/embedded/embeds_one/proxy_spec.rb +21 -22
- data/spec/mongoid/association/embedded/embeds_one_dnl_models.rb +0 -1
- data/spec/mongoid/association/embedded/embeds_one_models.rb +0 -1
- data/spec/mongoid/association/embedded/embeds_one_query_spec.rb +0 -1
- data/spec/mongoid/association/embedded/embeds_one_spec.rb +0 -1
- data/spec/mongoid/association/macros_spec.rb +9 -10
- data/spec/mongoid/association/nested/many_spec.rb +0 -1
- data/spec/mongoid/association/nested/one_spec.rb +0 -1
- data/spec/mongoid/association/options_spec.rb +0 -1
- data/spec/mongoid/association/polymorphic_spec.rb +0 -1
- data/spec/mongoid/association/referenced/belongs_to/binding_spec.rb +0 -1
- data/spec/mongoid/association/referenced/belongs_to/buildable_spec.rb +55 -17
- data/spec/mongoid/association/referenced/belongs_to/eager_spec.rb +50 -15
- data/spec/mongoid/association/referenced/belongs_to/proxy_spec.rb +57 -53
- data/spec/mongoid/association/referenced/belongs_to_query_spec.rb +20 -1
- data/spec/mongoid/association/referenced/belongs_to_spec.rb +22 -2
- data/spec/mongoid/association/referenced/has_and_belongs_to_many/binding_spec.rb +0 -1
- data/spec/mongoid/association/referenced/has_and_belongs_to_many/buildable_spec.rb +26 -2
- data/spec/mongoid/association/referenced/has_and_belongs_to_many/eager_spec.rb +31 -3
- data/spec/mongoid/association/referenced/has_and_belongs_to_many/proxy_persistence_spec.rb +0 -1
- data/spec/mongoid/association/referenced/has_and_belongs_to_many/proxy_spec.rb +179 -154
- data/spec/mongoid/association/referenced/has_and_belongs_to_many_models.rb +18 -1
- data/spec/mongoid/association/referenced/has_and_belongs_to_many_query_spec.rb +0 -1
- data/spec/mongoid/association/referenced/has_and_belongs_to_many_spec.rb +21 -1
- data/spec/mongoid/association/referenced/has_many/binding_spec.rb +0 -1
- data/spec/mongoid/association/referenced/has_many/buildable_spec.rb +21 -1
- data/spec/mongoid/association/referenced/has_many/eager_spec.rb +23 -7
- data/spec/mongoid/association/referenced/has_many/enumerable_spec.rb +303 -125
- data/spec/mongoid/association/referenced/has_many/proxy_query_spec.rb +0 -1
- data/spec/mongoid/association/referenced/has_many/proxy_spec.rb +227 -164
- data/spec/mongoid/association/referenced/has_many_models.rb +35 -1
- data/spec/mongoid/association/referenced/has_many_query_spec.rb +0 -1
- data/spec/mongoid/association/referenced/has_many_spec.rb +21 -1
- data/spec/mongoid/association/referenced/has_one/binding_spec.rb +0 -1
- data/spec/mongoid/association/referenced/has_one/buildable_spec.rb +51 -8
- data/spec/mongoid/association/referenced/has_one/eager_spec.rb +17 -2
- data/spec/mongoid/association/referenced/has_one/proxy_spec.rb +26 -27
- data/spec/mongoid/association/referenced/has_one_models.rb +18 -1
- data/spec/mongoid/association/referenced/has_one_query_spec.rb +0 -1
- data/spec/mongoid/association/referenced/has_one_spec.rb +21 -1
- data/spec/mongoid/association/reflections_spec.rb +0 -1
- data/spec/mongoid/association/syncable_spec.rb +31 -32
- data/spec/mongoid/association_spec.rb +0 -1
- data/spec/mongoid/atomic/modifiers_spec.rb +0 -1
- data/spec/mongoid/atomic/paths/embedded/many_spec.rb +0 -1
- data/spec/mongoid/atomic/paths/embedded/one_spec.rb +0 -1
- data/spec/mongoid/atomic/paths/root_spec.rb +0 -1
- data/spec/mongoid/atomic/paths_spec.rb +0 -1
- data/spec/mongoid/atomic_spec.rb +6 -7
- data/spec/mongoid/attributes/dynamic_spec.rb +0 -1
- data/spec/mongoid/attributes/nested_spec.rb +66 -67
- data/spec/mongoid/attributes/projector_spec.rb +5 -2
- data/spec/mongoid/attributes/readonly_spec.rb +22 -23
- data/spec/mongoid/attributes_spec.rb +32 -33
- data/spec/mongoid/cacheable_spec.rb +1 -2
- data/spec/mongoid/changeable_spec.rb +35 -36
- data/spec/mongoid/clients/factory_spec.rb +9 -4
- data/spec/mongoid/clients/options_spec.rb +15 -10
- data/spec/mongoid/clients/sessions_spec.rb +22 -23
- data/spec/mongoid/clients/transactions_spec.rb +49 -27
- data/spec/mongoid/clients_spec.rb +6 -7
- data/spec/mongoid/composable_spec.rb +0 -1
- data/spec/mongoid/config/environment_spec.rb +86 -9
- data/spec/mongoid/config/options_spec.rb +0 -1
- data/spec/mongoid/config_spec.rb +194 -17
- data/spec/mongoid/contextual/aggregable/memory_spec.rb +51 -12
- data/spec/mongoid/contextual/aggregable/mongo_spec.rb +120 -21
- data/spec/mongoid/contextual/aggregable/none_spec.rb +60 -0
- data/spec/mongoid/contextual/atomic_spec.rb +109 -71
- data/spec/mongoid/contextual/geo_near_spec.rb +18 -19
- data/spec/mongoid/contextual/map_reduce_spec.rb +2 -3
- data/spec/mongoid/contextual/memory_spec.rb +23 -24
- data/spec/mongoid/contextual/mongo_spec.rb +339 -77
- data/spec/mongoid/contextual/none_spec.rb +7 -82
- data/spec/mongoid/copyable_spec.rb +11 -12
- data/spec/mongoid/copyable_spec_models.rb +0 -1
- data/spec/mongoid/criteria/findable_spec.rb +23 -24
- data/spec/mongoid/criteria/inspectable_spec.rb +0 -1
- data/spec/mongoid/criteria/marshalable_spec.rb +0 -1
- data/spec/mongoid/criteria/modifiable_spec.rb +36 -37
- data/spec/mongoid/criteria/options_spec.rb +0 -1
- data/spec/mongoid/criteria/queryable/aggregable_spec.rb +1 -2
- data/spec/mongoid/criteria/queryable/expandable_spec.rb +0 -1
- data/spec/mongoid/criteria/queryable/extensions/array_spec.rb +0 -1
- data/spec/mongoid/criteria/queryable/extensions/big_decimal_spec.rb +0 -1
- data/spec/mongoid/criteria/queryable/extensions/bignum_spec.rb +0 -1
- data/spec/mongoid/criteria/queryable/extensions/boolean_spec.rb +0 -1
- data/spec/mongoid/criteria/queryable/extensions/date_spec.rb +0 -1
- data/spec/mongoid/criteria/queryable/extensions/date_time_spec.rb +0 -1
- data/spec/mongoid/criteria/queryable/extensions/fixnum_spec.rb +0 -1
- data/spec/mongoid/criteria/queryable/extensions/float_spec.rb +0 -1
- data/spec/mongoid/criteria/queryable/extensions/hash_spec.rb +0 -1
- data/spec/mongoid/criteria/queryable/extensions/integer_spec.rb +0 -1
- data/spec/mongoid/criteria/queryable/extensions/nil_class_spec.rb +0 -1
- data/spec/mongoid/criteria/queryable/extensions/numeric_spec.rb +0 -1
- data/spec/mongoid/criteria/queryable/extensions/object_spec.rb +0 -1
- data/spec/mongoid/criteria/queryable/extensions/range_spec.rb +237 -179
- data/spec/mongoid/criteria/queryable/extensions/regexp_raw_spec.rb +0 -1
- data/spec/mongoid/criteria/queryable/extensions/regexp_spec.rb +0 -1
- data/spec/mongoid/criteria/queryable/extensions/set_spec.rb +0 -1
- data/spec/mongoid/criteria/queryable/extensions/string_spec.rb +0 -1
- data/spec/mongoid/criteria/queryable/extensions/symbol_spec.rb +0 -1
- data/spec/mongoid/criteria/queryable/extensions/time_spec.rb +0 -1
- data/spec/mongoid/criteria/queryable/extensions/time_with_zone_spec.rb +0 -1
- data/spec/mongoid/criteria/queryable/key_spec.rb +0 -1
- data/spec/mongoid/criteria/queryable/mergeable_spec.rb +0 -1
- data/spec/mongoid/criteria/queryable/optional_spec.rb +1 -2
- data/spec/mongoid/criteria/queryable/options_spec.rb +0 -1
- data/spec/mongoid/criteria/queryable/pipeline_spec.rb +0 -1
- data/spec/mongoid/criteria/queryable/queryable_spec.rb +1 -2
- data/spec/mongoid/criteria/queryable/selectable_logical_spec.rb +0 -1
- data/spec/mongoid/criteria/queryable/selectable_shared_examples.rb +0 -1
- data/spec/mongoid/criteria/queryable/selectable_spec.rb +15 -16
- data/spec/mongoid/criteria/queryable/selectable_where_spec.rb +0 -1
- data/spec/mongoid/criteria/queryable/selector_spec.rb +0 -1
- data/spec/mongoid/criteria/queryable/smash_spec.rb +0 -1
- data/spec/mongoid/criteria/queryable/storable_spec.rb +37 -1
- data/spec/mongoid/criteria/scopable_spec.rb +127 -1
- data/spec/mongoid/criteria_projection_spec.rb +3 -4
- data/spec/mongoid/criteria_spec.rb +546 -186
- data/spec/mongoid/document_fields_spec.rb +0 -1
- data/spec/mongoid/document_persistence_context_spec.rb +0 -1
- data/spec/mongoid/document_query_spec.rb +0 -1
- data/spec/mongoid/document_spec.rb +32 -34
- data/spec/mongoid/equality_spec.rb +142 -41
- data/spec/mongoid/errors/ambiguous_relationship_spec.rb +0 -1
- data/spec/mongoid/errors/callback_spec.rb +0 -1
- data/spec/mongoid/errors/delete_restriction_spec.rb +0 -1
- data/spec/mongoid/errors/document_not_destroyed_spec.rb +0 -1
- data/spec/mongoid/errors/document_not_found_spec.rb +0 -1
- data/spec/mongoid/errors/eager_load_spec.rb +0 -1
- data/spec/mongoid/errors/invalid_collection_spec.rb +0 -1
- data/spec/mongoid/errors/invalid_config_file_spec.rb +31 -0
- data/spec/mongoid/errors/invalid_config_option_spec.rb +0 -1
- data/spec/mongoid/errors/invalid_field_option_spec.rb +0 -1
- data/spec/mongoid/errors/invalid_field_spec.rb +0 -1
- data/spec/mongoid/errors/invalid_find_spec.rb +0 -1
- data/spec/mongoid/errors/invalid_includes_spec.rb +0 -1
- data/spec/mongoid/errors/invalid_index_spec.rb +0 -1
- data/spec/mongoid/errors/invalid_options_spec.rb +0 -1
- data/spec/mongoid/errors/invalid_path_spec.rb +0 -1
- data/spec/mongoid/errors/invalid_relation_spec.rb +0 -1
- data/spec/mongoid/errors/invalid_scope_spec.rb +1 -2
- data/spec/mongoid/errors/invalid_set_polymorphic_relation_spec.rb +0 -1
- data/spec/mongoid/errors/invalid_storage_options_spec.rb +0 -1
- data/spec/mongoid/errors/invalid_time_spec.rb +0 -1
- data/spec/mongoid/errors/inverse_not_found_spec.rb +0 -1
- data/spec/mongoid/errors/mixed_client_configuration_spec.rb +0 -1
- data/spec/mongoid/errors/mixed_relations_spec.rb +0 -1
- data/spec/mongoid/errors/mongoid_error_spec.rb +0 -1
- data/spec/mongoid/errors/nested_attributes_metadata_not_found_spec.rb +0 -1
- data/spec/mongoid/errors/no_client_config_spec.rb +0 -1
- data/spec/mongoid/errors/no_client_database_spec.rb +0 -1
- data/spec/mongoid/errors/no_client_hosts_spec.rb +0 -1
- data/spec/mongoid/errors/no_clients_config_spec.rb +0 -1
- data/spec/mongoid/errors/no_environment_spec.rb +0 -1
- data/spec/mongoid/errors/no_map_reduce_output_spec.rb +0 -1
- data/spec/mongoid/errors/no_metadata_spec.rb +0 -1
- data/spec/mongoid/errors/no_parent_spec.rb +0 -1
- data/spec/mongoid/errors/readonly_attribute_spec.rb +0 -1
- data/spec/mongoid/errors/readonly_document_spec.rb +0 -1
- data/spec/mongoid/errors/scope_overwrite_spec.rb +0 -1
- data/spec/mongoid/errors/too_many_nested_attribute_records_spec.rb +0 -1
- data/spec/mongoid/errors/unknown_attribute_spec.rb +2 -3
- data/spec/mongoid/errors/unsaved_document_spec.rb +0 -1
- data/spec/mongoid/errors/unsupported_javascript_spec.rb +0 -1
- data/spec/mongoid/errors/validations_spec.rb +0 -1
- data/spec/mongoid/extensions/array_spec.rb +0 -1
- data/spec/mongoid/extensions/big_decimal_spec.rb +0 -1
- data/spec/mongoid/extensions/binary_spec.rb +0 -1
- data/spec/mongoid/extensions/boolean_spec.rb +0 -1
- data/spec/mongoid/extensions/date_class_mongoize_spec.rb +0 -1
- data/spec/mongoid/extensions/date_spec.rb +0 -1
- data/spec/mongoid/extensions/date_time_spec.rb +0 -1
- data/spec/mongoid/extensions/decimal128_spec.rb +0 -1
- data/spec/mongoid/extensions/false_class_spec.rb +0 -1
- data/spec/mongoid/extensions/float_spec.rb +0 -1
- data/spec/mongoid/extensions/hash_spec.rb +0 -1
- data/spec/mongoid/extensions/integer_spec.rb +0 -1
- data/spec/mongoid/extensions/module_spec.rb +0 -1
- data/spec/mongoid/extensions/nil_class_spec.rb +0 -1
- data/spec/mongoid/extensions/object_id_spec.rb +0 -1
- data/spec/mongoid/extensions/object_spec.rb +0 -1
- data/spec/mongoid/extensions/range_spec.rb +0 -1
- data/spec/mongoid/extensions/regexp_spec.rb +0 -1
- data/spec/mongoid/extensions/set_spec.rb +0 -1
- data/spec/mongoid/extensions/string_spec.rb +2 -3
- data/spec/mongoid/extensions/stringified_symbol_spec.rb +0 -1
- data/spec/mongoid/extensions/symbol_spec.rb +0 -1
- data/spec/mongoid/extensions/time_spec.rb +0 -1
- data/spec/mongoid/extensions/time_with_zone_spec.rb +0 -1
- data/spec/mongoid/extensions/true_class_spec.rb +0 -1
- data/spec/mongoid/extensions_spec.rb +14 -3
- data/spec/mongoid/factory_spec.rb +1 -1
- data/spec/mongoid/fields/foreign_key_spec.rb +0 -1
- data/spec/mongoid/fields/localized_spec.rb +0 -1
- data/spec/mongoid/fields/standard_spec.rb +0 -1
- data/spec/mongoid/fields_spec.rb +326 -31
- data/spec/mongoid/findable_spec.rb +21 -22
- data/spec/mongoid/indexable/specification_spec.rb +0 -1
- data/spec/mongoid/indexable_spec.rb +0 -1
- data/spec/mongoid/inspectable_spec.rb +0 -1
- data/spec/mongoid/interceptable_spec.rb +102 -95
- data/spec/mongoid/loggable_spec.rb +0 -1
- data/spec/mongoid/matcher/extract_attribute_spec.rb +5 -2
- data/spec/mongoid/persistable/creatable_spec.rb +2 -3
- data/spec/mongoid/persistable/deletable_spec.rb +18 -19
- data/spec/mongoid/persistable/destroyable_spec.rb +8 -9
- data/spec/mongoid/persistable/incrementable_spec.rb +8 -9
- data/spec/mongoid/persistable/logical_spec.rb +4 -5
- data/spec/mongoid/persistable/poppable_spec.rb +4 -5
- data/spec/mongoid/persistable/pullable_spec.rb +8 -9
- data/spec/mongoid/persistable/pushable_spec.rb +8 -9
- data/spec/mongoid/persistable/renamable_spec.rb +3 -4
- data/spec/mongoid/persistable/savable_spec.rb +15 -11
- data/spec/mongoid/persistable/settable_spec.rb +9 -10
- data/spec/mongoid/persistable/unsettable_spec.rb +4 -5
- data/spec/mongoid/persistable/updatable_spec.rb +43 -24
- data/spec/mongoid/persistable/upsertable_spec.rb +1 -2
- data/spec/mongoid/persistable_spec.rb +1 -2
- data/spec/mongoid/persistence_context_spec.rb +0 -1
- data/spec/mongoid/positional_spec.rb +0 -1
- data/spec/mongoid/query_cache_middleware_spec.rb +1 -2
- data/spec/mongoid/query_cache_spec.rb +56 -10
- data/spec/mongoid/relations/proxy_spec.rb +6 -7
- data/spec/mongoid/reloadable_spec.rb +209 -23
- data/spec/mongoid/scopable_spec.rb +65 -22
- data/spec/mongoid/selectable_spec.rb +6 -7
- data/spec/mongoid/serializable_spec.rb +9 -10
- data/spec/mongoid/shardable_spec.rb +2 -3
- data/spec/mongoid/stateful_spec.rb +1 -2
- data/spec/mongoid/tasks/database_rake_spec.rb +0 -1
- data/spec/mongoid/tasks/database_spec.rb +0 -1
- data/spec/mongoid/threaded_spec.rb +2 -3
- data/spec/mongoid/timestamps/created/short_spec.rb +1 -2
- data/spec/mongoid/timestamps/created_spec.rb +1 -2
- data/spec/mongoid/timestamps/timeless_spec.rb +2 -3
- data/spec/mongoid/timestamps/updated/short_spec.rb +3 -4
- data/spec/mongoid/timestamps/updated_spec.rb +3 -4
- data/spec/mongoid/timestamps_spec.rb +6 -7
- data/spec/mongoid/touchable_spec.rb +33 -20
- data/spec/mongoid/touchable_spec_models.rb +2 -1
- data/spec/mongoid/traversable_spec.rb +65 -2
- data/spec/mongoid/validatable/associated_spec.rb +0 -1
- data/spec/mongoid/validatable/format_spec.rb +0 -1
- data/spec/mongoid/validatable/length_spec.rb +0 -1
- data/spec/mongoid/validatable/numericality_spec.rb +0 -1
- data/spec/mongoid/validatable/presence_spec.rb +26 -23
- data/spec/mongoid/validatable/uniqueness_spec.rb +67 -68
- data/spec/mongoid/validatable_spec.rb +2 -3
- data/spec/mongoid_spec.rb +0 -1
- data/spec/rails/controller_extension/controller_runtime_spec.rb +0 -1
- data/spec/rails/mongoid_spec.rb +0 -1
- data/spec/shared/lib/mrss/cluster_config.rb +6 -1
- data/spec/shared/lib/mrss/constraints.rb +23 -5
- data/spec/shared/lib/mrss/docker_runner.rb +1 -1
- data/spec/shared/lib/mrss/event_subscriber.rb +200 -0
- data/spec/shared/lib/mrss/lite_constraints.rb +8 -0
- data/spec/shared/lib/mrss/server_version_registry.rb +17 -12
- data/spec/shared/lib/mrss/session_registry.rb +69 -0
- data/spec/shared/lib/mrss/session_registry_legacy.rb +60 -0
- data/spec/shared/share/Dockerfile.erb +27 -10
- data/spec/shared/shlib/distro.sh +2 -1
- data/spec/shared/shlib/server.sh +85 -23
- data/spec/shared/shlib/set_env.sh +6 -5
- data/spec/spec_helper.rb +12 -22
- data/spec/support/authorization.rb +0 -1
- data/spec/support/constraints.rb +0 -1
- data/spec/support/expectations.rb +0 -1
- data/spec/support/macros.rb +22 -1
- data/spec/support/models/account.rb +1 -2
- data/spec/support/models/acolyte.rb +0 -1
- data/spec/support/models/actor.rb +0 -1
- data/spec/support/models/actress.rb +0 -1
- data/spec/support/models/address.rb +0 -1
- data/spec/support/models/address_component.rb +0 -1
- data/spec/support/models/address_number.rb +0 -1
- data/spec/support/models/agency.rb +0 -1
- data/spec/support/models/agent.rb +0 -1
- data/spec/support/models/album.rb +0 -1
- data/spec/support/models/alert.rb +0 -1
- data/spec/support/models/animal.rb +0 -1
- data/spec/support/models/answer.rb +0 -1
- data/spec/support/models/appointment.rb +0 -1
- data/spec/support/models/armrest.rb +0 -1
- data/spec/support/models/array_field.rb +0 -1
- data/spec/support/models/article.rb +0 -1
- data/spec/support/models/artist.rb +2 -1
- data/spec/support/models/artwork.rb +0 -1
- data/spec/support/models/audible_sound.rb +3 -0
- data/spec/support/models/audio.rb +0 -1
- data/spec/support/models/augmentation.rb +0 -1
- data/spec/support/models/author.rb +0 -1
- data/spec/support/models/baby.rb +0 -1
- data/spec/support/models/band.rb +4 -1
- data/spec/support/models/bar.rb +0 -1
- data/spec/support/models/basic.rb +0 -1
- data/spec/support/models/bed.rb +0 -1
- data/spec/support/models/big_palette.rb +0 -1
- data/spec/support/models/birthday.rb +0 -1
- data/spec/support/models/bolt.rb +0 -1
- data/spec/support/models/bomb.rb +0 -1
- data/spec/support/models/book.rb +0 -1
- data/spec/support/models/breed.rb +0 -1
- data/spec/support/models/browser.rb +0 -1
- data/spec/support/models/building.rb +0 -1
- data/spec/support/models/building_address.rb +0 -1
- data/spec/support/models/bus.rb +0 -1
- data/spec/support/models/business.rb +0 -1
- data/spec/support/models/callback_test.rb +0 -1
- data/spec/support/models/canvas.rb +0 -1
- data/spec/support/models/car.rb +0 -1
- data/spec/support/models/cat.rb +0 -1
- data/spec/support/models/category.rb +0 -1
- data/spec/support/models/child.rb +0 -1
- data/spec/support/models/child_doc.rb +3 -4
- data/spec/support/models/church.rb +0 -1
- data/spec/support/models/circle.rb +0 -1
- data/spec/support/models/circuit.rb +0 -1
- data/spec/support/models/circus.rb +0 -1
- data/spec/support/models/code.rb +0 -1
- data/spec/support/models/coding/pull_request.rb +0 -1
- data/spec/support/models/coding.rb +0 -1
- data/spec/support/models/comment.rb +0 -1
- data/spec/support/models/company.rb +0 -1
- data/spec/support/models/consumption_period.rb +0 -1
- data/spec/support/models/contextable_item.rb +0 -1
- data/spec/support/models/contractor.rb +0 -1
- data/spec/support/models/cookie.rb +0 -1
- data/spec/support/models/country_code.rb +2 -1
- data/spec/support/models/courier_job.rb +0 -1
- data/spec/support/models/crate.rb +0 -1
- data/spec/support/models/customer.rb +0 -1
- data/spec/support/models/customer_address.rb +0 -1
- data/spec/support/models/deed.rb +0 -1
- data/spec/support/models/definition.rb +0 -1
- data/spec/support/models/delegating_patient.rb +0 -1
- data/spec/support/models/description.rb +0 -1
- data/spec/support/models/dictionary.rb +0 -1
- data/spec/support/models/division.rb +0 -1
- data/spec/support/models/doctor.rb +0 -1
- data/spec/support/models/dog.rb +0 -1
- data/spec/support/models/dokument.rb +0 -1
- data/spec/support/models/draft.rb +0 -1
- data/spec/support/models/dragon.rb +0 -1
- data/spec/support/models/driver.rb +0 -1
- data/spec/support/models/drug.rb +0 -1
- data/spec/support/models/dungeon.rb +0 -1
- data/spec/support/models/edit.rb +0 -1
- data/spec/support/models/email.rb +0 -1
- data/spec/support/models/employer.rb +0 -1
- data/spec/support/models/entry.rb +0 -1
- data/spec/support/models/eraser.rb +0 -1
- data/spec/support/models/even.rb +0 -1
- data/spec/support/models/event.rb +0 -1
- data/spec/support/models/exhibition.rb +0 -1
- data/spec/support/models/exhibitor.rb +0 -1
- data/spec/support/models/explosion.rb +0 -1
- data/spec/support/models/eye.rb +0 -1
- data/spec/support/models/eye_bowl.rb +0 -1
- data/spec/support/models/face.rb +0 -1
- data/spec/support/models/favorite.rb +0 -1
- data/spec/support/models/filesystem.rb +0 -1
- data/spec/support/models/fire_hydrant.rb +0 -1
- data/spec/support/models/firefox.rb +0 -1
- data/spec/support/models/fish.rb +0 -1
- data/spec/support/models/folder.rb +0 -1
- data/spec/support/models/folder_item.rb +0 -1
- data/spec/support/models/fruits.rb +0 -1
- data/spec/support/models/game.rb +0 -1
- data/spec/support/models/ghost.rb +0 -1
- data/spec/support/models/guitar.rb +0 -1
- data/spec/support/models/hole.rb +0 -1
- data/spec/support/models/home.rb +0 -1
- data/spec/support/models/house.rb +0 -1
- data/spec/support/models/html_writer.rb +0 -1
- data/spec/support/models/id_key.rb +0 -1
- data/spec/support/models/idnodef.rb +0 -1
- data/spec/support/models/image.rb +0 -1
- data/spec/support/models/implant.rb +0 -1
- data/spec/support/models/instrument.rb +0 -1
- data/spec/support/models/item.rb +0 -1
- data/spec/support/models/jar.rb +0 -1
- data/spec/support/models/kaleidoscope.rb +0 -1
- data/spec/support/models/kangaroo.rb +0 -1
- data/spec/support/models/label.rb +2 -2
- data/spec/support/models/language.rb +0 -1
- data/spec/support/models/lat_lng.rb +0 -1
- data/spec/support/models/league.rb +0 -1
- data/spec/support/models/learner.rb +0 -1
- data/spec/support/models/line_item.rb +0 -1
- data/spec/support/models/location.rb +0 -1
- data/spec/support/models/login.rb +0 -1
- data/spec/support/models/manufacturer.rb +0 -1
- data/spec/support/models/meat.rb +0 -1
- data/spec/support/models/membership.rb +0 -1
- data/spec/support/models/message.rb +0 -1
- data/spec/support/models/minim.rb +0 -1
- data/spec/support/models/mixed_drink.rb +0 -1
- data/spec/support/models/mop.rb +0 -1
- data/spec/support/models/movie.rb +0 -1
- data/spec/support/models/my_hash.rb +0 -1
- data/spec/support/models/name.rb +0 -1
- data/spec/support/models/name_only.rb +0 -1
- data/spec/support/models/node.rb +0 -1
- data/spec/support/models/note.rb +0 -1
- data/spec/support/models/nut.rb +0 -1
- data/spec/support/models/odd.rb +0 -1
- data/spec/support/models/order.rb +2 -1
- data/spec/support/models/ordered_post.rb +1 -2
- data/spec/support/models/ordered_preference.rb +0 -1
- data/spec/support/models/oscar.rb +0 -1
- data/spec/support/models/other_owner_object.rb +0 -1
- data/spec/support/models/override.rb +0 -1
- data/spec/support/models/ownable.rb +0 -1
- data/spec/support/models/owner.rb +0 -1
- data/spec/support/models/pack.rb +0 -1
- data/spec/support/models/page.rb +0 -1
- data/spec/support/models/page_question.rb +0 -1
- data/spec/support/models/palette.rb +0 -1
- data/spec/support/models/parent.rb +0 -1
- data/spec/support/models/parent_doc.rb +0 -1
- data/spec/support/models/passport.rb +5 -1
- data/spec/support/models/patient.rb +0 -1
- data/spec/support/models/pdf_writer.rb +0 -1
- data/spec/support/models/pencil.rb +0 -1
- data/spec/support/models/person.rb +1 -1
- data/spec/support/models/pet.rb +0 -1
- data/spec/support/models/pet_owner.rb +0 -1
- data/spec/support/models/phone.rb +2 -2
- data/spec/support/models/piano.rb +0 -1
- data/spec/support/models/pizza.rb +0 -1
- data/spec/support/models/player.rb +0 -1
- data/spec/support/models/post.rb +0 -1
- data/spec/support/models/post_genre.rb +0 -1
- data/spec/support/models/powerup.rb +0 -1
- data/spec/support/models/preference.rb +0 -1
- data/spec/support/models/princess.rb +0 -1
- data/spec/support/models/product.rb +0 -1
- data/spec/support/models/profile.rb +0 -1
- data/spec/support/models/pronunciation.rb +0 -1
- data/spec/support/models/pub.rb +0 -1
- data/spec/support/models/publication/encyclopedia.rb +0 -1
- data/spec/support/models/publication/review.rb +0 -1
- data/spec/support/models/publication.rb +0 -1
- data/spec/support/models/purchase.rb +0 -1
- data/spec/support/models/purchased_item.rb +10 -0
- data/spec/support/models/question.rb +0 -1
- data/spec/support/models/quiz.rb +0 -1
- data/spec/support/models/rating.rb +0 -1
- data/spec/support/models/record.rb +0 -1
- data/spec/support/models/registry.rb +0 -1
- data/spec/support/models/role.rb +0 -1
- data/spec/support/models/root_category.rb +0 -1
- data/spec/support/models/sandwich.rb +0 -1
- data/spec/support/models/scheduler.rb +0 -1
- data/spec/support/models/scribe.rb +0 -1
- data/spec/support/models/sealer.rb +0 -1
- data/spec/support/models/seat.rb +0 -1
- data/spec/support/models/seo.rb +0 -1
- data/spec/support/models/series.rb +0 -1
- data/spec/support/models/server.rb +0 -1
- data/spec/support/models/service.rb +0 -1
- data/spec/support/models/shape.rb +0 -1
- data/spec/support/models/shelf.rb +0 -1
- data/spec/support/models/shipment_address.rb +0 -1
- data/spec/support/models/shipping_container.rb +0 -1
- data/spec/support/models/shipping_pack.rb +0 -1
- data/spec/support/models/shirt.rb +0 -1
- data/spec/support/models/shop.rb +0 -1
- data/spec/support/models/short_agent.rb +0 -1
- data/spec/support/models/short_quiz.rb +0 -1
- data/spec/support/models/simple.rb +0 -1
- data/spec/support/models/slave.rb +0 -1
- data/spec/support/models/song.rb +0 -1
- data/spec/support/models/sound.rb +0 -1
- data/spec/support/models/spacer.rb +0 -1
- data/spec/support/models/square.rb +0 -1
- data/spec/support/models/staff.rb +0 -1
- data/spec/support/models/store_as_dup_test1.rb +0 -1
- data/spec/support/models/store_as_dup_test2.rb +0 -1
- data/spec/support/models/store_as_dup_test3.rb +0 -1
- data/spec/support/models/store_as_dup_test4.rb +0 -1
- data/spec/support/models/strategy.rb +0 -1
- data/spec/support/models/sub_item.rb +0 -1
- data/spec/support/models/subscription.rb +0 -1
- data/spec/support/models/survey.rb +0 -1
- data/spec/support/models/symptom.rb +0 -1
- data/spec/support/models/tag.rb +0 -1
- data/spec/support/models/target.rb +0 -1
- data/spec/support/models/template.rb +0 -1
- data/spec/support/models/thing.rb +0 -1
- data/spec/support/models/threadlocker.rb +0 -1
- data/spec/support/models/title.rb +0 -1
- data/spec/support/models/tool.rb +0 -1
- data/spec/support/models/topping.rb +0 -1
- data/spec/support/models/toy.rb +0 -1
- data/spec/support/models/track.rb +0 -1
- data/spec/support/models/translation.rb +0 -1
- data/spec/support/models/tree.rb +0 -1
- data/spec/support/models/truck.rb +0 -1
- data/spec/support/models/updatable.rb +0 -1
- data/spec/support/models/user.rb +0 -1
- data/spec/support/models/user_account.rb +0 -1
- data/spec/support/models/validation_callback.rb +0 -1
- data/spec/support/models/vehicle.rb +0 -1
- data/spec/support/models/version.rb +0 -1
- data/spec/support/models/vertex.rb +0 -1
- data/spec/support/models/vet_visit.rb +0 -1
- data/spec/support/models/video.rb +0 -1
- data/spec/support/models/video_game.rb +0 -1
- data/spec/support/models/washer.rb +0 -1
- data/spec/support/models/weapon.rb +0 -1
- data/spec/support/models/wiki_page.rb +0 -1
- data/spec/support/models/word.rb +0 -1
- data/spec/support/models/word_origin.rb +0 -1
- data/spec/support/models/writer.rb +0 -1
- data/spec/support/shared/time.rb +0 -1
- data/spec/support/spec_config.rb +3 -1
- data.tar.gz.sig +0 -0
- metadata +642 -610
- metadata.gz.sig +0 -0
- data/lib/support/ruby_version.rb +0 -29
- data/spec/support/session_registry.rb +0 -50
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
|
-
# encoding: utf-8
|
|
3
2
|
|
|
4
3
|
require "spec_helper"
|
|
5
4
|
|
|
@@ -10,11 +9,11 @@ describe Mongoid::Association::Referenced::HasMany::Enumerable do
|
|
|
10
9
|
context "when comparing with an enumerable" do
|
|
11
10
|
|
|
12
11
|
let(:person) do
|
|
13
|
-
Person.create
|
|
12
|
+
Person.create!
|
|
14
13
|
end
|
|
15
14
|
|
|
16
15
|
let!(:post) do
|
|
17
|
-
Post.create(person_id: person.id)
|
|
16
|
+
Post.create!(person_id: person.id)
|
|
18
17
|
end
|
|
19
18
|
|
|
20
19
|
context "when only a criteria target exists" do
|
|
@@ -88,7 +87,7 @@ describe Mongoid::Association::Referenced::HasMany::Enumerable do
|
|
|
88
87
|
context "when the loaded has no docs and added is persisted" do
|
|
89
88
|
|
|
90
89
|
before do
|
|
91
|
-
post.save
|
|
90
|
+
post.save!
|
|
92
91
|
enumerable._added[post.id] = post
|
|
93
92
|
end
|
|
94
93
|
|
|
@@ -114,72 +113,103 @@ describe Mongoid::Association::Referenced::HasMany::Enumerable do
|
|
|
114
113
|
|
|
115
114
|
describe "#===" do
|
|
116
115
|
|
|
117
|
-
let(:
|
|
118
|
-
described_class.new([])
|
|
119
|
-
end
|
|
116
|
+
let(:data) { [] }
|
|
120
117
|
|
|
121
|
-
|
|
118
|
+
shared_examples 'standard library-compatible enumerable' do
|
|
119
|
+
context "when compared to an array class" do
|
|
122
120
|
|
|
123
|
-
|
|
124
|
-
|
|
121
|
+
it "returns false" do
|
|
122
|
+
expect(enumerable === Array).to be false
|
|
123
|
+
end
|
|
125
124
|
end
|
|
126
|
-
end
|
|
127
125
|
|
|
128
|
-
|
|
126
|
+
context "when compared to an enumerable class" do
|
|
129
127
|
|
|
130
|
-
|
|
131
|
-
|
|
128
|
+
it "returns false" do
|
|
129
|
+
expect(enumerable === described_class).to be false
|
|
130
|
+
end
|
|
132
131
|
end
|
|
133
|
-
end
|
|
134
132
|
|
|
135
|
-
|
|
133
|
+
context "when compared to a different class" do
|
|
136
134
|
|
|
137
|
-
|
|
138
|
-
|
|
135
|
+
it "returns false" do
|
|
136
|
+
expect(enumerable === Mongoid::Document).to be false
|
|
137
|
+
end
|
|
139
138
|
end
|
|
140
|
-
end
|
|
141
139
|
|
|
142
|
-
|
|
140
|
+
context "when compared to an array instance" do
|
|
143
141
|
|
|
144
|
-
|
|
142
|
+
context "when the entries are equal" do
|
|
145
143
|
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
144
|
+
let(:data) do
|
|
145
|
+
[Post.new(id: 2)]
|
|
146
|
+
end
|
|
149
147
|
|
|
150
|
-
|
|
151
|
-
|
|
148
|
+
let(:other) do
|
|
149
|
+
described_class.new([Post.new(id: 2)])
|
|
150
|
+
end
|
|
151
|
+
|
|
152
|
+
it "returns true" do
|
|
153
|
+
expect(enumerable === other).to be true
|
|
154
|
+
end
|
|
152
155
|
end
|
|
153
|
-
end
|
|
154
156
|
|
|
155
|
-
|
|
157
|
+
context "when the entries are both empty" do
|
|
156
158
|
|
|
157
|
-
|
|
158
|
-
|
|
159
|
+
let(:other) do
|
|
160
|
+
described_class.new([])
|
|
161
|
+
end
|
|
162
|
+
|
|
163
|
+
it "returns true" do
|
|
164
|
+
expect(enumerable === other).to be true
|
|
165
|
+
end
|
|
159
166
|
end
|
|
160
167
|
|
|
161
|
-
|
|
162
|
-
|
|
168
|
+
context "when the entries are not equal" do
|
|
169
|
+
|
|
170
|
+
let(:other) do
|
|
171
|
+
described_class.new([ Band.new ])
|
|
172
|
+
end
|
|
173
|
+
|
|
174
|
+
it "returns false" do
|
|
175
|
+
expect(enumerable === other).to be false
|
|
176
|
+
end
|
|
163
177
|
end
|
|
164
178
|
end
|
|
165
179
|
end
|
|
180
|
+
|
|
181
|
+
context 'enumerable' do
|
|
182
|
+
let(:enumerable) do
|
|
183
|
+
described_class.new(data)
|
|
184
|
+
end
|
|
185
|
+
|
|
186
|
+
include_examples 'standard library-compatible enumerable'
|
|
187
|
+
end
|
|
188
|
+
|
|
189
|
+
context 'Array instance' do
|
|
190
|
+
let(:enumerable) do
|
|
191
|
+
data
|
|
192
|
+
end
|
|
193
|
+
|
|
194
|
+
include_examples 'standard library-compatible enumerable'
|
|
195
|
+
end
|
|
166
196
|
end
|
|
167
197
|
|
|
168
198
|
describe "#<<" do
|
|
169
199
|
|
|
170
200
|
let(:person) do
|
|
171
|
-
Person.create
|
|
201
|
+
Person.create!
|
|
172
202
|
end
|
|
173
203
|
|
|
174
204
|
let!(:post) do
|
|
175
|
-
Post.create(person_id: person.id)
|
|
205
|
+
Post.create!(person_id: person.id)
|
|
176
206
|
end
|
|
177
207
|
|
|
178
208
|
let!(:enumerable) do
|
|
179
209
|
described_class.new([])
|
|
180
210
|
end
|
|
181
211
|
|
|
182
|
-
context "when the
|
|
212
|
+
context "when the association is empty" do
|
|
183
213
|
|
|
184
214
|
let!(:added) do
|
|
185
215
|
enumerable << post
|
|
@@ -201,18 +231,18 @@ describe Mongoid::Association::Referenced::HasMany::Enumerable do
|
|
|
201
231
|
end
|
|
202
232
|
end
|
|
203
233
|
|
|
204
|
-
describe "#
|
|
234
|
+
describe "#empty?" do
|
|
205
235
|
|
|
206
236
|
let(:person) do
|
|
207
|
-
Person.create
|
|
237
|
+
Person.create!
|
|
208
238
|
end
|
|
209
239
|
|
|
210
240
|
let!(:post_one) do
|
|
211
|
-
Post.create(person_id: person.id)
|
|
241
|
+
Post.create!(person_id: person.id)
|
|
212
242
|
end
|
|
213
243
|
|
|
214
244
|
let!(:post_two) do
|
|
215
|
-
Post.create(person_id: person.id)
|
|
245
|
+
Post.create!(person_id: person.id)
|
|
216
246
|
end
|
|
217
247
|
|
|
218
248
|
context "when only a criteria target exists" do
|
|
@@ -225,27 +255,138 @@ describe Mongoid::Association::Referenced::HasMany::Enumerable do
|
|
|
225
255
|
described_class.new(criteria)
|
|
226
256
|
end
|
|
227
257
|
|
|
228
|
-
let
|
|
229
|
-
enumerable.
|
|
258
|
+
let(:empty) do
|
|
259
|
+
enumerable.empty?
|
|
230
260
|
end
|
|
231
261
|
|
|
232
|
-
it "returns
|
|
233
|
-
expect(
|
|
262
|
+
it "returns false" do
|
|
263
|
+
expect(empty).to be false
|
|
234
264
|
end
|
|
235
265
|
|
|
236
|
-
|
|
237
|
-
|
|
266
|
+
context 'when #empty? is called' do
|
|
267
|
+
|
|
268
|
+
before { empty }
|
|
269
|
+
|
|
270
|
+
it "retains the correct length" do
|
|
271
|
+
expect(enumerable.length).to eq(2)
|
|
272
|
+
end
|
|
273
|
+
|
|
274
|
+
it "retains the correct length when calling to_a" do
|
|
275
|
+
expect(enumerable.to_a.length).to eq(2)
|
|
276
|
+
end
|
|
277
|
+
|
|
278
|
+
context "when iterating over the association a second time" do
|
|
279
|
+
|
|
280
|
+
before do
|
|
281
|
+
enumerable.each { |post| post }
|
|
282
|
+
end
|
|
283
|
+
|
|
284
|
+
it "retains the correct length" do
|
|
285
|
+
expect(enumerable.length).to eq(2)
|
|
286
|
+
end
|
|
287
|
+
|
|
288
|
+
it "retains the correct length when calling to_a" do
|
|
289
|
+
expect(enumerable.to_a.length).to eq(2)
|
|
290
|
+
end
|
|
291
|
+
end
|
|
238
292
|
end
|
|
293
|
+
end
|
|
239
294
|
|
|
240
|
-
|
|
241
|
-
|
|
295
|
+
context "when the documents have been loaded" do
|
|
296
|
+
let(:criteria) do
|
|
297
|
+
Post.where(person_id: person.id)
|
|
242
298
|
end
|
|
243
299
|
|
|
244
|
-
|
|
300
|
+
let!(:enumerable) do
|
|
301
|
+
described_class.new(criteria)
|
|
302
|
+
end
|
|
303
|
+
|
|
304
|
+
before do
|
|
305
|
+
enumerable.load_all!
|
|
306
|
+
end
|
|
307
|
+
|
|
308
|
+
it "is _loaded" do
|
|
309
|
+
expect(enumerable._loaded?).to be true
|
|
310
|
+
end
|
|
311
|
+
|
|
312
|
+
it "it does not call #exists? on the unloaded scope" do
|
|
313
|
+
expect(enumerable._unloaded).to_not receive(:exists?)
|
|
314
|
+
expect(enumerable.empty?).to be false
|
|
315
|
+
end
|
|
316
|
+
end
|
|
317
|
+
|
|
318
|
+
context "when the documents are not loaded" do
|
|
319
|
+
|
|
320
|
+
let(:criteria) do
|
|
321
|
+
Post.where(person_id: person.id)
|
|
322
|
+
end
|
|
323
|
+
|
|
324
|
+
let!(:enumerable) do
|
|
325
|
+
described_class.new(criteria)
|
|
326
|
+
end
|
|
327
|
+
|
|
328
|
+
it "is not _loaded" do
|
|
329
|
+
expect(enumerable._loaded?).to be false
|
|
330
|
+
end
|
|
331
|
+
|
|
332
|
+
it "it calls #exists? on the unloaded scope" do
|
|
333
|
+
expect(enumerable._unloaded).to receive(:exists?)
|
|
334
|
+
expect(enumerable.empty?).to be true
|
|
335
|
+
end
|
|
336
|
+
|
|
337
|
+
context "when documents are added" do
|
|
245
338
|
|
|
246
339
|
before do
|
|
247
|
-
enumerable
|
|
340
|
+
enumerable << post_one
|
|
341
|
+
end
|
|
342
|
+
|
|
343
|
+
it "is not _loaded" do
|
|
344
|
+
expect(enumerable._loaded?).to be false
|
|
345
|
+
end
|
|
346
|
+
|
|
347
|
+
it "it does not call #exists? on the unloaded scope" do
|
|
348
|
+
expect(enumerable._unloaded).to_not receive(:exists?)
|
|
349
|
+
expect(enumerable.empty?).to be false
|
|
248
350
|
end
|
|
351
|
+
end
|
|
352
|
+
end
|
|
353
|
+
end
|
|
354
|
+
|
|
355
|
+
describe "#any?" do
|
|
356
|
+
|
|
357
|
+
let(:person) do
|
|
358
|
+
Person.create!
|
|
359
|
+
end
|
|
360
|
+
|
|
361
|
+
let!(:post_one) do
|
|
362
|
+
Post.create!(person_id: person.id)
|
|
363
|
+
end
|
|
364
|
+
|
|
365
|
+
let!(:post_two) do
|
|
366
|
+
Post.create!(person_id: person.id)
|
|
367
|
+
end
|
|
368
|
+
|
|
369
|
+
context "when only a criteria target exists" do
|
|
370
|
+
|
|
371
|
+
let(:criteria) do
|
|
372
|
+
Post.where(person_id: person.id)
|
|
373
|
+
end
|
|
374
|
+
|
|
375
|
+
let!(:enumerable) do
|
|
376
|
+
described_class.new(criteria)
|
|
377
|
+
end
|
|
378
|
+
|
|
379
|
+
let(:any) do
|
|
380
|
+
enumerable.any?
|
|
381
|
+
end
|
|
382
|
+
|
|
383
|
+
it "returns true" do
|
|
384
|
+
expect(any).to be true
|
|
385
|
+
end
|
|
386
|
+
|
|
387
|
+
context 'when #any? is called' do
|
|
388
|
+
|
|
389
|
+
before { any }
|
|
249
390
|
|
|
250
391
|
it "retains the correct length" do
|
|
251
392
|
expect(enumerable.length).to eq(2)
|
|
@@ -254,6 +395,21 @@ describe Mongoid::Association::Referenced::HasMany::Enumerable do
|
|
|
254
395
|
it "retains the correct length when calling to_a" do
|
|
255
396
|
expect(enumerable.to_a.length).to eq(2)
|
|
256
397
|
end
|
|
398
|
+
|
|
399
|
+
context "when iterating over the association a second time" do
|
|
400
|
+
|
|
401
|
+
before do
|
|
402
|
+
enumerable.each { |post| post }
|
|
403
|
+
end
|
|
404
|
+
|
|
405
|
+
it "retains the correct length" do
|
|
406
|
+
expect(enumerable.length).to eq(2)
|
|
407
|
+
end
|
|
408
|
+
|
|
409
|
+
it "retains the correct length when calling to_a" do
|
|
410
|
+
expect(enumerable.to_a.length).to eq(2)
|
|
411
|
+
end
|
|
412
|
+
end
|
|
257
413
|
end
|
|
258
414
|
end
|
|
259
415
|
|
|
@@ -274,6 +430,11 @@ describe Mongoid::Association::Referenced::HasMany::Enumerable do
|
|
|
274
430
|
expect(enumerable._loaded?).to be true
|
|
275
431
|
end
|
|
276
432
|
|
|
433
|
+
it "it does not call #exists? on the unloaded scope" do
|
|
434
|
+
expect(enumerable._unloaded).to_not receive(:exists?)
|
|
435
|
+
expect(enumerable.any?).to be true
|
|
436
|
+
end
|
|
437
|
+
|
|
277
438
|
context "when a block is given" do
|
|
278
439
|
it "returns true when the predicate is true" do
|
|
279
440
|
expect(
|
|
@@ -289,7 +450,6 @@ describe Mongoid::Association::Referenced::HasMany::Enumerable do
|
|
|
289
450
|
end
|
|
290
451
|
|
|
291
452
|
context "when an argument is given" do
|
|
292
|
-
ruby_version_gte '2.5'
|
|
293
453
|
|
|
294
454
|
it "returns true when the argument is true" do
|
|
295
455
|
expect(enumerable.any?(Post)).to be true
|
|
@@ -301,7 +461,6 @@ describe Mongoid::Association::Referenced::HasMany::Enumerable do
|
|
|
301
461
|
end
|
|
302
462
|
|
|
303
463
|
context "when both an argument and a block are given" do
|
|
304
|
-
ruby_version_gte '2.5'
|
|
305
464
|
|
|
306
465
|
it "gives precedence to the pattern" do
|
|
307
466
|
expect(
|
|
@@ -325,6 +484,27 @@ describe Mongoid::Association::Referenced::HasMany::Enumerable do
|
|
|
325
484
|
expect(enumerable._loaded?).to be false
|
|
326
485
|
end
|
|
327
486
|
|
|
487
|
+
it "it calls #exists? on the unloaded scope" do
|
|
488
|
+
expect(enumerable._unloaded).to receive(:exists?)
|
|
489
|
+
expect(enumerable.any?).to be false
|
|
490
|
+
end
|
|
491
|
+
|
|
492
|
+
context "when documents are added" do
|
|
493
|
+
|
|
494
|
+
before do
|
|
495
|
+
enumerable << post_one
|
|
496
|
+
end
|
|
497
|
+
|
|
498
|
+
it "is not _loaded" do
|
|
499
|
+
expect(enumerable._loaded?).to be false
|
|
500
|
+
end
|
|
501
|
+
|
|
502
|
+
it "it does not call #exists? on the unloaded scope" do
|
|
503
|
+
expect(enumerable._unloaded).to_not receive(:exists?)
|
|
504
|
+
expect(enumerable.any?).to be true
|
|
505
|
+
end
|
|
506
|
+
end
|
|
507
|
+
|
|
328
508
|
context "when a block is given" do
|
|
329
509
|
it "returns true when the predicate is true" do
|
|
330
510
|
expect(
|
|
@@ -340,7 +520,6 @@ describe Mongoid::Association::Referenced::HasMany::Enumerable do
|
|
|
340
520
|
end
|
|
341
521
|
|
|
342
522
|
context "when an argument is given" do
|
|
343
|
-
ruby_version_gte '2.5'
|
|
344
523
|
|
|
345
524
|
it "returns true when the argument is true" do
|
|
346
525
|
expect(enumerable.any?(Post)).to be true
|
|
@@ -352,7 +531,6 @@ describe Mongoid::Association::Referenced::HasMany::Enumerable do
|
|
|
352
531
|
end
|
|
353
532
|
|
|
354
533
|
context "when both an argument and a block are given" do
|
|
355
|
-
ruby_version_gte '2.5'
|
|
356
534
|
|
|
357
535
|
it "gives precedence to the pattern" do
|
|
358
536
|
expect(
|
|
@@ -366,15 +544,15 @@ describe Mongoid::Association::Referenced::HasMany::Enumerable do
|
|
|
366
544
|
describe "#clear" do
|
|
367
545
|
|
|
368
546
|
let(:person) do
|
|
369
|
-
Person.create
|
|
547
|
+
Person.create!
|
|
370
548
|
end
|
|
371
549
|
|
|
372
550
|
let!(:post) do
|
|
373
|
-
Post.create(person_id: person.id)
|
|
551
|
+
Post.create!(person_id: person.id)
|
|
374
552
|
end
|
|
375
553
|
|
|
376
554
|
let!(:post_two) do
|
|
377
|
-
Post.create(person_id: person.id)
|
|
555
|
+
Post.create!(person_id: person.id)
|
|
378
556
|
end
|
|
379
557
|
|
|
380
558
|
let(:criteria) do
|
|
@@ -412,15 +590,15 @@ describe Mongoid::Association::Referenced::HasMany::Enumerable do
|
|
|
412
590
|
describe "#clone" do
|
|
413
591
|
|
|
414
592
|
let(:person) do
|
|
415
|
-
Person.create
|
|
593
|
+
Person.create!
|
|
416
594
|
end
|
|
417
595
|
|
|
418
596
|
let!(:post) do
|
|
419
|
-
Post.create(title: "one", person_id: person.id)
|
|
597
|
+
Post.create!(title: "one", person_id: person.id)
|
|
420
598
|
end
|
|
421
599
|
|
|
422
600
|
let!(:post_two) do
|
|
423
|
-
Post.create(title: "two", person_id: person.id)
|
|
601
|
+
Post.create!(title: "two", person_id: person.id)
|
|
424
602
|
end
|
|
425
603
|
|
|
426
604
|
let(:criteria) do
|
|
@@ -452,13 +630,13 @@ describe Mongoid::Association::Referenced::HasMany::Enumerable do
|
|
|
452
630
|
describe "#delete" do
|
|
453
631
|
|
|
454
632
|
let(:person) do
|
|
455
|
-
Person.create
|
|
633
|
+
Person.create!
|
|
456
634
|
end
|
|
457
635
|
|
|
458
636
|
context "when the document is loaded" do
|
|
459
637
|
|
|
460
638
|
let!(:post) do
|
|
461
|
-
Post.create(person_id: person.id)
|
|
639
|
+
Post.create!(person_id: person.id)
|
|
462
640
|
end
|
|
463
641
|
|
|
464
642
|
let!(:enumerable) do
|
|
@@ -512,7 +690,7 @@ describe Mongoid::Association::Referenced::HasMany::Enumerable do
|
|
|
512
690
|
context "when the document is unloaded" do
|
|
513
691
|
|
|
514
692
|
let!(:post) do
|
|
515
|
-
Post.create(person_id: person.id)
|
|
693
|
+
Post.create!(person_id: person.id)
|
|
516
694
|
end
|
|
517
695
|
|
|
518
696
|
let(:criteria) do
|
|
@@ -539,7 +717,7 @@ describe Mongoid::Association::Referenced::HasMany::Enumerable do
|
|
|
539
717
|
context "when the document is not found" do
|
|
540
718
|
|
|
541
719
|
let!(:post) do
|
|
542
|
-
Post.create(person_id: person.id)
|
|
720
|
+
Post.create!(person_id: person.id)
|
|
543
721
|
end
|
|
544
722
|
|
|
545
723
|
let(:criteria) do
|
|
@@ -565,13 +743,13 @@ describe Mongoid::Association::Referenced::HasMany::Enumerable do
|
|
|
565
743
|
describe "#delete_if" do
|
|
566
744
|
|
|
567
745
|
let(:person) do
|
|
568
|
-
Person.create
|
|
746
|
+
Person.create!
|
|
569
747
|
end
|
|
570
748
|
|
|
571
749
|
context "when the document is loaded" do
|
|
572
750
|
|
|
573
751
|
let!(:post) do
|
|
574
|
-
Post.create(person_id: person.id)
|
|
752
|
+
Post.create!(person_id: person.id)
|
|
575
753
|
end
|
|
576
754
|
|
|
577
755
|
let!(:enumerable) do
|
|
@@ -625,7 +803,7 @@ describe Mongoid::Association::Referenced::HasMany::Enumerable do
|
|
|
625
803
|
context "when the document is unloaded" do
|
|
626
804
|
|
|
627
805
|
let!(:post) do
|
|
628
|
-
Post.create(person_id: person.id)
|
|
806
|
+
Post.create!(person_id: person.id)
|
|
629
807
|
end
|
|
630
808
|
|
|
631
809
|
let(:criteria) do
|
|
@@ -652,7 +830,7 @@ describe Mongoid::Association::Referenced::HasMany::Enumerable do
|
|
|
652
830
|
context "when the block doesn't match" do
|
|
653
831
|
|
|
654
832
|
let!(:post) do
|
|
655
|
-
Post.create(person_id: person.id)
|
|
833
|
+
Post.create!(person_id: person.id)
|
|
656
834
|
end
|
|
657
835
|
|
|
658
836
|
let(:criteria) do
|
|
@@ -676,11 +854,11 @@ describe Mongoid::Association::Referenced::HasMany::Enumerable do
|
|
|
676
854
|
describe "#detect" do
|
|
677
855
|
|
|
678
856
|
let(:person) do
|
|
679
|
-
Person.create
|
|
857
|
+
Person.create!
|
|
680
858
|
end
|
|
681
859
|
|
|
682
860
|
let!(:post) do
|
|
683
|
-
Post.create(person: person, title: "test")
|
|
861
|
+
Post.create!(person: person, title: "test")
|
|
684
862
|
end
|
|
685
863
|
|
|
686
864
|
let(:criteria) do
|
|
@@ -706,11 +884,11 @@ describe Mongoid::Association::Referenced::HasMany::Enumerable do
|
|
|
706
884
|
describe "#each" do
|
|
707
885
|
|
|
708
886
|
let(:person) do
|
|
709
|
-
Person.create
|
|
887
|
+
Person.create!
|
|
710
888
|
end
|
|
711
889
|
|
|
712
890
|
let!(:post) do
|
|
713
|
-
Post.create(person_id: person.id)
|
|
891
|
+
Post.create!(person_id: person.id)
|
|
714
892
|
end
|
|
715
893
|
|
|
716
894
|
context "when only a criteria target exists" do
|
|
@@ -737,18 +915,18 @@ describe Mongoid::Association::Referenced::HasMany::Enumerable do
|
|
|
737
915
|
expect(enumerable).to be__loaded
|
|
738
916
|
end
|
|
739
917
|
|
|
740
|
-
context 'when the base
|
|
918
|
+
context 'when the base association is accessed from each document' do
|
|
741
919
|
|
|
742
920
|
let(:persons) do
|
|
743
921
|
described_class.new(criteria).collect(&:person)
|
|
744
922
|
end
|
|
745
923
|
|
|
746
924
|
before do
|
|
747
|
-
Post.create(person_id: person.id)
|
|
748
|
-
Post.create(person_id: person.id)
|
|
925
|
+
Post.create!(person_id: person.id)
|
|
926
|
+
Post.create!(person_id: person.id)
|
|
749
927
|
end
|
|
750
928
|
|
|
751
|
-
it 'sets the base
|
|
929
|
+
it 'sets the base association from the criteria' do
|
|
752
930
|
expect(persons.uniq.size).to eq(1)
|
|
753
931
|
end
|
|
754
932
|
end
|
|
@@ -856,7 +1034,7 @@ describe Mongoid::Association::Referenced::HasMany::Enumerable do
|
|
|
856
1034
|
describe "#entries" do
|
|
857
1035
|
|
|
858
1036
|
let(:person) do
|
|
859
|
-
Person.create
|
|
1037
|
+
Person.create!
|
|
860
1038
|
end
|
|
861
1039
|
|
|
862
1040
|
let(:criteria) do
|
|
@@ -870,7 +1048,7 @@ describe Mongoid::Association::Referenced::HasMany::Enumerable do
|
|
|
870
1048
|
context "when the added contains a persisted document" do
|
|
871
1049
|
|
|
872
1050
|
let!(:post) do
|
|
873
|
-
Post.create(person_id: person.id)
|
|
1051
|
+
Post.create!(person_id: person.id)
|
|
874
1052
|
end
|
|
875
1053
|
|
|
876
1054
|
before do
|
|
@@ -890,7 +1068,7 @@ describe Mongoid::Association::Referenced::HasMany::Enumerable do
|
|
|
890
1068
|
describe "#first" do
|
|
891
1069
|
|
|
892
1070
|
let(:person) do
|
|
893
|
-
Person.create
|
|
1071
|
+
Person.create!
|
|
894
1072
|
end
|
|
895
1073
|
|
|
896
1074
|
context "when the enumerable is not loaded" do
|
|
@@ -908,7 +1086,7 @@ describe Mongoid::Association::Referenced::HasMany::Enumerable do
|
|
|
908
1086
|
context "when added is empty" do
|
|
909
1087
|
|
|
910
1088
|
let!(:post) do
|
|
911
|
-
Post.create(person_id: person.id)
|
|
1089
|
+
Post.create!(person_id: person.id)
|
|
912
1090
|
end
|
|
913
1091
|
|
|
914
1092
|
let(:first) do
|
|
@@ -932,7 +1110,7 @@ describe Mongoid::Association::Referenced::HasMany::Enumerable do
|
|
|
932
1110
|
context "when added is not empty" do
|
|
933
1111
|
|
|
934
1112
|
let!(:post) do
|
|
935
|
-
Post.create(person_id: person.id)
|
|
1113
|
+
Post.create!(person_id: person.id)
|
|
936
1114
|
end
|
|
937
1115
|
|
|
938
1116
|
let(:post_two) do
|
|
@@ -1004,7 +1182,7 @@ describe Mongoid::Association::Referenced::HasMany::Enumerable do
|
|
|
1004
1182
|
context "when loaded is not empty" do
|
|
1005
1183
|
|
|
1006
1184
|
let!(:post) do
|
|
1007
|
-
Post.create(person_id: person.id)
|
|
1185
|
+
Post.create!(person_id: person.id)
|
|
1008
1186
|
end
|
|
1009
1187
|
|
|
1010
1188
|
let(:enumerable) do
|
|
@@ -1023,7 +1201,7 @@ describe Mongoid::Association::Referenced::HasMany::Enumerable do
|
|
|
1023
1201
|
context "when loaded is empty" do
|
|
1024
1202
|
|
|
1025
1203
|
let!(:post) do
|
|
1026
|
-
Post.create(person_id: person.id)
|
|
1204
|
+
Post.create!(person_id: person.id)
|
|
1027
1205
|
end
|
|
1028
1206
|
|
|
1029
1207
|
let(:enumerable) do
|
|
@@ -1062,7 +1240,7 @@ describe Mongoid::Association::Referenced::HasMany::Enumerable do
|
|
|
1062
1240
|
context 'when the id_sort option is none' do
|
|
1063
1241
|
|
|
1064
1242
|
let(:person) do
|
|
1065
|
-
Person.create
|
|
1243
|
+
Person.create!
|
|
1066
1244
|
end
|
|
1067
1245
|
|
|
1068
1246
|
let(:criteria) do
|
|
@@ -1074,11 +1252,11 @@ describe Mongoid::Association::Referenced::HasMany::Enumerable do
|
|
|
1074
1252
|
end
|
|
1075
1253
|
|
|
1076
1254
|
let!(:first_post) do
|
|
1077
|
-
person.posts.create(title: "One")
|
|
1255
|
+
person.posts.create!(title: "One")
|
|
1078
1256
|
end
|
|
1079
1257
|
|
|
1080
1258
|
let!(:second_post) do
|
|
1081
|
-
person.posts.create(title: "Two")
|
|
1259
|
+
person.posts.create!(title: "Two")
|
|
1082
1260
|
end
|
|
1083
1261
|
|
|
1084
1262
|
it 'does not use the sort on id' do
|
|
@@ -1089,7 +1267,7 @@ describe Mongoid::Association::Referenced::HasMany::Enumerable do
|
|
|
1089
1267
|
context 'when the id_sort option is not provided' do
|
|
1090
1268
|
|
|
1091
1269
|
let(:person) do
|
|
1092
|
-
Person.create
|
|
1270
|
+
Person.create!
|
|
1093
1271
|
end
|
|
1094
1272
|
|
|
1095
1273
|
let(:criteria) do
|
|
@@ -1101,11 +1279,11 @@ describe Mongoid::Association::Referenced::HasMany::Enumerable do
|
|
|
1101
1279
|
end
|
|
1102
1280
|
|
|
1103
1281
|
let!(:first_post) do
|
|
1104
|
-
person.posts.create(title: "One")
|
|
1282
|
+
person.posts.create!(title: "One")
|
|
1105
1283
|
end
|
|
1106
1284
|
|
|
1107
1285
|
let!(:second_post) do
|
|
1108
|
-
person.posts.create(title: "Two")
|
|
1286
|
+
person.posts.create!(title: "Two")
|
|
1109
1287
|
end
|
|
1110
1288
|
|
|
1111
1289
|
it 'uses the sort on id' do
|
|
@@ -1117,15 +1295,15 @@ describe Mongoid::Association::Referenced::HasMany::Enumerable do
|
|
|
1117
1295
|
describe "#include?" do
|
|
1118
1296
|
|
|
1119
1297
|
let(:person) do
|
|
1120
|
-
Person.create
|
|
1298
|
+
Person.create!
|
|
1121
1299
|
end
|
|
1122
1300
|
|
|
1123
1301
|
let!(:post_one) do
|
|
1124
|
-
Post.create(person_id: person.id)
|
|
1302
|
+
Post.create!(person_id: person.id)
|
|
1125
1303
|
end
|
|
1126
1304
|
|
|
1127
1305
|
let!(:post_two) do
|
|
1128
|
-
Post.create(person_id: person.id)
|
|
1306
|
+
Post.create!(person_id: person.id)
|
|
1129
1307
|
end
|
|
1130
1308
|
|
|
1131
1309
|
context "when no criteria exists" do
|
|
@@ -1187,7 +1365,7 @@ describe Mongoid::Association::Referenced::HasMany::Enumerable do
|
|
|
1187
1365
|
described_class.new(criteria)
|
|
1188
1366
|
end
|
|
1189
1367
|
|
|
1190
|
-
let
|
|
1368
|
+
let(:included) do
|
|
1191
1369
|
enumerable.include?(post_two)
|
|
1192
1370
|
end
|
|
1193
1371
|
|
|
@@ -1203,7 +1381,7 @@ describe Mongoid::Association::Referenced::HasMany::Enumerable do
|
|
|
1203
1381
|
expect(enumerable.to_a.length).to eq(2)
|
|
1204
1382
|
end
|
|
1205
1383
|
|
|
1206
|
-
context "when iterating over the
|
|
1384
|
+
context "when iterating over the association a second time" do
|
|
1207
1385
|
|
|
1208
1386
|
before do
|
|
1209
1387
|
enumerable.each { |post| post }
|
|
@@ -1371,7 +1549,7 @@ describe Mongoid::Association::Referenced::HasMany::Enumerable do
|
|
|
1371
1549
|
describe "#last" do
|
|
1372
1550
|
|
|
1373
1551
|
let(:person) do
|
|
1374
|
-
Person.create
|
|
1552
|
+
Person.create!
|
|
1375
1553
|
end
|
|
1376
1554
|
|
|
1377
1555
|
context "when the enumerable is not loaded" do
|
|
@@ -1387,7 +1565,7 @@ describe Mongoid::Association::Referenced::HasMany::Enumerable do
|
|
|
1387
1565
|
context "when unloaded is not empty" do
|
|
1388
1566
|
|
|
1389
1567
|
let!(:post) do
|
|
1390
|
-
Post.create(person_id: person.id)
|
|
1568
|
+
Post.create!(person_id: person.id)
|
|
1391
1569
|
end
|
|
1392
1570
|
|
|
1393
1571
|
let(:last) do
|
|
@@ -1449,11 +1627,11 @@ describe Mongoid::Association::Referenced::HasMany::Enumerable do
|
|
|
1449
1627
|
context "when added is not empty" do
|
|
1450
1628
|
|
|
1451
1629
|
let!(:post_one) do
|
|
1452
|
-
person.posts.create
|
|
1630
|
+
person.posts.create!
|
|
1453
1631
|
end
|
|
1454
1632
|
|
|
1455
1633
|
let!(:post_two) do
|
|
1456
|
-
person.posts.create
|
|
1634
|
+
person.posts.create!
|
|
1457
1635
|
end
|
|
1458
1636
|
|
|
1459
1637
|
let(:last) do
|
|
@@ -1474,7 +1652,7 @@ describe Mongoid::Association::Referenced::HasMany::Enumerable do
|
|
|
1474
1652
|
context "when loaded is not empty" do
|
|
1475
1653
|
|
|
1476
1654
|
let!(:post) do
|
|
1477
|
-
Post.create(person_id: person.id)
|
|
1655
|
+
Post.create!(person_id: person.id)
|
|
1478
1656
|
end
|
|
1479
1657
|
|
|
1480
1658
|
let(:enumerable) do
|
|
@@ -1493,7 +1671,7 @@ describe Mongoid::Association::Referenced::HasMany::Enumerable do
|
|
|
1493
1671
|
context "when loaded is empty" do
|
|
1494
1672
|
|
|
1495
1673
|
let!(:post) do
|
|
1496
|
-
Post.create(person_id: person.id)
|
|
1674
|
+
Post.create!(person_id: person.id)
|
|
1497
1675
|
end
|
|
1498
1676
|
|
|
1499
1677
|
let(:enumerable) do
|
|
@@ -1532,7 +1710,7 @@ describe Mongoid::Association::Referenced::HasMany::Enumerable do
|
|
|
1532
1710
|
context 'when the id_sort option is none' do
|
|
1533
1711
|
|
|
1534
1712
|
let(:person) do
|
|
1535
|
-
Person.create
|
|
1713
|
+
Person.create!
|
|
1536
1714
|
end
|
|
1537
1715
|
|
|
1538
1716
|
let(:criteria) do
|
|
@@ -1544,11 +1722,11 @@ describe Mongoid::Association::Referenced::HasMany::Enumerable do
|
|
|
1544
1722
|
end
|
|
1545
1723
|
|
|
1546
1724
|
let!(:first_post) do
|
|
1547
|
-
person.posts.create(title: "One")
|
|
1725
|
+
person.posts.create!(title: "One")
|
|
1548
1726
|
end
|
|
1549
1727
|
|
|
1550
1728
|
let!(:second_post) do
|
|
1551
|
-
person.posts.create(title: "Two")
|
|
1729
|
+
person.posts.create!(title: "Two")
|
|
1552
1730
|
end
|
|
1553
1731
|
|
|
1554
1732
|
it 'does not use the sort on id' do
|
|
@@ -1559,7 +1737,7 @@ describe Mongoid::Association::Referenced::HasMany::Enumerable do
|
|
|
1559
1737
|
context 'when the id_sort option is not provided' do
|
|
1560
1738
|
|
|
1561
1739
|
let(:person) do
|
|
1562
|
-
Person.create
|
|
1740
|
+
Person.create!
|
|
1563
1741
|
end
|
|
1564
1742
|
|
|
1565
1743
|
let(:criteria) do
|
|
@@ -1571,11 +1749,11 @@ describe Mongoid::Association::Referenced::HasMany::Enumerable do
|
|
|
1571
1749
|
end
|
|
1572
1750
|
|
|
1573
1751
|
let!(:first_post) do
|
|
1574
|
-
person.posts.create(title: "One")
|
|
1752
|
+
person.posts.create!(title: "One")
|
|
1575
1753
|
end
|
|
1576
1754
|
|
|
1577
1755
|
let!(:second_post) do
|
|
1578
|
-
person.posts.create(title: "Two")
|
|
1756
|
+
person.posts.create!(title: "Two")
|
|
1579
1757
|
end
|
|
1580
1758
|
|
|
1581
1759
|
it 'uses the sort on id' do
|
|
@@ -1608,11 +1786,11 @@ describe Mongoid::Association::Referenced::HasMany::Enumerable do
|
|
|
1608
1786
|
describe "#load_all!" do
|
|
1609
1787
|
|
|
1610
1788
|
let(:person) do
|
|
1611
|
-
Person.create
|
|
1789
|
+
Person.create!
|
|
1612
1790
|
end
|
|
1613
1791
|
|
|
1614
1792
|
let!(:post) do
|
|
1615
|
-
Post.create(person_id: person.id)
|
|
1793
|
+
Post.create!(person_id: person.id)
|
|
1616
1794
|
end
|
|
1617
1795
|
|
|
1618
1796
|
let(:criteria) do
|
|
@@ -1643,15 +1821,15 @@ describe Mongoid::Association::Referenced::HasMany::Enumerable do
|
|
|
1643
1821
|
describe "#reset" do
|
|
1644
1822
|
|
|
1645
1823
|
let(:person) do
|
|
1646
|
-
Person.create
|
|
1824
|
+
Person.create!
|
|
1647
1825
|
end
|
|
1648
1826
|
|
|
1649
1827
|
let(:post) do
|
|
1650
|
-
Post.create(person_id: person.id)
|
|
1828
|
+
Post.create!(person_id: person.id)
|
|
1651
1829
|
end
|
|
1652
1830
|
|
|
1653
1831
|
let(:post_two) do
|
|
1654
|
-
Post.create(person_id: person.id)
|
|
1832
|
+
Post.create!(person_id: person.id)
|
|
1655
1833
|
end
|
|
1656
1834
|
|
|
1657
1835
|
let(:enumerable) do
|
|
@@ -1699,11 +1877,11 @@ describe Mongoid::Association::Referenced::HasMany::Enumerable do
|
|
|
1699
1877
|
describe "#size" do
|
|
1700
1878
|
|
|
1701
1879
|
let(:person) do
|
|
1702
|
-
Person.create
|
|
1880
|
+
Person.create!
|
|
1703
1881
|
end
|
|
1704
1882
|
|
|
1705
1883
|
let!(:post) do
|
|
1706
|
-
Post.create(person_id: person.id)
|
|
1884
|
+
Post.create!(person_id: person.id)
|
|
1707
1885
|
end
|
|
1708
1886
|
|
|
1709
1887
|
context "when the base is new" do
|
|
@@ -1715,7 +1893,7 @@ describe Mongoid::Association::Referenced::HasMany::Enumerable do
|
|
|
1715
1893
|
context "when the added contains a persisted document" do
|
|
1716
1894
|
|
|
1717
1895
|
let!(:post) do
|
|
1718
|
-
Post.create(person_id: person.id)
|
|
1896
|
+
Post.create!(person_id: person.id)
|
|
1719
1897
|
end
|
|
1720
1898
|
|
|
1721
1899
|
context "when the enumerable is not loaded" do
|
|
@@ -1786,7 +1964,7 @@ describe Mongoid::Association::Referenced::HasMany::Enumerable do
|
|
|
1786
1964
|
context "when the added contains persisted documents" do
|
|
1787
1965
|
|
|
1788
1966
|
let(:post_two) do
|
|
1789
|
-
Post.create(person_id: person.id)
|
|
1967
|
+
Post.create!(person_id: person.id)
|
|
1790
1968
|
end
|
|
1791
1969
|
|
|
1792
1970
|
before do
|
|
@@ -1807,11 +1985,11 @@ describe Mongoid::Association::Referenced::HasMany::Enumerable do
|
|
|
1807
1985
|
describe "#to_json" do
|
|
1808
1986
|
|
|
1809
1987
|
let(:person) do
|
|
1810
|
-
Person.create
|
|
1988
|
+
Person.create!
|
|
1811
1989
|
end
|
|
1812
1990
|
|
|
1813
1991
|
let!(:post) do
|
|
1814
|
-
Post.create(title: "test", person_id: person.id)
|
|
1992
|
+
Post.create!(title: "test", person_id: person.id)
|
|
1815
1993
|
end
|
|
1816
1994
|
|
|
1817
1995
|
let(:criteria) do
|
|
@@ -1838,11 +2016,11 @@ describe Mongoid::Association::Referenced::HasMany::Enumerable do
|
|
|
1838
2016
|
describe "#to_json(parameters)" do
|
|
1839
2017
|
|
|
1840
2018
|
let(:person) do
|
|
1841
|
-
Person.create
|
|
2019
|
+
Person.create!
|
|
1842
2020
|
end
|
|
1843
2021
|
|
|
1844
2022
|
let!(:post) do
|
|
1845
|
-
Post.create(title: "test", person_id: person.id)
|
|
2023
|
+
Post.create!(title: "test", person_id: person.id)
|
|
1846
2024
|
end
|
|
1847
2025
|
|
|
1848
2026
|
let(:criteria) do
|
|
@@ -1861,11 +2039,11 @@ describe Mongoid::Association::Referenced::HasMany::Enumerable do
|
|
|
1861
2039
|
describe "#as_json" do
|
|
1862
2040
|
|
|
1863
2041
|
let(:person) do
|
|
1864
|
-
Person.create
|
|
2042
|
+
Person.create!
|
|
1865
2043
|
end
|
|
1866
2044
|
|
|
1867
2045
|
let!(:post) do
|
|
1868
|
-
Post.create(title: "test", person_id: person.id)
|
|
2046
|
+
Post.create!(title: "test", person_id: person.id)
|
|
1869
2047
|
end
|
|
1870
2048
|
|
|
1871
2049
|
let(:criteria) do
|
|
@@ -1893,11 +2071,11 @@ describe Mongoid::Association::Referenced::HasMany::Enumerable do
|
|
|
1893
2071
|
describe "#as_json(parameters)" do
|
|
1894
2072
|
|
|
1895
2073
|
let(:person) do
|
|
1896
|
-
Person.create
|
|
2074
|
+
Person.create!
|
|
1897
2075
|
end
|
|
1898
2076
|
|
|
1899
2077
|
let!(:post) do
|
|
1900
|
-
Post.create(title: "test", person_id: person.id)
|
|
2078
|
+
Post.create!(title: "test", person_id: person.id)
|
|
1901
2079
|
end
|
|
1902
2080
|
|
|
1903
2081
|
let(:criteria) do
|
|
@@ -1920,11 +2098,11 @@ describe Mongoid::Association::Referenced::HasMany::Enumerable do
|
|
|
1920
2098
|
describe "#uniq" do
|
|
1921
2099
|
|
|
1922
2100
|
let(:person) do
|
|
1923
|
-
Person.create
|
|
2101
|
+
Person.create!
|
|
1924
2102
|
end
|
|
1925
2103
|
|
|
1926
2104
|
let!(:post) do
|
|
1927
|
-
Post.create(person_id: person.id)
|
|
2105
|
+
Post.create!(person_id: person.id)
|
|
1928
2106
|
end
|
|
1929
2107
|
|
|
1930
2108
|
let(:criteria) do
|
|
@@ -1956,7 +2134,7 @@ describe Mongoid::Association::Referenced::HasMany::Enumerable do
|
|
|
1956
2134
|
describe 'setting the same parent object on enumerated children objects' do
|
|
1957
2135
|
|
|
1958
2136
|
let(:person) do
|
|
1959
|
-
Person.create
|
|
2137
|
+
Person.create!
|
|
1960
2138
|
end
|
|
1961
2139
|
|
|
1962
2140
|
context 'when a single child is fetched' do
|