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,11 +1,18 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
|
-
# encoding: utf-8
|
|
3
2
|
|
|
4
3
|
require "spec_helper"
|
|
5
4
|
require_relative './interceptable_spec_models'
|
|
6
5
|
|
|
7
6
|
describe Mongoid::Interceptable do
|
|
8
7
|
|
|
8
|
+
before do
|
|
9
|
+
# The find and initialize callbacks I added were causing failures
|
|
10
|
+
# because they were causing updates when we were asserting no updates
|
|
11
|
+
# happened.
|
|
12
|
+
Label.reset_callbacks(:initialize)
|
|
13
|
+
Label.reset_callbacks(:find)
|
|
14
|
+
end
|
|
15
|
+
|
|
9
16
|
class TestClass
|
|
10
17
|
include Mongoid::Interceptable
|
|
11
18
|
|
|
@@ -78,7 +85,7 @@ describe Mongoid::Interceptable do
|
|
|
78
85
|
describe ".after_find" do
|
|
79
86
|
|
|
80
87
|
let!(:player) do
|
|
81
|
-
Player.create
|
|
88
|
+
Player.create!
|
|
82
89
|
end
|
|
83
90
|
|
|
84
91
|
context "when the callback is on a root document" do
|
|
@@ -131,7 +138,7 @@ describe Mongoid::Interceptable do
|
|
|
131
138
|
context "when the callback is on an embedded document" do
|
|
132
139
|
|
|
133
140
|
let!(:implant) do
|
|
134
|
-
player.implants.create
|
|
141
|
+
player.implants.create!
|
|
135
142
|
end
|
|
136
143
|
|
|
137
144
|
context "when when the document is instantiated" do
|
|
@@ -201,7 +208,7 @@ describe Mongoid::Interceptable do
|
|
|
201
208
|
]
|
|
202
209
|
})
|
|
203
210
|
book.id = '123'
|
|
204
|
-
book.save
|
|
211
|
+
book.save!
|
|
205
212
|
book
|
|
206
213
|
end
|
|
207
214
|
|
|
@@ -213,7 +220,7 @@ describe Mongoid::Interceptable do
|
|
|
213
220
|
book.pages.each do | page |
|
|
214
221
|
page.notes.destroy_all
|
|
215
222
|
page.notes.new(message: new_message)
|
|
216
|
-
page.save
|
|
223
|
+
page.save!
|
|
217
224
|
end
|
|
218
225
|
end
|
|
219
226
|
|
|
@@ -276,7 +283,7 @@ describe Mongoid::Interceptable do
|
|
|
276
283
|
|
|
277
284
|
before do
|
|
278
285
|
expect(artist).to receive(:before_create_stub).once.and_return(true)
|
|
279
|
-
artist.save
|
|
286
|
+
artist.save!
|
|
280
287
|
end
|
|
281
288
|
|
|
282
289
|
it "gets saved" do
|
|
@@ -321,7 +328,7 @@ describe Mongoid::Interceptable do
|
|
|
321
328
|
end
|
|
322
329
|
|
|
323
330
|
it "the save returns true" do
|
|
324
|
-
expect(artist.save).to be true
|
|
331
|
+
expect(artist.save!).to be true
|
|
325
332
|
end
|
|
326
333
|
end
|
|
327
334
|
|
|
@@ -345,7 +352,7 @@ describe Mongoid::Interceptable do
|
|
|
345
352
|
context "when updating" do
|
|
346
353
|
|
|
347
354
|
let(:artist) do
|
|
348
|
-
Artist.create(name: "Depeche Mode").tap do |artist|
|
|
355
|
+
Artist.create!(name: "Depeche Mode").tap do |artist|
|
|
349
356
|
artist.name = "The Mountain Goats"
|
|
350
357
|
end
|
|
351
358
|
end
|
|
@@ -361,7 +368,7 @@ describe Mongoid::Interceptable do
|
|
|
361
368
|
end
|
|
362
369
|
|
|
363
370
|
it "the save returns true" do
|
|
364
|
-
expect(artist.save).to be true
|
|
371
|
+
expect(artist.save!).to be true
|
|
365
372
|
end
|
|
366
373
|
end
|
|
367
374
|
|
|
@@ -386,7 +393,7 @@ describe Mongoid::Interceptable do
|
|
|
386
393
|
describe ".before_destroy" do
|
|
387
394
|
|
|
388
395
|
let(:artist) do
|
|
389
|
-
Artist.create(name: "Depeche Mode")
|
|
396
|
+
Artist.create!(name: "Depeche Mode")
|
|
390
397
|
end
|
|
391
398
|
|
|
392
399
|
before do
|
|
@@ -431,7 +438,7 @@ describe Mongoid::Interceptable do
|
|
|
431
438
|
end
|
|
432
439
|
|
|
433
440
|
let!(:record) do
|
|
434
|
-
moderat.records.create(name: "Moderat")
|
|
441
|
+
moderat.records.create!(name: "Moderat")
|
|
435
442
|
end
|
|
436
443
|
|
|
437
444
|
before do
|
|
@@ -545,7 +552,7 @@ describe Mongoid::Interceptable do
|
|
|
545
552
|
|
|
546
553
|
it "does not cascade to the child" do
|
|
547
554
|
Band.accepts_nested_attributes_for :records, allow_destroy: true
|
|
548
|
-
expect(band.update_attributes(attributes)).to be true
|
|
555
|
+
expect(band.update_attributes!(attributes)).to be true
|
|
549
556
|
end
|
|
550
557
|
end
|
|
551
558
|
end
|
|
@@ -576,7 +583,7 @@ describe Mongoid::Interceptable do
|
|
|
576
583
|
|
|
577
584
|
it "only executes the callbacks once for each embed" do
|
|
578
585
|
expect(note).to receive(:update_saved).twice
|
|
579
|
-
band.save
|
|
586
|
+
band.save!
|
|
580
587
|
end
|
|
581
588
|
end
|
|
582
589
|
end
|
|
@@ -585,7 +592,7 @@ describe Mongoid::Interceptable do
|
|
|
585
592
|
context "when cascading after initialize" do
|
|
586
593
|
|
|
587
594
|
let!(:person) do
|
|
588
|
-
Person.create
|
|
595
|
+
Person.create!
|
|
589
596
|
end
|
|
590
597
|
|
|
591
598
|
before do
|
|
@@ -624,7 +631,7 @@ describe Mongoid::Interceptable do
|
|
|
624
631
|
end
|
|
625
632
|
|
|
626
633
|
before do
|
|
627
|
-
band.save
|
|
634
|
+
band.save!
|
|
628
635
|
end
|
|
629
636
|
|
|
630
637
|
it "executes the callback" do
|
|
@@ -635,7 +642,7 @@ describe Mongoid::Interceptable do
|
|
|
635
642
|
context "when the parent is persisted" do
|
|
636
643
|
|
|
637
644
|
let(:band) do
|
|
638
|
-
Band.create(name: "Moderat")
|
|
645
|
+
Band.create!(name: "Moderat")
|
|
639
646
|
end
|
|
640
647
|
|
|
641
648
|
let!(:label) do
|
|
@@ -643,7 +650,7 @@ describe Mongoid::Interceptable do
|
|
|
643
650
|
end
|
|
644
651
|
|
|
645
652
|
before do
|
|
646
|
-
band.save
|
|
653
|
+
band.save!
|
|
647
654
|
end
|
|
648
655
|
|
|
649
656
|
it "executes the callback" do
|
|
@@ -655,7 +662,7 @@ describe Mongoid::Interceptable do
|
|
|
655
662
|
context "when the child is persisted" do
|
|
656
663
|
|
|
657
664
|
let(:band) do
|
|
658
|
-
Band.create(name: "Moderat")
|
|
665
|
+
Band.create!(name: "Moderat")
|
|
659
666
|
end
|
|
660
667
|
|
|
661
668
|
let!(:label) do
|
|
@@ -664,7 +671,7 @@ describe Mongoid::Interceptable do
|
|
|
664
671
|
|
|
665
672
|
before do
|
|
666
673
|
label.after_create_called = false
|
|
667
|
-
band.save
|
|
674
|
+
band.save!
|
|
668
675
|
end
|
|
669
676
|
|
|
670
677
|
it "does not execute the callback" do
|
|
@@ -688,7 +695,7 @@ describe Mongoid::Interceptable do
|
|
|
688
695
|
end
|
|
689
696
|
|
|
690
697
|
before do
|
|
691
|
-
band.save
|
|
698
|
+
band.save!
|
|
692
699
|
end
|
|
693
700
|
|
|
694
701
|
it "executes the callback" do
|
|
@@ -699,7 +706,7 @@ describe Mongoid::Interceptable do
|
|
|
699
706
|
context "when the parent is persisted" do
|
|
700
707
|
|
|
701
708
|
let(:band) do
|
|
702
|
-
Band.create(name: "Moderat")
|
|
709
|
+
Band.create!(name: "Moderat")
|
|
703
710
|
end
|
|
704
711
|
|
|
705
712
|
let!(:label) do
|
|
@@ -707,7 +714,7 @@ describe Mongoid::Interceptable do
|
|
|
707
714
|
end
|
|
708
715
|
|
|
709
716
|
before do
|
|
710
|
-
band.save
|
|
717
|
+
band.save!
|
|
711
718
|
end
|
|
712
719
|
|
|
713
720
|
it "executes the callback" do
|
|
@@ -719,7 +726,7 @@ describe Mongoid::Interceptable do
|
|
|
719
726
|
context "when the child is persisted" do
|
|
720
727
|
|
|
721
728
|
let(:band) do
|
|
722
|
-
Band.create(name: "Moderat")
|
|
729
|
+
Band.create!(name: "Moderat")
|
|
723
730
|
end
|
|
724
731
|
|
|
725
732
|
let!(:label) do
|
|
@@ -727,7 +734,7 @@ describe Mongoid::Interceptable do
|
|
|
727
734
|
end
|
|
728
735
|
|
|
729
736
|
before do
|
|
730
|
-
band.save
|
|
737
|
+
band.save!
|
|
731
738
|
end
|
|
732
739
|
|
|
733
740
|
it "executes the callback" do
|
|
@@ -751,7 +758,7 @@ describe Mongoid::Interceptable do
|
|
|
751
758
|
end
|
|
752
759
|
|
|
753
760
|
before do
|
|
754
|
-
band.save
|
|
761
|
+
band.save!
|
|
755
762
|
end
|
|
756
763
|
|
|
757
764
|
it "does not execute the callback" do
|
|
@@ -762,7 +769,7 @@ describe Mongoid::Interceptable do
|
|
|
762
769
|
context "when the parent is persisted" do
|
|
763
770
|
|
|
764
771
|
let(:band) do
|
|
765
|
-
Band.create(name: "Moderat")
|
|
772
|
+
Band.create!(name: "Moderat")
|
|
766
773
|
end
|
|
767
774
|
|
|
768
775
|
let!(:label) do
|
|
@@ -770,7 +777,7 @@ describe Mongoid::Interceptable do
|
|
|
770
777
|
end
|
|
771
778
|
|
|
772
779
|
before do
|
|
773
|
-
band.save
|
|
780
|
+
band.save!
|
|
774
781
|
end
|
|
775
782
|
|
|
776
783
|
it "does not execute the callback" do
|
|
@@ -782,7 +789,7 @@ describe Mongoid::Interceptable do
|
|
|
782
789
|
context "when the child is persisted" do
|
|
783
790
|
|
|
784
791
|
let(:band) do
|
|
785
|
-
Band.create(name: "Moderat")
|
|
792
|
+
Band.create!(name: "Moderat")
|
|
786
793
|
end
|
|
787
794
|
|
|
788
795
|
context "when the child is dirty" do
|
|
@@ -793,7 +800,7 @@ describe Mongoid::Interceptable do
|
|
|
793
800
|
|
|
794
801
|
before do
|
|
795
802
|
label.name = "Nothing"
|
|
796
|
-
band.save
|
|
803
|
+
band.save!
|
|
797
804
|
end
|
|
798
805
|
|
|
799
806
|
it "executes the callback" do
|
|
@@ -808,7 +815,7 @@ describe Mongoid::Interceptable do
|
|
|
808
815
|
end
|
|
809
816
|
|
|
810
817
|
before do
|
|
811
|
-
band.save
|
|
818
|
+
band.save!
|
|
812
819
|
end
|
|
813
820
|
|
|
814
821
|
it "does not execute the callback" do
|
|
@@ -833,7 +840,7 @@ describe Mongoid::Interceptable do
|
|
|
833
840
|
end
|
|
834
841
|
|
|
835
842
|
before do
|
|
836
|
-
band.save
|
|
843
|
+
band.save!
|
|
837
844
|
end
|
|
838
845
|
|
|
839
846
|
it "executes the callback" do
|
|
@@ -844,7 +851,7 @@ describe Mongoid::Interceptable do
|
|
|
844
851
|
context "when the parent is persisted" do
|
|
845
852
|
|
|
846
853
|
let(:band) do
|
|
847
|
-
Band.create(name: "Moderat")
|
|
854
|
+
Band.create!(name: "Moderat")
|
|
848
855
|
end
|
|
849
856
|
|
|
850
857
|
let!(:label) do
|
|
@@ -852,7 +859,7 @@ describe Mongoid::Interceptable do
|
|
|
852
859
|
end
|
|
853
860
|
|
|
854
861
|
before do
|
|
855
|
-
band.save
|
|
862
|
+
band.save!
|
|
856
863
|
end
|
|
857
864
|
|
|
858
865
|
it "executes the callback" do
|
|
@@ -864,7 +871,7 @@ describe Mongoid::Interceptable do
|
|
|
864
871
|
context "when the child is persisted" do
|
|
865
872
|
|
|
866
873
|
let(:band) do
|
|
867
|
-
Band.create(name: "Moderat")
|
|
874
|
+
Band.create!(name: "Moderat")
|
|
868
875
|
end
|
|
869
876
|
|
|
870
877
|
let!(:label) do
|
|
@@ -872,7 +879,7 @@ describe Mongoid::Interceptable do
|
|
|
872
879
|
end
|
|
873
880
|
|
|
874
881
|
before do
|
|
875
|
-
band.save
|
|
882
|
+
band.save!
|
|
876
883
|
end
|
|
877
884
|
|
|
878
885
|
it "executes the callback" do
|
|
@@ -896,7 +903,7 @@ describe Mongoid::Interceptable do
|
|
|
896
903
|
end
|
|
897
904
|
|
|
898
905
|
before do
|
|
899
|
-
band.save
|
|
906
|
+
band.save!
|
|
900
907
|
end
|
|
901
908
|
|
|
902
909
|
it "executes the callback" do
|
|
@@ -907,7 +914,7 @@ describe Mongoid::Interceptable do
|
|
|
907
914
|
context "when the parent is persisted" do
|
|
908
915
|
|
|
909
916
|
let(:band) do
|
|
910
|
-
Band.create(name: "Moderat")
|
|
917
|
+
Band.create!(name: "Moderat")
|
|
911
918
|
end
|
|
912
919
|
|
|
913
920
|
let!(:record) do
|
|
@@ -915,7 +922,7 @@ describe Mongoid::Interceptable do
|
|
|
915
922
|
end
|
|
916
923
|
|
|
917
924
|
before do
|
|
918
|
-
band.save
|
|
925
|
+
band.save!
|
|
919
926
|
end
|
|
920
927
|
|
|
921
928
|
it "executes the callback" do
|
|
@@ -927,16 +934,16 @@ describe Mongoid::Interceptable do
|
|
|
927
934
|
context "when the child is persisted" do
|
|
928
935
|
|
|
929
936
|
let(:band) do
|
|
930
|
-
Band.create(name: "Moderat")
|
|
937
|
+
Band.create!(name: "Moderat")
|
|
931
938
|
end
|
|
932
939
|
|
|
933
940
|
let!(:record) do
|
|
934
|
-
band.records.create(name: "Moderat")
|
|
941
|
+
band.records.create!(name: "Moderat")
|
|
935
942
|
end
|
|
936
943
|
|
|
937
944
|
before do
|
|
938
945
|
record.before_create_called = false
|
|
939
|
-
band.save
|
|
946
|
+
band.save!
|
|
940
947
|
end
|
|
941
948
|
|
|
942
949
|
it "does not execute the callback" do
|
|
@@ -960,7 +967,7 @@ describe Mongoid::Interceptable do
|
|
|
960
967
|
end
|
|
961
968
|
|
|
962
969
|
before do
|
|
963
|
-
band.save
|
|
970
|
+
band.save!
|
|
964
971
|
end
|
|
965
972
|
|
|
966
973
|
it "executes the callback" do
|
|
@@ -975,7 +982,7 @@ describe Mongoid::Interceptable do
|
|
|
975
982
|
context "when the parent is persisted" do
|
|
976
983
|
|
|
977
984
|
let(:band) do
|
|
978
|
-
Band.create(name: "Moderat")
|
|
985
|
+
Band.create!(name: "Moderat")
|
|
979
986
|
end
|
|
980
987
|
|
|
981
988
|
let!(:record) do
|
|
@@ -983,7 +990,7 @@ describe Mongoid::Interceptable do
|
|
|
983
990
|
end
|
|
984
991
|
|
|
985
992
|
before do
|
|
986
|
-
band.save
|
|
993
|
+
band.save!
|
|
987
994
|
end
|
|
988
995
|
|
|
989
996
|
it "executes the callback" do
|
|
@@ -999,15 +1006,15 @@ describe Mongoid::Interceptable do
|
|
|
999
1006
|
context "when the child is persisted" do
|
|
1000
1007
|
|
|
1001
1008
|
let(:band) do
|
|
1002
|
-
Band.create(name: "Moderat")
|
|
1009
|
+
Band.create!(name: "Moderat")
|
|
1003
1010
|
end
|
|
1004
1011
|
|
|
1005
1012
|
let!(:record) do
|
|
1006
|
-
band.records.create(name: "Moderat")
|
|
1013
|
+
band.records.create!(name: "Moderat")
|
|
1007
1014
|
end
|
|
1008
1015
|
|
|
1009
1016
|
before do
|
|
1010
|
-
band.save
|
|
1017
|
+
band.save!
|
|
1011
1018
|
end
|
|
1012
1019
|
|
|
1013
1020
|
it "executes the callback" do
|
|
@@ -1022,7 +1029,7 @@ describe Mongoid::Interceptable do
|
|
|
1022
1029
|
context "when the child is created" do
|
|
1023
1030
|
|
|
1024
1031
|
let!(:band) do
|
|
1025
|
-
Band.create
|
|
1032
|
+
Band.create!
|
|
1026
1033
|
end
|
|
1027
1034
|
|
|
1028
1035
|
let!(:label) do
|
|
@@ -1050,7 +1057,7 @@ describe Mongoid::Interceptable do
|
|
|
1050
1057
|
end
|
|
1051
1058
|
|
|
1052
1059
|
before do
|
|
1053
|
-
band.save
|
|
1060
|
+
band.save!
|
|
1054
1061
|
end
|
|
1055
1062
|
|
|
1056
1063
|
it "does not execute the callback" do
|
|
@@ -1061,7 +1068,7 @@ describe Mongoid::Interceptable do
|
|
|
1061
1068
|
context "when the parent is persisted" do
|
|
1062
1069
|
|
|
1063
1070
|
let(:band) do
|
|
1064
|
-
Band.create(name: "Moderat")
|
|
1071
|
+
Band.create!(name: "Moderat")
|
|
1065
1072
|
end
|
|
1066
1073
|
|
|
1067
1074
|
let!(:record) do
|
|
@@ -1069,7 +1076,7 @@ describe Mongoid::Interceptable do
|
|
|
1069
1076
|
end
|
|
1070
1077
|
|
|
1071
1078
|
before do
|
|
1072
|
-
band.save
|
|
1079
|
+
band.save!
|
|
1073
1080
|
end
|
|
1074
1081
|
|
|
1075
1082
|
it "does not execute the callback" do
|
|
@@ -1081,18 +1088,18 @@ describe Mongoid::Interceptable do
|
|
|
1081
1088
|
context "when the child is persisted" do
|
|
1082
1089
|
|
|
1083
1090
|
let(:band) do
|
|
1084
|
-
Band.create(name: "Moderat")
|
|
1091
|
+
Band.create!(name: "Moderat")
|
|
1085
1092
|
end
|
|
1086
1093
|
|
|
1087
1094
|
let!(:record) do
|
|
1088
|
-
band.records.create(name: "Moderat")
|
|
1095
|
+
band.records.create!(name: "Moderat")
|
|
1089
1096
|
end
|
|
1090
1097
|
|
|
1091
1098
|
context "when the child is dirty" do
|
|
1092
1099
|
|
|
1093
1100
|
before do
|
|
1094
1101
|
record.name = "Nothing"
|
|
1095
|
-
band.save
|
|
1102
|
+
band.save!
|
|
1096
1103
|
end
|
|
1097
1104
|
|
|
1098
1105
|
it "executes the callback" do
|
|
@@ -1107,7 +1114,7 @@ describe Mongoid::Interceptable do
|
|
|
1107
1114
|
context "when the child is not dirty" do
|
|
1108
1115
|
|
|
1109
1116
|
before do
|
|
1110
|
-
band.save
|
|
1117
|
+
band.save!
|
|
1111
1118
|
end
|
|
1112
1119
|
|
|
1113
1120
|
it "does not execute the callback" do
|
|
@@ -1132,7 +1139,7 @@ describe Mongoid::Interceptable do
|
|
|
1132
1139
|
end
|
|
1133
1140
|
|
|
1134
1141
|
before do
|
|
1135
|
-
band.save
|
|
1142
|
+
band.save!
|
|
1136
1143
|
end
|
|
1137
1144
|
|
|
1138
1145
|
it "executes the callback" do
|
|
@@ -1147,7 +1154,7 @@ describe Mongoid::Interceptable do
|
|
|
1147
1154
|
context "when the parent is persisted" do
|
|
1148
1155
|
|
|
1149
1156
|
let(:band) do
|
|
1150
|
-
Band.create(name: "Moderat")
|
|
1157
|
+
Band.create!(name: "Moderat")
|
|
1151
1158
|
end
|
|
1152
1159
|
|
|
1153
1160
|
let!(:record) do
|
|
@@ -1155,7 +1162,7 @@ describe Mongoid::Interceptable do
|
|
|
1155
1162
|
end
|
|
1156
1163
|
|
|
1157
1164
|
before do
|
|
1158
|
-
band.save
|
|
1165
|
+
band.save!
|
|
1159
1166
|
end
|
|
1160
1167
|
|
|
1161
1168
|
it "executes the callback" do
|
|
@@ -1170,7 +1177,7 @@ describe Mongoid::Interceptable do
|
|
|
1170
1177
|
context 'when the parent is updated' do
|
|
1171
1178
|
|
|
1172
1179
|
let(:band) do
|
|
1173
|
-
Band.create(name: "Moderat")
|
|
1180
|
+
Band.create!(name: "Moderat")
|
|
1174
1181
|
end
|
|
1175
1182
|
|
|
1176
1183
|
before do
|
|
@@ -1190,7 +1197,7 @@ describe Mongoid::Interceptable do
|
|
|
1190
1197
|
context 'when the parent is updated' do
|
|
1191
1198
|
|
|
1192
1199
|
let(:band) do
|
|
1193
|
-
Band.create(name: "Moderat")
|
|
1200
|
+
Band.create!(name: "Moderat")
|
|
1194
1201
|
end
|
|
1195
1202
|
|
|
1196
1203
|
before do
|
|
@@ -1209,15 +1216,15 @@ describe Mongoid::Interceptable do
|
|
|
1209
1216
|
context "when the child is persisted" do
|
|
1210
1217
|
|
|
1211
1218
|
let(:band) do
|
|
1212
|
-
Band.create(name: "Moderat")
|
|
1219
|
+
Band.create!(name: "Moderat")
|
|
1213
1220
|
end
|
|
1214
1221
|
|
|
1215
1222
|
let!(:record) do
|
|
1216
|
-
band.records.create(name: "Moderat")
|
|
1223
|
+
band.records.create!(name: "Moderat")
|
|
1217
1224
|
end
|
|
1218
1225
|
|
|
1219
1226
|
before do
|
|
1220
|
-
band.save
|
|
1227
|
+
band.save!
|
|
1221
1228
|
end
|
|
1222
1229
|
|
|
1223
1230
|
it "executes the callback" do
|
|
@@ -1252,7 +1259,7 @@ describe Mongoid::Interceptable do
|
|
|
1252
1259
|
end
|
|
1253
1260
|
|
|
1254
1261
|
before do
|
|
1255
|
-
band.save
|
|
1262
|
+
band.save!
|
|
1256
1263
|
end
|
|
1257
1264
|
|
|
1258
1265
|
it "executes the callback" do
|
|
@@ -1263,7 +1270,7 @@ describe Mongoid::Interceptable do
|
|
|
1263
1270
|
context "when the root is persisted" do
|
|
1264
1271
|
|
|
1265
1272
|
let(:band) do
|
|
1266
|
-
Band.create(name: "Moderat")
|
|
1273
|
+
Band.create!(name: "Moderat")
|
|
1267
1274
|
end
|
|
1268
1275
|
|
|
1269
1276
|
let!(:record) do
|
|
@@ -1275,7 +1282,7 @@ describe Mongoid::Interceptable do
|
|
|
1275
1282
|
end
|
|
1276
1283
|
|
|
1277
1284
|
before do
|
|
1278
|
-
band.save
|
|
1285
|
+
band.save!
|
|
1279
1286
|
end
|
|
1280
1287
|
|
|
1281
1288
|
it "executes the callback" do
|
|
@@ -1287,20 +1294,20 @@ describe Mongoid::Interceptable do
|
|
|
1287
1294
|
context "when the child is persisted" do
|
|
1288
1295
|
|
|
1289
1296
|
let(:band) do
|
|
1290
|
-
Band.create(name: "Moderat")
|
|
1297
|
+
Band.create!(name: "Moderat")
|
|
1291
1298
|
end
|
|
1292
1299
|
|
|
1293
1300
|
let!(:record) do
|
|
1294
|
-
band.records.create(name: "Moderat")
|
|
1301
|
+
band.records.create!(name: "Moderat")
|
|
1295
1302
|
end
|
|
1296
1303
|
|
|
1297
1304
|
let!(:track) do
|
|
1298
|
-
record.tracks.create(name: "Berlin")
|
|
1305
|
+
record.tracks.create!(name: "Berlin")
|
|
1299
1306
|
end
|
|
1300
1307
|
|
|
1301
1308
|
before do
|
|
1302
1309
|
track.before_create_called = false
|
|
1303
|
-
band.save
|
|
1310
|
+
band.save!
|
|
1304
1311
|
end
|
|
1305
1312
|
|
|
1306
1313
|
it "does not execute the callback" do
|
|
@@ -1328,7 +1335,7 @@ describe Mongoid::Interceptable do
|
|
|
1328
1335
|
end
|
|
1329
1336
|
|
|
1330
1337
|
before do
|
|
1331
|
-
band.save
|
|
1338
|
+
band.save!
|
|
1332
1339
|
end
|
|
1333
1340
|
|
|
1334
1341
|
let(:reloaded) do
|
|
@@ -1347,7 +1354,7 @@ describe Mongoid::Interceptable do
|
|
|
1347
1354
|
context "when the parent is persisted" do
|
|
1348
1355
|
|
|
1349
1356
|
let(:band) do
|
|
1350
|
-
Band.create(name: "Moderat")
|
|
1357
|
+
Band.create!(name: "Moderat")
|
|
1351
1358
|
end
|
|
1352
1359
|
|
|
1353
1360
|
let!(:record) do
|
|
@@ -1359,7 +1366,7 @@ describe Mongoid::Interceptable do
|
|
|
1359
1366
|
end
|
|
1360
1367
|
|
|
1361
1368
|
before do
|
|
1362
|
-
band.save
|
|
1369
|
+
band.save!
|
|
1363
1370
|
end
|
|
1364
1371
|
|
|
1365
1372
|
let(:reloaded) do
|
|
@@ -1379,19 +1386,19 @@ describe Mongoid::Interceptable do
|
|
|
1379
1386
|
context "when the child is persisted" do
|
|
1380
1387
|
|
|
1381
1388
|
let(:band) do
|
|
1382
|
-
Band.create(name: "Moderat")
|
|
1389
|
+
Band.create!(name: "Moderat")
|
|
1383
1390
|
end
|
|
1384
1391
|
|
|
1385
1392
|
let!(:record) do
|
|
1386
|
-
band.records.create(name: "Moderat")
|
|
1393
|
+
band.records.create!(name: "Moderat")
|
|
1387
1394
|
end
|
|
1388
1395
|
|
|
1389
1396
|
let!(:track) do
|
|
1390
|
-
record.tracks.create(name: "Berlin")
|
|
1397
|
+
record.tracks.create!(name: "Berlin")
|
|
1391
1398
|
end
|
|
1392
1399
|
|
|
1393
1400
|
before do
|
|
1394
|
-
band.save
|
|
1401
|
+
band.save!
|
|
1395
1402
|
end
|
|
1396
1403
|
|
|
1397
1404
|
let(:reloaded) do
|
|
@@ -1427,7 +1434,7 @@ describe Mongoid::Interceptable do
|
|
|
1427
1434
|
end
|
|
1428
1435
|
|
|
1429
1436
|
before do
|
|
1430
|
-
band.save
|
|
1437
|
+
band.save!
|
|
1431
1438
|
end
|
|
1432
1439
|
|
|
1433
1440
|
it "does not execute the callback" do
|
|
@@ -1438,7 +1445,7 @@ describe Mongoid::Interceptable do
|
|
|
1438
1445
|
context "when the parent is persisted" do
|
|
1439
1446
|
|
|
1440
1447
|
let(:band) do
|
|
1441
|
-
Band.create(name: "Moderat")
|
|
1448
|
+
Band.create!(name: "Moderat")
|
|
1442
1449
|
end
|
|
1443
1450
|
|
|
1444
1451
|
let!(:record) do
|
|
@@ -1450,7 +1457,7 @@ describe Mongoid::Interceptable do
|
|
|
1450
1457
|
end
|
|
1451
1458
|
|
|
1452
1459
|
before do
|
|
1453
|
-
band.save
|
|
1460
|
+
band.save!
|
|
1454
1461
|
end
|
|
1455
1462
|
|
|
1456
1463
|
it "does not execute the callback" do
|
|
@@ -1462,22 +1469,22 @@ describe Mongoid::Interceptable do
|
|
|
1462
1469
|
context "when the child is persisted" do
|
|
1463
1470
|
|
|
1464
1471
|
let(:band) do
|
|
1465
|
-
Band.create(name: "Moderat")
|
|
1472
|
+
Band.create!(name: "Moderat")
|
|
1466
1473
|
end
|
|
1467
1474
|
|
|
1468
1475
|
let!(:record) do
|
|
1469
|
-
band.records.create(name: "Moderat")
|
|
1476
|
+
band.records.create!(name: "Moderat")
|
|
1470
1477
|
end
|
|
1471
1478
|
|
|
1472
1479
|
let!(:track) do
|
|
1473
|
-
record.tracks.create(name: "Berlin")
|
|
1480
|
+
record.tracks.create!(name: "Berlin")
|
|
1474
1481
|
end
|
|
1475
1482
|
|
|
1476
1483
|
context "when the child is dirty" do
|
|
1477
1484
|
|
|
1478
1485
|
before do
|
|
1479
1486
|
track.name = "Rusty Nails"
|
|
1480
|
-
band.save
|
|
1487
|
+
band.save!
|
|
1481
1488
|
end
|
|
1482
1489
|
|
|
1483
1490
|
let(:reloaded) do
|
|
@@ -1496,7 +1503,7 @@ describe Mongoid::Interceptable do
|
|
|
1496
1503
|
context "when the child is not dirty" do
|
|
1497
1504
|
|
|
1498
1505
|
before do
|
|
1499
|
-
band.save
|
|
1506
|
+
band.save!
|
|
1500
1507
|
end
|
|
1501
1508
|
|
|
1502
1509
|
it "does not execute the callback" do
|
|
@@ -1544,7 +1551,7 @@ describe Mongoid::Interceptable do
|
|
|
1544
1551
|
end
|
|
1545
1552
|
|
|
1546
1553
|
before do
|
|
1547
|
-
band.save
|
|
1554
|
+
band.save!
|
|
1548
1555
|
end
|
|
1549
1556
|
|
|
1550
1557
|
it "executes the callback" do
|
|
@@ -1555,7 +1562,7 @@ describe Mongoid::Interceptable do
|
|
|
1555
1562
|
context "when the parent is persisted" do
|
|
1556
1563
|
|
|
1557
1564
|
let(:band) do
|
|
1558
|
-
Band.create(name: "Moderat")
|
|
1565
|
+
Band.create!(name: "Moderat")
|
|
1559
1566
|
end
|
|
1560
1567
|
|
|
1561
1568
|
let!(:record) do
|
|
@@ -1567,7 +1574,7 @@ describe Mongoid::Interceptable do
|
|
|
1567
1574
|
end
|
|
1568
1575
|
|
|
1569
1576
|
before do
|
|
1570
|
-
band.save
|
|
1577
|
+
band.save!
|
|
1571
1578
|
end
|
|
1572
1579
|
|
|
1573
1580
|
it "executes the callback" do
|
|
@@ -1579,19 +1586,19 @@ describe Mongoid::Interceptable do
|
|
|
1579
1586
|
context "when the child is persisted" do
|
|
1580
1587
|
|
|
1581
1588
|
let(:band) do
|
|
1582
|
-
Band.create(name: "Moderat")
|
|
1589
|
+
Band.create!(name: "Moderat")
|
|
1583
1590
|
end
|
|
1584
1591
|
|
|
1585
1592
|
let!(:record) do
|
|
1586
|
-
band.records.create(name: "Moderat")
|
|
1593
|
+
band.records.create!(name: "Moderat")
|
|
1587
1594
|
end
|
|
1588
1595
|
|
|
1589
1596
|
let!(:track) do
|
|
1590
|
-
record.tracks.create(name: "Berlin")
|
|
1597
|
+
record.tracks.create!(name: "Berlin")
|
|
1591
1598
|
end
|
|
1592
1599
|
|
|
1593
1600
|
before do
|
|
1594
|
-
band.save
|
|
1601
|
+
band.save!
|
|
1595
1602
|
end
|
|
1596
1603
|
|
|
1597
1604
|
it "executes the callback" do
|
|
@@ -1618,11 +1625,11 @@ describe Mongoid::Interceptable do
|
|
|
1618
1625
|
end
|
|
1619
1626
|
|
|
1620
1627
|
before do
|
|
1621
|
-
parent.save
|
|
1628
|
+
parent.save!
|
|
1622
1629
|
end
|
|
1623
1630
|
|
|
1624
1631
|
it "does not duplicate the child documents" do
|
|
1625
|
-
parent.children.create(position: 1)
|
|
1632
|
+
parent.children.create!(position: 1)
|
|
1626
1633
|
expect(ParentDoc.find(parent.id).children.size).to eq(1)
|
|
1627
1634
|
end
|
|
1628
1635
|
end
|
|
@@ -1673,7 +1680,7 @@ describe Mongoid::Interceptable do
|
|
|
1673
1680
|
context "when updating a document" do
|
|
1674
1681
|
|
|
1675
1682
|
let(:person) do
|
|
1676
|
-
Person.create
|
|
1683
|
+
Person.create!.tap do |person|
|
|
1677
1684
|
person.attributes = {
|
|
1678
1685
|
mode: :prevent_save,
|
|
1679
1686
|
title: "Associate",
|