mongoid 6.4.4 → 7.3.2
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 +13 -13
- data/LICENSE +1 -0
- data/README.md +34 -20
- data/Rakefile +75 -5
- data/lib/config/locales/en.yml +115 -53
- data/lib/mongoid/association/accessors.rb +429 -0
- data/lib/mongoid/association/bindable.rb +200 -0
- data/lib/mongoid/association/builders.rb +93 -0
- data/lib/mongoid/association/constrainable.rb +46 -0
- data/lib/mongoid/association/depending.rb +135 -0
- data/lib/mongoid/association/eager_loadable.rb +38 -0
- data/lib/mongoid/association/embedded/batchable.rb +386 -0
- data/lib/mongoid/association/embedded/cyclic.rb +111 -0
- data/lib/mongoid/association/embedded/embedded_in/binding.rb +59 -0
- data/lib/mongoid/association/embedded/embedded_in/buildable.rb +41 -0
- data/lib/mongoid/association/embedded/embedded_in/proxy.rb +124 -0
- data/lib/mongoid/association/embedded/embedded_in.rb +157 -0
- data/lib/mongoid/association/embedded/embeds_many/binding.rb +48 -0
- data/lib/mongoid/association/embedded/embeds_many/buildable.rb +48 -0
- data/lib/mongoid/association/embedded/embeds_many/proxy.rb +562 -0
- data/lib/mongoid/association/embedded/embeds_many.rb +214 -0
- data/lib/mongoid/association/embedded/embeds_one/binding.rb +50 -0
- data/lib/mongoid/association/embedded/embeds_one/buildable.rb +42 -0
- data/lib/mongoid/association/embedded/embeds_one/proxy.rb +133 -0
- data/lib/mongoid/association/embedded/embeds_one.rb +177 -0
- data/lib/mongoid/association/embedded.rb +7 -0
- data/lib/mongoid/association/macros.rb +206 -0
- data/lib/mongoid/association/many.rb +215 -0
- data/lib/mongoid/association/marshalable.rb +36 -0
- data/lib/mongoid/association/nested/many.rb +202 -0
- data/lib/mongoid/association/nested/nested_buildable.rb +75 -0
- data/lib/mongoid/association/nested/one.rb +131 -0
- data/lib/mongoid/association/nested.rb +18 -0
- data/lib/mongoid/association/one.rb +62 -0
- data/lib/mongoid/association/options.rb +155 -0
- data/lib/mongoid/association/proxy.rb +210 -0
- data/lib/mongoid/association/referenced/auto_save.rb +82 -0
- data/lib/mongoid/association/referenced/belongs_to/binding.rb +89 -0
- data/lib/mongoid/association/referenced/belongs_to/buildable.rb +49 -0
- data/lib/mongoid/association/referenced/belongs_to/eager.rb +74 -0
- data/lib/mongoid/association/referenced/belongs_to/proxy.rb +138 -0
- data/lib/mongoid/association/referenced/belongs_to.rb +251 -0
- data/lib/mongoid/association/referenced/counter_cache.rb +165 -0
- data/lib/mongoid/association/referenced/eager.rb +184 -0
- data/lib/mongoid/association/referenced/has_and_belongs_to_many/binding.rb +77 -0
- data/lib/mongoid/association/referenced/has_and_belongs_to_many/buildable.rb +43 -0
- data/lib/mongoid/association/referenced/has_and_belongs_to_many/eager.rb +54 -0
- data/lib/mongoid/association/referenced/has_and_belongs_to_many/proxy.rb +319 -0
- data/lib/mongoid/association/referenced/has_and_belongs_to_many.rb +297 -0
- data/lib/mongoid/association/referenced/has_many/binding.rb +41 -0
- data/lib/mongoid/association/referenced/has_many/buildable.rb +41 -0
- data/lib/mongoid/association/referenced/has_many/eager.rb +45 -0
- data/lib/mongoid/association/referenced/has_many/enumerable.rb +550 -0
- data/lib/mongoid/association/referenced/has_many/proxy.rb +588 -0
- data/lib/mongoid/association/referenced/has_many.rb +278 -0
- data/lib/mongoid/association/referenced/has_one/binding.rb +49 -0
- data/lib/mongoid/association/referenced/has_one/buildable.rb +75 -0
- data/lib/mongoid/association/referenced/has_one/eager.rb +37 -0
- data/lib/mongoid/association/referenced/has_one/nested_builder.rb +128 -0
- data/lib/mongoid/association/referenced/has_one/proxy.rb +120 -0
- data/lib/mongoid/association/referenced/has_one.rb +207 -0
- data/lib/mongoid/association/referenced/syncable.rb +172 -0
- data/lib/mongoid/association/referenced.rb +10 -0
- data/lib/mongoid/association/reflections.rb +70 -0
- data/lib/mongoid/association/relatable.rb +514 -0
- data/lib/mongoid/association.rb +152 -0
- data/lib/mongoid/atomic/modifiers.rb +25 -2
- data/lib/mongoid/atomic/paths/embedded/many.rb +5 -3
- data/lib/mongoid/atomic/paths/embedded/one.rb +5 -3
- data/lib/mongoid/atomic/paths/embedded.rb +3 -1
- data/lib/mongoid/atomic/paths/root.rb +4 -2
- data/lib/mongoid/atomic/paths.rb +2 -0
- data/lib/mongoid/atomic.rb +16 -4
- data/lib/mongoid/attributes/dynamic.rb +19 -16
- data/lib/mongoid/attributes/nested.rb +29 -16
- data/lib/mongoid/attributes/processing.rb +10 -8
- data/lib/mongoid/attributes/projector.rb +120 -0
- data/lib/mongoid/attributes/readonly.rb +5 -5
- data/lib/mongoid/attributes.rb +93 -57
- data/lib/mongoid/cacheable.rb +5 -3
- data/lib/mongoid/changeable.rb +4 -2
- data/lib/mongoid/clients/factory.rb +42 -10
- data/lib/mongoid/clients/options.rb +17 -13
- data/lib/mongoid/clients/sessions.rb +23 -4
- data/lib/mongoid/clients/storage_options.rb +7 -5
- data/lib/mongoid/clients/validators/storage.rb +2 -0
- data/lib/mongoid/clients/validators.rb +2 -0
- data/lib/mongoid/clients.rb +3 -1
- data/lib/mongoid/composable.rb +9 -6
- data/lib/mongoid/config/environment.rb +23 -8
- data/lib/mongoid/config/options.rb +20 -12
- data/lib/mongoid/config/validators/client.rb +2 -0
- data/lib/mongoid/config/validators/option.rb +2 -0
- data/lib/mongoid/config/validators.rb +2 -0
- data/lib/mongoid/config.rb +75 -11
- data/lib/mongoid/contextual/aggregable/memory.rb +3 -1
- data/lib/mongoid/contextual/aggregable/mongo.rb +13 -9
- data/lib/mongoid/contextual/atomic.rb +24 -6
- data/lib/mongoid/contextual/command.rb +2 -0
- data/lib/mongoid/contextual/geo_near.rb +6 -4
- data/lib/mongoid/contextual/map_reduce.rb +5 -2
- data/lib/mongoid/contextual/memory.rb +23 -3
- data/lib/mongoid/contextual/mongo.rb +39 -13
- data/lib/mongoid/contextual/none.rb +2 -0
- data/lib/mongoid/contextual/queryable.rb +2 -0
- data/lib/mongoid/contextual.rb +7 -4
- data/lib/mongoid/copyable.rb +20 -9
- data/lib/mongoid/criteria/findable.rb +12 -2
- data/lib/mongoid/criteria/includable.rb +21 -19
- data/lib/mongoid/criteria/inspectable.rb +2 -0
- data/lib/mongoid/criteria/marshalable.rb +2 -0
- data/lib/mongoid/criteria/modifiable.rb +10 -3
- data/lib/mongoid/criteria/options.rb +4 -2
- data/lib/mongoid/criteria/permission.rb +2 -0
- data/lib/mongoid/criteria/queryable/aggregable.rb +2 -0
- data/lib/mongoid/criteria/queryable/expandable.rb +69 -0
- data/lib/mongoid/criteria/queryable/extensions/array.rb +3 -1
- data/lib/mongoid/criteria/queryable/extensions/big_decimal.rb +3 -1
- data/lib/mongoid/criteria/queryable/extensions/boolean.rb +3 -1
- data/lib/mongoid/criteria/queryable/extensions/date.rb +3 -1
- data/lib/mongoid/criteria/queryable/extensions/date_time.rb +5 -6
- data/lib/mongoid/criteria/queryable/extensions/hash.rb +3 -1
- data/lib/mongoid/criteria/queryable/extensions/nil_class.rb +3 -1
- data/lib/mongoid/criteria/queryable/extensions/numeric.rb +4 -2
- data/lib/mongoid/criteria/queryable/extensions/object.rb +3 -1
- data/lib/mongoid/criteria/queryable/extensions/range.rb +3 -1
- data/lib/mongoid/criteria/queryable/extensions/regexp.rb +9 -7
- data/lib/mongoid/criteria/queryable/extensions/set.rb +3 -1
- data/lib/mongoid/criteria/queryable/extensions/string.rb +4 -2
- data/lib/mongoid/criteria/queryable/extensions/symbol.rb +3 -1
- data/lib/mongoid/criteria/queryable/extensions/time.rb +4 -2
- data/lib/mongoid/criteria/queryable/extensions/time_with_zone.rb +15 -1
- data/lib/mongoid/criteria/queryable/extensions.rb +1 -3
- data/lib/mongoid/criteria/queryable/key.rb +101 -14
- data/lib/mongoid/criteria/queryable/macroable.rb +3 -1
- data/lib/mongoid/criteria/queryable/mergeable.rb +184 -15
- data/lib/mongoid/criteria/queryable/optional.rb +5 -3
- data/lib/mongoid/criteria/queryable/options.rb +2 -0
- data/lib/mongoid/criteria/queryable/pipeline.rb +14 -6
- data/lib/mongoid/criteria/queryable/selectable.rb +399 -98
- data/lib/mongoid/criteria/queryable/selector.rb +46 -39
- data/lib/mongoid/criteria/queryable/smash.rb +2 -0
- data/lib/mongoid/criteria/queryable/storable.rb +233 -0
- data/lib/mongoid/criteria/queryable.rb +7 -2
- data/lib/mongoid/criteria/scopable.rb +2 -0
- data/lib/mongoid/criteria.rb +88 -18
- data/lib/mongoid/document.rb +32 -22
- data/lib/mongoid/equality.rb +3 -2
- data/lib/mongoid/errors/ambiguous_relationship.rb +4 -2
- data/lib/mongoid/errors/callback.rb +2 -0
- data/lib/mongoid/errors/criteria_argument_required.rb +19 -0
- data/lib/mongoid/errors/delete_restriction.rb +10 -10
- data/lib/mongoid/errors/document_not_destroyed.rb +2 -0
- data/lib/mongoid/errors/document_not_found.rb +2 -0
- data/lib/mongoid/errors/eager_load.rb +6 -2
- data/lib/mongoid/errors/in_memory_collation_not_supported.rb +2 -0
- data/lib/mongoid/errors/invalid_collection.rb +2 -0
- data/lib/mongoid/errors/invalid_config_option.rb +2 -0
- data/lib/mongoid/errors/invalid_dependent_strategy.rb +34 -0
- data/lib/mongoid/errors/invalid_discriminator_key_target.rb +25 -0
- data/lib/mongoid/errors/invalid_elem_match_operator.rb +33 -0
- data/lib/mongoid/errors/invalid_estimated_count_criteria.rb +26 -0
- data/lib/mongoid/errors/invalid_expression_operator.rb +28 -0
- data/lib/mongoid/errors/invalid_field.rb +2 -0
- data/lib/mongoid/errors/invalid_field_operator.rb +33 -0
- data/lib/mongoid/errors/invalid_field_option.rb +2 -0
- data/lib/mongoid/errors/invalid_find.rb +2 -0
- data/lib/mongoid/errors/invalid_includes.rb +2 -0
- data/lib/mongoid/errors/invalid_index.rb +2 -0
- data/lib/mongoid/errors/invalid_options.rb +4 -2
- data/lib/mongoid/errors/invalid_path.rb +2 -0
- data/lib/mongoid/errors/invalid_persistence_option.rb +2 -0
- data/lib/mongoid/errors/invalid_query.rb +41 -0
- data/lib/mongoid/errors/invalid_relation.rb +4 -2
- data/lib/mongoid/errors/invalid_relation_option.rb +31 -0
- data/lib/mongoid/errors/invalid_scope.rb +2 -0
- data/lib/mongoid/errors/invalid_session_use.rb +2 -0
- data/lib/mongoid/errors/invalid_set_polymorphic_relation.rb +6 -4
- data/lib/mongoid/errors/invalid_storage_options.rb +2 -0
- data/lib/mongoid/errors/invalid_storage_parent.rb +2 -0
- data/lib/mongoid/errors/invalid_time.rb +2 -0
- data/lib/mongoid/errors/invalid_value.rb +2 -0
- data/lib/mongoid/errors/inverse_not_found.rb +3 -1
- data/lib/mongoid/errors/mixed_client_configuration.rb +2 -0
- data/lib/mongoid/errors/mixed_relations.rb +2 -0
- data/lib/mongoid/errors/mongoid_error.rb +3 -1
- data/lib/mongoid/errors/nested_attributes_metadata_not_found.rb +3 -1
- data/lib/mongoid/errors/no_client_config.rb +4 -2
- data/lib/mongoid/errors/no_client_database.rb +2 -0
- data/lib/mongoid/errors/no_client_hosts.rb +2 -0
- data/lib/mongoid/errors/no_clients_config.rb +2 -0
- data/lib/mongoid/errors/no_default_client.rb +3 -1
- data/lib/mongoid/errors/no_environment.rb +2 -0
- data/lib/mongoid/errors/no_map_reduce_output.rb +2 -0
- data/lib/mongoid/errors/no_metadata.rb +2 -0
- data/lib/mongoid/errors/no_parent.rb +2 -0
- data/lib/mongoid/errors/readonly_attribute.rb +2 -0
- data/lib/mongoid/errors/readonly_document.rb +2 -0
- data/lib/mongoid/errors/scope_overwrite.rb +2 -0
- data/lib/mongoid/errors/too_many_nested_attribute_records.rb +3 -0
- data/lib/mongoid/errors/unknown_attribute.rb +2 -0
- data/lib/mongoid/errors/unknown_model.rb +27 -0
- data/lib/mongoid/errors/unsaved_document.rb +2 -0
- data/lib/mongoid/errors/unsupported_javascript.rb +2 -0
- data/lib/mongoid/errors/validations.rb +2 -0
- data/lib/mongoid/errors.rb +13 -0
- data/lib/mongoid/evolvable.rb +4 -2
- data/lib/mongoid/extensions/array.rb +28 -11
- data/lib/mongoid/extensions/big_decimal.rb +2 -0
- data/lib/mongoid/extensions/boolean.rb +3 -2
- data/lib/mongoid/extensions/date.rb +13 -3
- data/lib/mongoid/extensions/date_time.rb +4 -3
- data/lib/mongoid/extensions/decimal128.rb +2 -0
- data/lib/mongoid/extensions/false_class.rb +3 -1
- data/lib/mongoid/extensions/float.rb +5 -3
- data/lib/mongoid/extensions/hash.rb +58 -13
- data/lib/mongoid/extensions/integer.rb +5 -3
- data/lib/mongoid/extensions/module.rb +2 -0
- data/lib/mongoid/extensions/nil_class.rb +2 -0
- data/lib/mongoid/extensions/object.rb +20 -8
- data/lib/mongoid/extensions/object_id.rb +2 -0
- data/lib/mongoid/extensions/range.rb +3 -0
- data/lib/mongoid/extensions/regexp.rb +3 -1
- data/lib/mongoid/extensions/set.rb +2 -0
- data/lib/mongoid/extensions/string.rb +23 -12
- data/lib/mongoid/extensions/symbol.rb +2 -0
- data/lib/mongoid/extensions/time.rb +14 -0
- data/lib/mongoid/extensions/time_with_zone.rb +14 -0
- data/lib/mongoid/extensions/true_class.rb +3 -1
- data/lib/mongoid/extensions.rb +3 -4
- data/lib/mongoid/factory.rb +59 -9
- data/lib/mongoid/fields/foreign_key.rb +8 -6
- data/lib/mongoid/fields/localized.rb +2 -0
- data/lib/mongoid/fields/standard.rb +8 -17
- data/lib/mongoid/fields/validators/macro.rb +39 -12
- data/lib/mongoid/fields/validators.rb +2 -0
- data/lib/mongoid/fields.rb +54 -10
- data/lib/mongoid/findable.rb +59 -18
- data/lib/mongoid/indexable/specification.rb +3 -1
- data/lib/mongoid/indexable/validators/options.rb +2 -0
- data/lib/mongoid/indexable.rb +9 -4
- data/lib/mongoid/inspectable.rb +4 -2
- data/lib/mongoid/interceptable.rb +18 -10
- data/lib/mongoid/loggable.rb +13 -7
- data/lib/mongoid/matchable.rb +3 -148
- data/lib/mongoid/matcher/all.rb +22 -0
- data/lib/mongoid/matcher/and.rb +21 -0
- data/lib/mongoid/matcher/bits.rb +41 -0
- data/lib/mongoid/matcher/bits_all_clear.rb +20 -0
- data/lib/mongoid/matcher/bits_all_set.rb +20 -0
- data/lib/mongoid/matcher/bits_any_clear.rb +20 -0
- data/lib/mongoid/matcher/bits_any_set.rb +20 -0
- data/lib/mongoid/matcher/elem_match.rb +36 -0
- data/lib/mongoid/matcher/elem_match_expression.rb +20 -0
- data/lib/mongoid/matcher/eq.rb +11 -0
- data/lib/mongoid/matcher/eq_impl.rb +32 -0
- data/lib/mongoid/matcher/eq_impl_with_regexp.rb +21 -0
- data/lib/mongoid/matcher/exists.rb +15 -0
- data/lib/mongoid/matcher/expression.rb +35 -0
- data/lib/mongoid/matcher/expression_operator.rb +19 -0
- data/lib/mongoid/matcher/field_expression.rb +62 -0
- data/lib/mongoid/matcher/field_operator.rb +54 -0
- data/lib/mongoid/matcher/gt.rb +17 -0
- data/lib/mongoid/matcher/gte.rb +17 -0
- data/lib/mongoid/matcher/in.rb +25 -0
- data/lib/mongoid/matcher/lt.rb +17 -0
- data/lib/mongoid/matcher/lte.rb +17 -0
- data/lib/mongoid/matcher/mod.rb +17 -0
- data/lib/mongoid/matcher/ne.rb +16 -0
- data/lib/mongoid/matcher/nin.rb +11 -0
- data/lib/mongoid/matcher/nor.rb +25 -0
- data/lib/mongoid/matcher/not.rb +29 -0
- data/lib/mongoid/matcher/or.rb +21 -0
- data/lib/mongoid/matcher/regex.rb +41 -0
- data/lib/mongoid/matcher/size.rb +26 -0
- data/lib/mongoid/matcher/type.rb +99 -0
- data/lib/mongoid/matcher.rb +110 -0
- data/lib/mongoid/persistable/creatable.rb +3 -1
- data/lib/mongoid/persistable/deletable.rb +11 -9
- data/lib/mongoid/persistable/destroyable.rb +11 -3
- data/lib/mongoid/persistable/incrementable.rb +7 -3
- data/lib/mongoid/persistable/logical.rb +5 -2
- data/lib/mongoid/persistable/poppable.rb +3 -1
- data/lib/mongoid/persistable/pullable.rb +3 -1
- data/lib/mongoid/persistable/pushable.rb +14 -3
- data/lib/mongoid/persistable/renamable.rb +10 -3
- data/lib/mongoid/persistable/savable.rb +3 -1
- data/lib/mongoid/persistable/settable.rb +60 -13
- data/lib/mongoid/persistable/unsettable.rb +8 -3
- data/lib/mongoid/persistable/updatable.rb +30 -3
- data/lib/mongoid/persistable/upsertable.rb +3 -1
- data/lib/mongoid/persistable.rb +136 -19
- data/lib/mongoid/persistence_context.rb +47 -20
- data/lib/mongoid/positional.rb +3 -1
- data/lib/mongoid/query_cache.rb +132 -77
- data/lib/mongoid/railtie.rb +3 -1
- data/lib/mongoid/railties/controller_runtime.rb +4 -1
- data/lib/mongoid/railties/database.rake +9 -0
- data/lib/mongoid/reloadable.rb +11 -4
- data/lib/mongoid/scopable.rb +2 -1
- data/lib/mongoid/selectable.rb +8 -8
- data/lib/mongoid/serializable.rb +28 -18
- data/lib/mongoid/shardable.rb +80 -10
- data/lib/mongoid/stateful.rb +3 -1
- data/lib/mongoid/stringified_symbol.rb +53 -0
- data/lib/mongoid/tasks/database.rake +12 -5
- data/lib/mongoid/tasks/database.rb +85 -0
- data/lib/mongoid/threaded/lifecycle.rb +2 -0
- data/lib/mongoid/threaded.rb +2 -0
- data/lib/mongoid/timestamps/created/short.rb +2 -0
- data/lib/mongoid/timestamps/created.rb +3 -1
- data/lib/mongoid/timestamps/short.rb +2 -0
- data/lib/mongoid/timestamps/timeless.rb +6 -2
- data/lib/mongoid/timestamps/updated/short.rb +2 -0
- data/lib/mongoid/timestamps/updated.rb +3 -1
- data/lib/mongoid/timestamps.rb +3 -1
- data/lib/mongoid/touchable.rb +129 -0
- data/lib/mongoid/traversable.rb +118 -9
- data/lib/mongoid/validatable/associated.rb +5 -3
- data/lib/mongoid/validatable/format.rb +2 -0
- data/lib/mongoid/validatable/length.rb +2 -0
- data/lib/mongoid/validatable/localizable.rb +2 -0
- data/lib/mongoid/validatable/macros.rb +3 -1
- data/lib/mongoid/validatable/presence.rb +9 -7
- data/lib/mongoid/validatable/queryable.rb +2 -0
- data/lib/mongoid/validatable/uniqueness.rb +10 -8
- data/lib/mongoid/validatable.rb +15 -13
- data/lib/mongoid/version.rb +3 -1
- data/lib/mongoid.rb +35 -2
- data/lib/rails/generators/mongoid/config/config_generator.rb +10 -1
- data/lib/rails/generators/mongoid/config/templates/mongoid.yml +45 -27
- data/lib/rails/generators/mongoid/model/model_generator.rb +3 -1
- data/lib/rails/generators/mongoid/model/templates/model.rb.tt +1 -1
- data/lib/rails/generators/mongoid_generator.rb +2 -0
- data/lib/rails/mongoid.rb +4 -2
- data/lib/support/ruby_version.rb +3 -0
- data/spec/README.md +33 -0
- data/spec/config/mongoid.yml +14 -3
- data/spec/integration/app_spec.rb +344 -0
- data/spec/integration/associations/belongs_to_spec.rb +16 -0
- data/spec/integration/associations/embedded_spec.rb +269 -0
- data/spec/integration/associations/embeds_many_spec.rb +68 -0
- data/spec/integration/associations/embeds_one_spec.rb +24 -0
- data/spec/integration/associations/foreign_key_spec.rb +99 -0
- data/spec/integration/associations/foreign_key_spec_models.rb +65 -0
- data/spec/integration/associations/has_many_spec.rb +129 -0
- data/spec/integration/associations/has_one_spec.rb +177 -0
- data/spec/integration/associations/nested_attributes_assignment_spec.rb +116 -0
- data/spec/integration/associations/reverse_population_spec.rb +35 -0
- data/spec/integration/associations/reverse_population_spec_models.rb +37 -0
- data/spec/integration/atomic/modifiers_spec.rb +117 -0
- data/spec/integration/bson_regexp_raw_spec.rb +20 -0
- data/spec/integration/callbacks_models.rb +49 -0
- data/spec/integration/callbacks_spec.rb +216 -0
- data/spec/integration/criteria/date_field_spec.rb +41 -0
- data/spec/integration/criteria/default_scope_spec.rb +21 -0
- data/spec/integration/criteria/logical_spec.rb +94 -0
- data/spec/integration/criteria/time_with_zone_spec.rb +32 -0
- data/spec/integration/discriminator_key_spec.rb +354 -0
- data/spec/integration/discriminator_value_spec.rb +207 -0
- data/spec/integration/document_spec.rb +52 -0
- data/spec/integration/i18n_fallbacks_spec.rb +90 -0
- data/spec/integration/matcher_examples_spec.rb +759 -0
- data/spec/integration/matcher_operator_data/all.yml +140 -0
- data/spec/integration/matcher_operator_data/and.yml +93 -0
- data/spec/integration/matcher_operator_data/bits_all_clear.yml +159 -0
- data/spec/integration/matcher_operator_data/bits_all_set.yml +159 -0
- data/spec/integration/matcher_operator_data/bits_any_clear.yml +159 -0
- data/spec/integration/matcher_operator_data/bits_any_set.yml +159 -0
- data/spec/integration/matcher_operator_data/comment.yml +22 -0
- data/spec/integration/matcher_operator_data/elem_match.yml +409 -0
- data/spec/integration/matcher_operator_data/elem_match_expr.yml +213 -0
- data/spec/integration/matcher_operator_data/eq.yml +191 -0
- data/spec/integration/matcher_operator_data/exists.yml +213 -0
- data/spec/integration/matcher_operator_data/generic_op.yml +17 -0
- data/spec/integration/matcher_operator_data/gt.yml +132 -0
- data/spec/integration/matcher_operator_data/gt_types.yml +63 -0
- data/spec/integration/matcher_operator_data/gte.yml +132 -0
- data/spec/integration/matcher_operator_data/gte_types.yml +15 -0
- data/spec/integration/matcher_operator_data/implicit.yml +331 -0
- data/spec/integration/matcher_operator_data/implicit_traversal.yml +112 -0
- data/spec/integration/matcher_operator_data/in.yml +210 -0
- data/spec/integration/matcher_operator_data/invalid_op.yml +59 -0
- data/spec/integration/matcher_operator_data/invalid_syntax.yml +39 -0
- data/spec/integration/matcher_operator_data/lt.yml +132 -0
- data/spec/integration/matcher_operator_data/lt_types.yml +15 -0
- data/spec/integration/matcher_operator_data/lte.yml +132 -0
- data/spec/integration/matcher_operator_data/lte_types.yml +15 -0
- data/spec/integration/matcher_operator_data/mod.yml +55 -0
- data/spec/integration/matcher_operator_data/multiple.yml +29 -0
- data/spec/integration/matcher_operator_data/ne.yml +150 -0
- data/spec/integration/matcher_operator_data/ne_types.yml +15 -0
- data/spec/integration/matcher_operator_data/nin.yml +114 -0
- data/spec/integration/matcher_operator_data/nor.yml +126 -0
- data/spec/integration/matcher_operator_data/not.yml +196 -0
- data/spec/integration/matcher_operator_data/or.yml +137 -0
- data/spec/integration/matcher_operator_data/regex.yml +174 -0
- data/spec/integration/matcher_operator_data/regex_options.yml +72 -0
- data/spec/integration/matcher_operator_data/size.yml +174 -0
- data/spec/integration/matcher_operator_data/type.yml +70 -0
- data/spec/integration/matcher_operator_data/type_array.yml +16 -0
- data/spec/integration/matcher_operator_data/type_binary.yml +18 -0
- data/spec/integration/matcher_operator_data/type_boolean.yml +39 -0
- data/spec/integration/matcher_operator_data/type_code.yml +26 -0
- data/spec/integration/matcher_operator_data/type_code_with_scope.yml +26 -0
- data/spec/integration/matcher_operator_data/type_date.yml +39 -0
- data/spec/integration/matcher_operator_data/type_db_pointer.yml +19 -0
- data/spec/integration/matcher_operator_data/type_decimal.yml +40 -0
- data/spec/integration/matcher_operator_data/type_double.yml +15 -0
- data/spec/integration/matcher_operator_data/type_int32.yml +33 -0
- data/spec/integration/matcher_operator_data/type_int64.yml +33 -0
- data/spec/integration/matcher_operator_data/type_max_key.yml +17 -0
- data/spec/integration/matcher_operator_data/type_min_key.yml +17 -0
- data/spec/integration/matcher_operator_data/type_null.yml +23 -0
- data/spec/integration/matcher_operator_data/type_object.yml +23 -0
- data/spec/integration/matcher_operator_data/type_object_id.yml +25 -0
- data/spec/integration/matcher_operator_data/type_regex.yml +44 -0
- data/spec/integration/matcher_operator_data/type_string.yml +15 -0
- data/spec/integration/matcher_operator_data/type_symbol.yml +32 -0
- data/spec/integration/matcher_operator_data/type_timestamp.yml +25 -0
- data/spec/integration/matcher_operator_data/type_undefined.yml +17 -0
- data/spec/integration/matcher_operator_spec.rb +100 -0
- data/spec/integration/matcher_spec.rb +189 -0
- data/spec/integration/server_query_spec.rb +142 -0
- data/spec/integration/shardable_spec.rb +149 -0
- data/spec/integration/stringified_symbol_field_spec.rb +190 -0
- data/spec/lite_spec_helper.rb +77 -0
- data/spec/mongoid/association/accessors_spec.rb +1038 -0
- data/spec/mongoid/association/auto_save_spec.rb +365 -0
- data/spec/mongoid/association/builders_spec.rb +256 -0
- data/spec/mongoid/association/constrainable_spec.rb +118 -0
- data/spec/mongoid/association/counter_cache_spec.rb +453 -0
- data/spec/mongoid/association/depending_spec.rb +960 -0
- data/spec/mongoid/association/eager_spec.rb +282 -0
- data/spec/mongoid/association/embedded/cyclic_spec.rb +181 -0
- data/spec/mongoid/association/embedded/dirty_spec.rb +68 -0
- data/spec/mongoid/association/embedded/embedded_in/binding_spec.rb +174 -0
- data/spec/mongoid/association/embedded/embedded_in/buildable_spec.rb +37 -0
- data/spec/mongoid/association/embedded/embedded_in/proxy_spec.rb +560 -0
- data/spec/mongoid/association/embedded/embedded_in_spec.rb +904 -0
- data/spec/mongoid/association/embedded/embeds_many/binding_spec.rb +57 -0
- data/spec/mongoid/association/embedded/embeds_many/buildable_spec.rb +107 -0
- data/spec/mongoid/association/embedded/embeds_many/proxy_spec.rb +4403 -0
- data/spec/mongoid/association/embedded/embeds_many_models.rb +54 -0
- data/spec/mongoid/association/embedded/embeds_many_query_spec.rb +52 -0
- data/spec/mongoid/association/embedded/embeds_many_spec.rb +865 -0
- data/spec/mongoid/association/embedded/embeds_one/binding_spec.rb +80 -0
- data/spec/mongoid/association/embedded/embeds_one/buildable_spec.rb +82 -0
- data/spec/mongoid/association/embedded/embeds_one/proxy_spec.rb +1026 -0
- data/spec/mongoid/association/embedded/embeds_one_dnl_models.rb +9 -0
- data/spec/mongoid/association/embedded/embeds_one_models.rb +55 -0
- data/spec/mongoid/association/embedded/embeds_one_query_spec.rb +29 -0
- data/spec/mongoid/association/embedded/embeds_one_spec.rb +957 -0
- data/spec/mongoid/association/macros_spec.rb +1117 -0
- data/spec/mongoid/association/nested/many_spec.rb +233 -0
- data/spec/mongoid/association/nested/one_spec.rb +254 -0
- data/spec/mongoid/association/options_spec.rb +1324 -0
- data/spec/mongoid/association/polymorphic_spec.rb +163 -0
- data/spec/mongoid/association/referenced/belongs_to/binding_spec.rb +244 -0
- data/spec/mongoid/association/referenced/belongs_to/buildable_spec.rb +200 -0
- data/spec/mongoid/association/referenced/belongs_to/eager_spec.rb +377 -0
- data/spec/mongoid/association/referenced/belongs_to/proxy_spec.rb +1369 -0
- data/spec/mongoid/association/referenced/belongs_to_query_spec.rb +38 -0
- data/spec/mongoid/association/referenced/belongs_to_spec.rb +2026 -0
- data/spec/mongoid/association/referenced/has_and_belongs_to_many/binding_spec.rb +181 -0
- data/spec/mongoid/association/referenced/has_and_belongs_to_many/buildable_spec.rb +124 -0
- data/spec/mongoid/association/referenced/has_and_belongs_to_many/eager_spec.rb +168 -0
- data/spec/mongoid/association/referenced/has_and_belongs_to_many/proxy_persistence_spec.rb +77 -0
- data/spec/mongoid/association/referenced/has_and_belongs_to_many/proxy_spec.rb +3748 -0
- data/spec/mongoid/association/referenced/has_and_belongs_to_many_models.rb +50 -0
- data/spec/mongoid/association/referenced/has_and_belongs_to_many_query_spec.rb +40 -0
- data/spec/mongoid/association/referenced/has_and_belongs_to_many_spec.rb +1051 -0
- data/spec/mongoid/association/referenced/has_many/binding_spec.rb +156 -0
- data/spec/mongoid/association/referenced/has_many/buildable_spec.rb +122 -0
- data/spec/mongoid/association/referenced/has_many/eager_spec.rb +274 -0
- data/spec/mongoid/association/referenced/has_many/enumerable_spec.rb +2054 -0
- data/spec/mongoid/association/referenced/has_many/proxy_query_spec.rb +24 -0
- data/spec/mongoid/association/referenced/has_many/proxy_spec.rb +4029 -0
- data/spec/mongoid/association/referenced/has_many_models.rb +61 -0
- data/spec/mongoid/association/referenced/has_many_query_spec.rb +38 -0
- data/spec/mongoid/association/referenced/has_many_spec.rb +1228 -0
- data/spec/mongoid/association/referenced/has_one/binding_spec.rb +134 -0
- data/spec/mongoid/association/referenced/has_one/buildable_spec.rb +116 -0
- data/spec/mongoid/association/referenced/has_one/eager_spec.rb +178 -0
- data/spec/mongoid/association/referenced/has_one/proxy_spec.rb +1143 -0
- data/spec/mongoid/association/referenced/has_one_models.rb +80 -0
- data/spec/mongoid/association/referenced/has_one_query_spec.rb +38 -0
- data/spec/mongoid/association/referenced/has_one_spec.rb +1363 -0
- data/spec/mongoid/association/reflections_spec.rb +93 -0
- data/spec/mongoid/association/syncable_spec.rb +500 -0
- data/spec/mongoid/association_spec.rb +192 -0
- data/spec/mongoid/atomic/modifiers_spec.rb +52 -2
- data/spec/mongoid/atomic/paths/embedded/many_spec.rb +3 -0
- data/spec/mongoid/atomic/paths/embedded/one_spec.rb +3 -0
- data/spec/mongoid/atomic/paths/root_spec.rb +3 -0
- data/spec/mongoid/atomic/paths_spec.rb +108 -12
- data/spec/mongoid/atomic_spec.rb +30 -4
- data/spec/mongoid/attributes/dynamic_spec.rb +153 -0
- data/spec/mongoid/attributes/nested_spec.rb +33 -12
- data/spec/mongoid/attributes/projector_data/embedded.yml +105 -0
- data/spec/mongoid/attributes/projector_data/fields.yml +93 -0
- data/spec/mongoid/attributes/projector_spec.rb +41 -0
- data/spec/mongoid/attributes/readonly_spec.rb +83 -125
- data/spec/mongoid/attributes_spec.rb +393 -9
- data/spec/mongoid/cacheable_spec.rb +3 -0
- data/spec/mongoid/changeable_spec.rb +26 -0
- data/spec/mongoid/clients/factory_spec.rb +142 -33
- data/spec/mongoid/clients/options_spec.rb +83 -56
- data/spec/mongoid/clients/sessions_spec.rb +19 -8
- data/spec/mongoid/clients/transactions_spec.rb +393 -0
- data/spec/mongoid/clients_spec.rb +73 -10
- data/spec/mongoid/composable_spec.rb +3 -0
- data/spec/mongoid/config/environment_spec.rb +3 -0
- data/spec/mongoid/config/options_spec.rb +23 -3
- data/spec/mongoid/config_spec.rb +126 -1
- data/spec/mongoid/contextual/aggregable/memory_spec.rb +3 -0
- data/spec/mongoid/contextual/aggregable/mongo_spec.rb +3 -0
- data/spec/mongoid/contextual/atomic_spec.rb +137 -14
- data/spec/mongoid/contextual/geo_near_spec.rb +15 -2
- data/spec/mongoid/contextual/map_reduce_spec.rb +23 -5
- data/spec/mongoid/contextual/memory_spec.rb +22 -0
- data/spec/mongoid/contextual/mongo_spec.rb +185 -75
- data/spec/mongoid/contextual/none_spec.rb +3 -0
- data/spec/mongoid/copyable_spec.rb +289 -23
- data/spec/mongoid/copyable_spec_models.rb +48 -0
- data/spec/mongoid/criteria/findable_spec.rb +58 -0
- data/spec/mongoid/criteria/inspectable_spec.rb +3 -0
- data/spec/mongoid/criteria/marshalable_spec.rb +3 -0
- data/spec/mongoid/criteria/modifiable_spec.rb +181 -5
- data/spec/mongoid/criteria/options_spec.rb +3 -0
- data/spec/mongoid/criteria/queryable/aggregable_spec.rb +3 -0
- data/spec/mongoid/criteria/queryable/expandable_spec.rb +62 -0
- data/spec/mongoid/criteria/queryable/extensions/array_spec.rb +3 -0
- data/spec/mongoid/criteria/queryable/extensions/big_decimal_spec.rb +3 -0
- data/spec/mongoid/criteria/queryable/extensions/bignum_spec.rb +3 -0
- data/spec/mongoid/criteria/queryable/extensions/boolean_spec.rb +4 -1
- data/spec/mongoid/criteria/queryable/extensions/date_spec.rb +3 -0
- data/spec/mongoid/criteria/queryable/extensions/date_time_spec.rb +36 -17
- data/spec/mongoid/criteria/queryable/extensions/fixnum_spec.rb +3 -0
- data/spec/mongoid/criteria/queryable/extensions/float_spec.rb +3 -0
- data/spec/mongoid/criteria/queryable/extensions/hash_spec.rb +3 -0
- data/spec/mongoid/criteria/queryable/extensions/integer_spec.rb +3 -0
- data/spec/mongoid/criteria/queryable/extensions/nil_class_spec.rb +3 -0
- data/spec/mongoid/criteria/queryable/extensions/numeric_spec.rb +54 -0
- data/spec/mongoid/criteria/queryable/extensions/object_spec.rb +3 -0
- data/spec/mongoid/criteria/queryable/extensions/range_spec.rb +3 -0
- data/spec/mongoid/criteria/queryable/extensions/regexp_raw_spec.rb +4 -1
- data/spec/mongoid/criteria/queryable/extensions/regexp_spec.rb +10 -7
- data/spec/mongoid/criteria/queryable/extensions/set_spec.rb +3 -0
- data/spec/mongoid/criteria/queryable/extensions/string_spec.rb +47 -1
- data/spec/mongoid/criteria/queryable/extensions/symbol_spec.rb +3 -0
- data/spec/mongoid/criteria/queryable/extensions/time_spec.rb +43 -23
- data/spec/mongoid/criteria/queryable/extensions/time_with_zone_spec.rb +31 -1
- data/spec/mongoid/criteria/queryable/key_spec.rb +51 -6
- data/spec/mongoid/criteria/queryable/mergeable_spec.rb +146 -12
- data/spec/mongoid/criteria/queryable/optional_spec.rb +3 -0
- data/spec/mongoid/criteria/queryable/options_spec.rb +3 -0
- data/spec/mongoid/criteria/queryable/pipeline_spec.rb +15 -0
- data/spec/mongoid/criteria/queryable/queryable_spec.rb +3 -0
- data/spec/mongoid/criteria/queryable/selectable_logical_spec.rb +2070 -0
- data/spec/mongoid/criteria/queryable/selectable_shared_examples.rb +39 -0
- data/spec/mongoid/criteria/queryable/selectable_spec.rb +993 -2937
- data/spec/mongoid/criteria/queryable/selectable_where_spec.rb +590 -0
- data/spec/mongoid/criteria/queryable/selector_spec.rb +40 -0
- data/spec/mongoid/criteria/queryable/smash_spec.rb +3 -0
- data/spec/mongoid/criteria/queryable/storable_spec.rb +190 -0
- data/spec/mongoid/criteria/scopable_spec.rb +3 -0
- data/spec/mongoid/criteria_projection_spec.rb +411 -0
- data/spec/mongoid/criteria_spec.rb +280 -297
- data/spec/mongoid/document_fields_spec.rb +114 -0
- data/spec/mongoid/document_persistence_context_spec.rb +33 -0
- data/spec/mongoid/document_query_spec.rb +90 -0
- data/spec/mongoid/document_spec.rb +121 -19
- data/spec/mongoid/equality_spec.rb +3 -1
- data/spec/mongoid/errors/ambiguous_relationship_spec.rb +6 -3
- data/spec/mongoid/errors/callback_spec.rb +3 -0
- data/spec/mongoid/errors/delete_restriction_spec.rb +5 -2
- data/spec/mongoid/errors/document_not_destroyed_spec.rb +3 -0
- data/spec/mongoid/errors/document_not_found_spec.rb +3 -0
- data/spec/mongoid/errors/eager_load_spec.rb +3 -0
- data/spec/mongoid/errors/invalid_collection_spec.rb +3 -0
- data/spec/mongoid/errors/invalid_config_option_spec.rb +3 -0
- data/spec/mongoid/errors/invalid_field_option_spec.rb +3 -0
- data/spec/mongoid/errors/invalid_field_spec.rb +3 -0
- data/spec/mongoid/errors/invalid_find_spec.rb +3 -0
- data/spec/mongoid/errors/invalid_includes_spec.rb +3 -0
- data/spec/mongoid/errors/invalid_index_spec.rb +3 -0
- data/spec/mongoid/errors/invalid_options_spec.rb +5 -2
- data/spec/mongoid/errors/invalid_path_spec.rb +3 -0
- data/spec/mongoid/errors/invalid_relation_spec.rb +5 -2
- data/spec/mongoid/errors/invalid_scope_spec.rb +3 -0
- data/spec/mongoid/errors/invalid_set_polymorphic_relation_spec.rb +3 -0
- data/spec/mongoid/errors/invalid_storage_options_spec.rb +3 -0
- data/spec/mongoid/errors/invalid_time_spec.rb +3 -0
- data/spec/mongoid/errors/inverse_not_found_spec.rb +4 -1
- data/spec/mongoid/errors/mixed_client_configuration_spec.rb +3 -0
- data/spec/mongoid/errors/mixed_relations_spec.rb +3 -0
- data/spec/mongoid/errors/mongoid_error_spec.rb +23 -8
- data/spec/mongoid/errors/nested_attributes_metadata_not_found_spec.rb +6 -3
- data/spec/mongoid/errors/no_client_config_spec.rb +5 -2
- data/spec/mongoid/errors/no_client_database_spec.rb +6 -3
- data/spec/mongoid/errors/no_client_hosts_spec.rb +6 -3
- data/spec/mongoid/errors/no_clients_config_spec.rb +3 -0
- data/spec/mongoid/errors/no_environment_spec.rb +3 -0
- data/spec/mongoid/errors/no_map_reduce_output_spec.rb +3 -0
- data/spec/mongoid/errors/no_metadata_spec.rb +5 -2
- data/spec/mongoid/errors/no_parent_spec.rb +4 -1
- data/spec/mongoid/errors/readonly_attribute_spec.rb +3 -0
- data/spec/mongoid/errors/readonly_document_spec.rb +3 -0
- data/spec/mongoid/errors/scope_overwrite_spec.rb +3 -0
- data/spec/mongoid/errors/too_many_nested_attribute_records_spec.rb +3 -0
- data/spec/mongoid/errors/unknown_attribute_spec.rb +3 -0
- data/spec/mongoid/errors/unsaved_document_spec.rb +4 -1
- data/spec/mongoid/errors/unsupported_javascript_spec.rb +3 -0
- data/spec/mongoid/errors/validations_spec.rb +3 -0
- data/spec/mongoid/extensions/array_spec.rb +37 -58
- data/spec/mongoid/extensions/big_decimal_spec.rb +3 -0
- data/spec/mongoid/extensions/binary_spec.rb +3 -0
- data/spec/mongoid/extensions/boolean_spec.rb +3 -0
- data/spec/mongoid/extensions/date_class_mongoize_spec.rb +336 -0
- data/spec/mongoid/extensions/date_spec.rb +9 -160
- data/spec/mongoid/extensions/date_time_spec.rb +18 -60
- data/spec/mongoid/extensions/decimal128_spec.rb +3 -0
- data/spec/mongoid/extensions/false_class_spec.rb +4 -1
- data/spec/mongoid/extensions/float_spec.rb +18 -3
- data/spec/mongoid/extensions/hash_spec.rb +124 -1
- data/spec/mongoid/extensions/integer_spec.rb +15 -2
- data/spec/mongoid/extensions/module_spec.rb +3 -0
- data/spec/mongoid/extensions/nil_class_spec.rb +3 -0
- data/spec/mongoid/extensions/object_id_spec.rb +3 -0
- data/spec/mongoid/extensions/object_spec.rb +21 -35
- data/spec/mongoid/extensions/range_spec.rb +10 -0
- data/spec/mongoid/extensions/regexp_spec.rb +3 -0
- data/spec/mongoid/extensions/set_spec.rb +3 -0
- data/spec/mongoid/extensions/string_spec.rb +94 -32
- data/spec/mongoid/extensions/stringified_symbol_spec.rb +85 -0
- data/spec/mongoid/extensions/symbol_spec.rb +3 -0
- data/spec/mongoid/extensions/time_spec.rb +30 -0
- data/spec/mongoid/extensions/time_with_zone_spec.rb +34 -0
- data/spec/mongoid/extensions/true_class_spec.rb +4 -1
- data/spec/mongoid/extensions_spec.rb +3 -0
- data/spec/mongoid/factory_spec.rb +301 -23
- data/spec/mongoid/fields/foreign_key_spec.rb +27 -32
- data/spec/mongoid/fields/localized_spec.rb +7 -4
- data/spec/mongoid/fields/standard_spec.rb +3 -0
- data/spec/mongoid/fields_spec.rb +94 -7
- data/spec/mongoid/findable_spec.rb +36 -1
- data/spec/mongoid/indexable/specification_spec.rb +3 -0
- data/spec/mongoid/indexable_spec.rb +55 -14
- data/spec/mongoid/inspectable_spec.rb +40 -2
- data/spec/mongoid/interceptable_spec.rb +89 -3
- data/spec/mongoid/interceptable_spec_models.rb +76 -0
- data/spec/mongoid/loggable_spec.rb +3 -0
- data/spec/mongoid/matcher/extract_attribute_data/numeric_keys.yml +104 -0
- data/spec/mongoid/matcher/extract_attribute_data/traversal.yml +239 -0
- data/spec/mongoid/matcher/extract_attribute_spec.rb +37 -0
- data/spec/mongoid/persistable/creatable_spec.rb +111 -25
- data/spec/mongoid/persistable/deletable_spec.rb +264 -1
- data/spec/mongoid/persistable/destroyable_spec.rb +194 -3
- data/spec/mongoid/persistable/incrementable_spec.rb +17 -0
- data/spec/mongoid/persistable/logical_spec.rb +17 -0
- data/spec/mongoid/persistable/poppable_spec.rb +17 -0
- data/spec/mongoid/persistable/pullable_spec.rb +31 -0
- data/spec/mongoid/persistable/pushable_spec.rb +86 -1
- data/spec/mongoid/persistable/renamable_spec.rb +17 -0
- data/spec/mongoid/persistable/savable_spec.rb +176 -17
- data/spec/mongoid/persistable/settable_spec.rb +142 -10
- data/spec/mongoid/persistable/unsettable_spec.rb +17 -0
- data/spec/mongoid/persistable/updatable_spec.rb +3 -0
- data/spec/mongoid/persistable/upsertable_spec.rb +4 -1
- data/spec/mongoid/persistable_spec.rb +106 -14
- data/spec/mongoid/persistence_context_spec.rb +4 -1
- data/spec/mongoid/positional_spec.rb +3 -0
- data/spec/mongoid/query_cache_middleware_spec.rb +69 -0
- data/spec/mongoid/query_cache_spec.rb +532 -65
- data/spec/mongoid/relations/proxy_spec.rb +127 -124
- data/spec/mongoid/reloadable_spec.rb +93 -1
- data/spec/mongoid/scopable_spec.rb +5 -1
- data/spec/mongoid/selectable_spec.rb +3 -0
- data/spec/mongoid/serializable_spec.rb +152 -20
- data/spec/mongoid/shardable_models.rb +61 -0
- data/spec/mongoid/shardable_spec.rb +146 -26
- data/spec/mongoid/stateful_spec.rb +3 -0
- data/spec/mongoid/tasks/database_rake_spec.rb +16 -13
- data/spec/mongoid/tasks/database_spec.rb +4 -1
- data/spec/mongoid/threaded_spec.rb +3 -0
- data/spec/mongoid/timestamps/created/short_spec.rb +3 -0
- data/spec/mongoid/timestamps/created_spec.rb +3 -0
- data/spec/mongoid/timestamps/timeless_spec.rb +3 -0
- data/spec/mongoid/timestamps/updated/short_spec.rb +3 -0
- data/spec/mongoid/timestamps/updated_spec.rb +3 -0
- data/spec/mongoid/timestamps_spec.rb +3 -0
- data/spec/mongoid/touchable_spec.rb +575 -0
- data/spec/mongoid/touchable_spec_models.rb +52 -0
- data/spec/mongoid/traversable_spec.rb +1103 -0
- data/spec/mongoid/validatable/associated_spec.rb +4 -1
- data/spec/mongoid/validatable/format_spec.rb +3 -0
- data/spec/mongoid/validatable/length_spec.rb +3 -0
- data/spec/mongoid/validatable/numericality_spec.rb +3 -0
- data/spec/mongoid/validatable/presence_spec.rb +10 -6
- data/spec/mongoid/validatable/uniqueness_spec.rb +36 -6
- data/spec/mongoid/validatable_spec.rb +4 -1
- data/spec/mongoid_spec.rb +3 -0
- data/spec/rails/controller_extension/controller_runtime_spec.rb +4 -1
- data/spec/rails/mongoid_spec.rb +5 -2
- data/spec/shared/LICENSE +20 -0
- data/spec/shared/bin/get-mongodb-download-url +17 -0
- data/spec/shared/bin/s3-copy +45 -0
- data/spec/shared/bin/s3-upload +69 -0
- data/spec/shared/lib/mrss/child_process_helper.rb +80 -0
- data/spec/shared/lib/mrss/cluster_config.rb +226 -0
- data/spec/shared/lib/mrss/constraints.rb +368 -0
- data/spec/shared/lib/mrss/docker_runner.rb +271 -0
- data/spec/shared/lib/mrss/lite_constraints.rb +191 -0
- data/spec/shared/lib/mrss/server_version_registry.rb +115 -0
- data/spec/shared/lib/mrss/spec_organizer.rb +179 -0
- data/spec/shared/lib/mrss/utils.rb +15 -0
- data/spec/shared/share/Dockerfile.erb +322 -0
- data/spec/shared/share/haproxy-1.conf +16 -0
- data/spec/shared/share/haproxy-2.conf +17 -0
- data/spec/shared/shlib/distro.sh +73 -0
- data/spec/shared/shlib/server.sh +317 -0
- data/spec/shared/shlib/set_env.sh +131 -0
- data/spec/spec_helper.rb +65 -58
- data/spec/support/authorization.rb +3 -0
- data/spec/support/client_registry.rb +9 -0
- data/spec/support/constraints.rb +54 -0
- data/spec/support/expectations.rb +22 -3
- data/spec/support/helpers.rb +11 -0
- data/spec/support/macros.rb +21 -0
- data/spec/support/models/account.rb +39 -0
- data/spec/support/models/acolyte.rb +20 -0
- data/spec/support/models/actor.rb +21 -0
- data/spec/support/models/actress.rb +5 -0
- data/spec/support/models/address.rb +86 -0
- data/spec/support/models/address_component.rb +8 -0
- data/spec/support/models/address_number.rb +9 -0
- data/spec/support/models/agency.rb +8 -0
- data/spec/support/models/agent.rb +19 -0
- data/spec/support/models/album.rb +21 -0
- data/spec/support/models/alert.rb +10 -0
- data/spec/support/models/animal.rb +29 -0
- data/spec/support/models/answer.rb +9 -0
- data/spec/support/models/appointment.rb +10 -0
- data/spec/support/models/armrest.rb +10 -0
- data/spec/support/models/array_field.rb +8 -0
- data/spec/support/models/article.rb +15 -0
- data/spec/support/models/artist.rb +90 -0
- data/spec/support/models/artwork.rb +7 -0
- data/spec/support/models/audio.rb +8 -0
- data/spec/support/models/augmentation.rb +14 -0
- data/spec/support/models/author.rb +9 -0
- data/spec/support/models/baby.rb +7 -0
- data/spec/support/models/band.rb +34 -0
- data/spec/support/models/bar.rb +13 -0
- data/spec/support/models/basic.rb +9 -0
- data/spec/support/models/bed.rb +4 -0
- data/spec/support/models/big_palette.rb +5 -0
- data/spec/support/models/birthday.rb +16 -0
- data/spec/support/models/bolt.rb +8 -0
- data/spec/support/models/bomb.rb +7 -0
- data/spec/support/models/book.rb +19 -0
- data/spec/support/models/breed.rb +7 -0
- data/spec/support/models/browser.rb +9 -0
- data/spec/support/models/building.rb +9 -0
- data/spec/support/models/building_address.rb +10 -0
- data/spec/support/models/bus.rb +10 -0
- data/spec/support/models/business.rb +8 -0
- data/spec/support/models/callback_test.rb +12 -0
- data/spec/support/models/canvas.rb +28 -0
- data/spec/support/models/car.rb +4 -0
- data/spec/support/models/cat.rb +11 -0
- data/spec/support/models/category.rb +11 -0
- data/spec/support/models/child.rb +7 -0
- data/spec/support/models/child_doc.rb +25 -0
- data/spec/support/models/church.rb +9 -0
- data/spec/support/models/circle.rb +6 -0
- data/spec/support/models/circuit.rb +7 -0
- data/spec/support/models/circus.rb +10 -0
- data/spec/support/models/code.rb +14 -0
- data/spec/support/models/coding/pull_request.rb +12 -0
- data/spec/support/models/coding.rb +4 -0
- data/spec/support/models/comment.rb +19 -0
- data/spec/support/models/company.rb +8 -0
- data/spec/support/models/consumption_period.rb +10 -0
- data/spec/support/models/contextable_item.rb +8 -0
- data/spec/support/models/contractor.rb +8 -0
- data/spec/support/models/cookie.rb +9 -0
- data/spec/support/models/country_code.rb +11 -0
- data/spec/support/models/courier_job.rb +7 -0
- data/spec/support/models/crate.rb +13 -0
- data/spec/support/models/customer.rb +11 -0
- data/spec/support/models/customer_address.rb +12 -0
- data/spec/support/models/deed.rb +8 -0
- data/spec/support/models/definition.rb +12 -0
- data/spec/support/models/delegating_patient.rb +16 -0
- data/spec/support/models/description.rb +14 -0
- data/spec/support/models/dictionary.rb +19 -0
- data/spec/support/models/division.rb +13 -0
- data/spec/support/models/doctor.rb +15 -0
- data/spec/support/models/dog.rb +10 -0
- data/spec/support/models/dokument.rb +9 -0
- data/spec/support/models/draft.rb +12 -0
- data/spec/support/models/dragon.rb +7 -0
- data/spec/support/models/driver.rb +10 -0
- data/spec/support/models/drug.rb +9 -0
- data/spec/support/models/dungeon.rb +7 -0
- data/spec/support/models/edit.rb +8 -0
- data/spec/support/models/email.rb +9 -0
- data/spec/support/models/employer.rb +8 -0
- data/spec/support/models/entry.rb +9 -0
- data/spec/support/models/eraser.rb +4 -0
- data/spec/support/models/even.rb +10 -0
- data/spec/support/models/event.rb +25 -0
- data/spec/support/models/exhibition.rb +7 -0
- data/spec/support/models/exhibitor.rb +9 -0
- data/spec/support/models/explosion.rb +7 -0
- data/spec/support/models/eye.rb +12 -0
- data/spec/support/models/eye_bowl.rb +12 -0
- data/spec/support/models/face.rb +11 -0
- data/spec/support/models/favorite.rb +9 -0
- data/spec/support/models/filesystem.rb +8 -0
- data/spec/support/models/fire_hydrant.rb +9 -0
- data/spec/support/models/firefox.rb +7 -0
- data/spec/support/models/fish.rb +10 -0
- data/spec/support/models/folder.rb +10 -0
- data/spec/support/models/folder_item.rb +12 -0
- data/spec/support/models/fruits.rb +37 -0
- data/spec/support/models/game.rb +22 -0
- data/spec/support/models/ghost.rb +10 -0
- data/spec/support/models/guitar.rb +5 -0
- data/spec/support/models/hole.rb +13 -0
- data/spec/support/models/home.rb +7 -0
- data/spec/support/models/house.rb +9 -0
- data/spec/support/models/html_writer.rb +6 -0
- data/spec/support/models/id_key.rb +9 -0
- data/spec/support/models/idnodef.rb +8 -0
- data/spec/support/models/image.rb +25 -0
- data/spec/support/models/implant.rb +19 -0
- data/spec/support/models/instrument.rb +9 -0
- data/spec/support/models/item.rb +11 -0
- data/spec/support/models/jar.rb +10 -0
- data/spec/support/models/kaleidoscope.rb +9 -0
- data/spec/support/models/kangaroo.rb +7 -0
- data/spec/support/models/label.rb +50 -0
- data/spec/support/models/language.rb +8 -0
- data/spec/support/models/lat_lng.rb +18 -0
- data/spec/support/models/league.rb +14 -0
- data/spec/support/models/learner.rb +5 -0
- data/spec/support/models/line_item.rb +9 -0
- data/spec/support/models/location.rb +11 -0
- data/spec/support/models/login.rb +11 -0
- data/spec/support/models/manufacturer.rb +10 -0
- data/spec/support/models/meat.rb +7 -0
- data/spec/support/models/membership.rb +7 -0
- data/spec/support/models/message.rb +14 -0
- data/spec/support/models/minim.rb +7 -0
- data/spec/support/models/mixed_drink.rb +7 -0
- data/spec/support/models/mop.rb +25 -0
- data/spec/support/models/movie.rb +16 -0
- data/spec/support/models/my_hash.rb +5 -0
- data/spec/support/models/name.rb +27 -0
- data/spec/support/models/name_only.rb +9 -0
- data/spec/support/models/node.rb +8 -0
- data/spec/support/models/note.rb +20 -0
- data/spec/support/models/nut.rb +8 -0
- data/spec/support/models/odd.rb +10 -0
- data/spec/support/models/order.rb +11 -0
- data/spec/support/models/ordered_post.rb +14 -0
- data/spec/support/models/ordered_preference.rb +9 -0
- data/spec/support/models/oscar.rb +17 -0
- data/spec/support/models/other_owner_object.rb +5 -0
- data/spec/support/models/override.rb +19 -0
- data/spec/support/models/ownable.rb +9 -0
- data/spec/support/models/owner.rb +11 -0
- data/spec/support/models/pack.rb +6 -0
- data/spec/support/models/page.rb +19 -0
- data/spec/support/models/page_question.rb +7 -0
- data/spec/support/models/palette.rb +10 -0
- data/spec/support/models/parent.rb +8 -0
- data/spec/support/models/parent_doc.rb +9 -0
- data/spec/support/models/passport.rb +9 -0
- data/spec/support/models/patient.rb +12 -0
- data/spec/support/models/pdf_writer.rb +6 -0
- data/spec/support/models/pencil.rb +4 -0
- data/spec/support/models/person.rb +230 -0
- data/spec/support/models/pet.rb +26 -0
- data/spec/support/models/pet_owner.rb +9 -0
- data/spec/support/models/phone.rb +13 -0
- data/spec/support/models/piano.rb +5 -0
- data/spec/support/models/pizza.rb +10 -0
- data/spec/support/models/player.rb +38 -0
- data/spec/support/models/post.rb +53 -0
- data/spec/support/models/post_genre.rb +9 -0
- data/spec/support/models/powerup.rb +14 -0
- data/spec/support/models/preference.rb +12 -0
- data/spec/support/models/princess.rb +13 -0
- data/spec/support/models/product.rb +20 -0
- data/spec/support/models/profile.rb +18 -0
- data/spec/support/models/pronunciation.rb +8 -0
- data/spec/support/models/pub.rb +9 -0
- data/spec/support/models/publication/encyclopedia.rb +12 -0
- data/spec/support/models/publication/review.rb +14 -0
- data/spec/support/models/publication.rb +5 -0
- data/spec/support/models/purchase.rb +7 -0
- data/spec/support/models/question.rb +11 -0
- data/spec/support/models/quiz.rb +10 -0
- data/spec/support/models/rating.rb +11 -0
- data/spec/support/models/record.rb +55 -0
- data/spec/support/models/registry.rb +7 -0
- data/spec/support/models/role.rb +10 -0
- data/spec/support/models/root_category.rb +7 -0
- data/spec/support/models/sandwich.rb +12 -0
- data/spec/support/models/scheduler.rb +10 -0
- data/spec/support/models/scribe.rb +8 -0
- data/spec/support/models/sealer.rb +8 -0
- data/spec/support/models/seat.rb +25 -0
- data/spec/support/models/seo.rb +10 -0
- data/spec/support/models/series.rb +8 -0
- data/spec/support/models/server.rb +16 -0
- data/spec/support/models/service.rb +25 -0
- data/spec/support/models/shape.rb +15 -0
- data/spec/support/models/shelf.rb +8 -0
- data/spec/support/models/shipment_address.rb +6 -0
- data/spec/support/models/shipping_container.rb +8 -0
- data/spec/support/models/shipping_pack.rb +6 -0
- data/spec/support/models/shirt.rb +12 -0
- data/spec/support/models/shop.rb +9 -0
- data/spec/support/models/short_agent.rb +7 -0
- data/spec/support/models/short_quiz.rb +8 -0
- data/spec/support/models/simple.rb +8 -0
- data/spec/support/models/slave.rb +9 -0
- data/spec/support/models/song.rb +11 -0
- data/spec/support/models/sound.rb +8 -0
- data/spec/support/models/spacer.rb +8 -0
- data/spec/support/models/square.rb +7 -0
- data/spec/support/models/staff.rb +10 -0
- data/spec/support/models/store_as_dup_test1.rb +8 -0
- data/spec/support/models/store_as_dup_test2.rb +8 -0
- data/spec/support/models/store_as_dup_test3.rb +8 -0
- data/spec/support/models/store_as_dup_test4.rb +8 -0
- data/spec/support/models/strategy.rb +6 -0
- data/spec/support/models/sub_item.rb +6 -0
- data/spec/support/models/subscription.rb +8 -0
- data/spec/support/models/survey.rb +8 -0
- data/spec/support/models/symptom.rb +9 -0
- data/spec/support/models/system_role.rb +7 -0
- data/spec/support/models/tag.rb +11 -0
- data/spec/support/models/target.rb +8 -0
- data/spec/support/models/template.rb +8 -0
- data/spec/support/models/thing.rb +12 -0
- data/spec/support/models/threadlocker.rb +8 -0
- data/spec/support/models/title.rb +6 -0
- data/spec/support/models/tool.rb +11 -0
- data/spec/support/models/topping.rb +8 -0
- data/spec/support/models/toy.rb +10 -0
- data/spec/support/models/track.rb +41 -0
- data/spec/support/models/translation.rb +8 -0
- data/spec/support/models/tree.rb +12 -0
- data/spec/support/models/truck.rb +8 -0
- data/spec/support/models/updatable.rb +8 -0
- data/spec/support/models/user.rb +24 -0
- data/spec/support/models/user_account.rb +13 -0
- data/spec/support/models/validation_callback.rb +13 -0
- data/spec/support/models/vehicle.rb +19 -0
- data/spec/support/models/version.rb +8 -0
- data/spec/support/models/vertex.rb +9 -0
- data/spec/support/models/vet_visit.rb +8 -0
- data/spec/support/models/video.rb +16 -0
- data/spec/support/models/video_game.rb +4 -0
- data/spec/support/models/washer.rb +8 -0
- data/spec/support/models/weapon.rb +14 -0
- data/spec/support/models/wiki_page.rb +18 -0
- data/spec/support/models/word.rb +18 -0
- data/spec/support/models/word_origin.rb +14 -0
- data/spec/support/models/writer.rb +14 -0
- data/spec/support/session_registry.rb +50 -0
- data/spec/support/shared/time.rb +54 -0
- data/spec/support/spec_config.rb +58 -0
- data.tar.gz.sig +0 -0
- metadata +1226 -814
- metadata.gz.sig +0 -0
- data/lib/mongoid/criteria/queryable/forwardable.rb +0 -65
- data/lib/mongoid/matchable/all.rb +0 -27
- data/lib/mongoid/matchable/and.rb +0 -30
- data/lib/mongoid/matchable/default.rb +0 -72
- data/lib/mongoid/matchable/elem_match.rb +0 -28
- data/lib/mongoid/matchable/exists.rb +0 -23
- data/lib/mongoid/matchable/gt.rb +0 -23
- data/lib/mongoid/matchable/gte.rb +0 -23
- data/lib/mongoid/matchable/in.rb +0 -24
- data/lib/mongoid/matchable/lt.rb +0 -23
- data/lib/mongoid/matchable/lte.rb +0 -23
- data/lib/mongoid/matchable/ne.rb +0 -21
- data/lib/mongoid/matchable/nin.rb +0 -22
- data/lib/mongoid/matchable/nor.rb +0 -37
- data/lib/mongoid/matchable/or.rb +0 -33
- data/lib/mongoid/matchable/regexp.rb +0 -27
- data/lib/mongoid/matchable/size.rb +0 -21
- data/lib/mongoid/relations/accessors.rb +0 -267
- data/lib/mongoid/relations/auto_save.rb +0 -94
- data/lib/mongoid/relations/binding.rb +0 -218
- data/lib/mongoid/relations/bindings/embedded/in.rb +0 -59
- data/lib/mongoid/relations/bindings/embedded/many.rb +0 -43
- data/lib/mongoid/relations/bindings/embedded/one.rb +0 -45
- data/lib/mongoid/relations/bindings/referenced/in.rb +0 -65
- data/lib/mongoid/relations/bindings/referenced/many.rb +0 -38
- data/lib/mongoid/relations/bindings/referenced/many_to_many.rb +0 -70
- data/lib/mongoid/relations/bindings/referenced/one.rb +0 -44
- data/lib/mongoid/relations/bindings.rb +0 -9
- data/lib/mongoid/relations/builder.rb +0 -57
- data/lib/mongoid/relations/builders/embedded/in.rb +0 -29
- data/lib/mongoid/relations/builders/embedded/many.rb +0 -36
- data/lib/mongoid/relations/builders/embedded/one.rb +0 -30
- data/lib/mongoid/relations/builders/nested_attributes/many.rb +0 -199
- data/lib/mongoid/relations/builders/nested_attributes/one.rb +0 -126
- data/lib/mongoid/relations/builders/referenced/in.rb +0 -26
- data/lib/mongoid/relations/builders/referenced/many.rb +0 -26
- data/lib/mongoid/relations/builders/referenced/many_to_many.rb +0 -39
- data/lib/mongoid/relations/builders/referenced/one.rb +0 -26
- data/lib/mongoid/relations/builders.rb +0 -106
- data/lib/mongoid/relations/cascading/delete.rb +0 -44
- data/lib/mongoid/relations/cascading/destroy.rb +0 -43
- data/lib/mongoid/relations/cascading/nullify.rb +0 -35
- data/lib/mongoid/relations/cascading/restrict.rb +0 -39
- data/lib/mongoid/relations/cascading.rb +0 -56
- data/lib/mongoid/relations/constraint.rb +0 -55
- data/lib/mongoid/relations/conversions.rb +0 -34
- data/lib/mongoid/relations/counter_cache.rb +0 -160
- data/lib/mongoid/relations/cyclic.rb +0 -107
- data/lib/mongoid/relations/eager/base.rb +0 -153
- data/lib/mongoid/relations/eager/belongs_to.rb +0 -31
- data/lib/mongoid/relations/eager/has_and_belongs_to_many.rb +0 -47
- data/lib/mongoid/relations/eager/has_many.rb +0 -38
- data/lib/mongoid/relations/eager/has_one.rb +0 -30
- data/lib/mongoid/relations/eager.rb +0 -36
- data/lib/mongoid/relations/embedded/batchable.rb +0 -384
- data/lib/mongoid/relations/embedded/in.rb +0 -241
- data/lib/mongoid/relations/embedded/many.rb +0 -683
- data/lib/mongoid/relations/embedded/one.rb +0 -235
- data/lib/mongoid/relations/macros.rb +0 -367
- data/lib/mongoid/relations/many.rb +0 -242
- data/lib/mongoid/relations/marshalable.rb +0 -32
- data/lib/mongoid/relations/metadata.rb +0 -1179
- data/lib/mongoid/relations/nested_builder.rb +0 -74
- data/lib/mongoid/relations/one.rb +0 -60
- data/lib/mongoid/relations/options.rb +0 -49
- data/lib/mongoid/relations/polymorphic.rb +0 -39
- data/lib/mongoid/relations/proxy.rb +0 -215
- data/lib/mongoid/relations/referenced/in.rb +0 -304
- data/lib/mongoid/relations/referenced/many.rb +0 -812
- data/lib/mongoid/relations/referenced/many_to_many.rb +0 -479
- data/lib/mongoid/relations/referenced/one.rb +0 -290
- data/lib/mongoid/relations/reflections.rb +0 -64
- data/lib/mongoid/relations/synchronization.rb +0 -169
- data/lib/mongoid/relations/targets/enumerable.rb +0 -493
- data/lib/mongoid/relations/targets.rb +0 -2
- data/lib/mongoid/relations/touchable.rb +0 -97
- data/lib/mongoid/relations.rb +0 -148
- data/spec/app/models/account.rb +0 -36
- data/spec/app/models/acolyte.rb +0 -17
- data/spec/app/models/actor.rb +0 -18
- data/spec/app/models/actress.rb +0 -2
- data/spec/app/models/address.rb +0 -79
- data/spec/app/models/address_component.rb +0 -5
- data/spec/app/models/address_number.rb +0 -6
- data/spec/app/models/agency.rb +0 -5
- data/spec/app/models/agent.rb +0 -16
- data/spec/app/models/album.rb +0 -18
- data/spec/app/models/alert.rb +0 -7
- data/spec/app/models/animal.rb +0 -25
- data/spec/app/models/answer.rb +0 -6
- data/spec/app/models/appointment.rb +0 -7
- data/spec/app/models/array_field.rb +0 -7
- data/spec/app/models/article.rb +0 -12
- data/spec/app/models/artist.rb +0 -87
- data/spec/app/models/artwork.rb +0 -4
- data/spec/app/models/audio.rb +0 -5
- data/spec/app/models/augmentation.rb +0 -11
- data/spec/app/models/author.rb +0 -6
- data/spec/app/models/baby.rb +0 -4
- data/spec/app/models/band.rb +0 -31
- data/spec/app/models/bar.rb +0 -10
- data/spec/app/models/basic.rb +0 -6
- data/spec/app/models/bed.rb +0 -1
- data/spec/app/models/big_palette.rb +0 -2
- data/spec/app/models/birthday.rb +0 -13
- data/spec/app/models/bomb.rb +0 -4
- data/spec/app/models/book.rb +0 -16
- data/spec/app/models/breed.rb +0 -4
- data/spec/app/models/browser.rb +0 -6
- data/spec/app/models/building.rb +0 -6
- data/spec/app/models/building_address.rb +0 -7
- data/spec/app/models/bus.rb +0 -7
- data/spec/app/models/business.rb +0 -5
- data/spec/app/models/callback_test.rb +0 -9
- data/spec/app/models/canvas.rb +0 -25
- data/spec/app/models/car.rb +0 -1
- data/spec/app/models/cat.rb +0 -8
- data/spec/app/models/category.rb +0 -8
- data/spec/app/models/child.rb +0 -4
- data/spec/app/models/child_doc.rb +0 -22
- data/spec/app/models/church.rb +0 -6
- data/spec/app/models/circle.rb +0 -3
- data/spec/app/models/circuit.rb +0 -4
- data/spec/app/models/circus.rb +0 -7
- data/spec/app/models/code.rb +0 -11
- data/spec/app/models/comment.rb +0 -16
- data/spec/app/models/company.rb +0 -5
- data/spec/app/models/consumption_period.rb +0 -7
- data/spec/app/models/contextable_item.rb +0 -5
- data/spec/app/models/contractor.rb +0 -5
- data/spec/app/models/cookie.rb +0 -6
- data/spec/app/models/country_code.rb +0 -8
- data/spec/app/models/courier_job.rb +0 -4
- data/spec/app/models/definition.rb +0 -9
- data/spec/app/models/description.rb +0 -11
- data/spec/app/models/dictionary.rb +0 -10
- data/spec/app/models/division.rb +0 -10
- data/spec/app/models/doctor.rb +0 -12
- data/spec/app/models/dog.rb +0 -7
- data/spec/app/models/dokument.rb +0 -6
- data/spec/app/models/draft.rb +0 -9
- data/spec/app/models/dragon.rb +0 -4
- data/spec/app/models/driver.rb +0 -7
- data/spec/app/models/drug.rb +0 -6
- data/spec/app/models/dungeon.rb +0 -4
- data/spec/app/models/edit.rb +0 -5
- data/spec/app/models/email.rb +0 -6
- data/spec/app/models/employer.rb +0 -5
- data/spec/app/models/entry.rb +0 -6
- data/spec/app/models/eraser.rb +0 -1
- data/spec/app/models/even.rb +0 -7
- data/spec/app/models/event.rb +0 -22
- data/spec/app/models/exhibition.rb +0 -4
- data/spec/app/models/exhibitor.rb +0 -6
- data/spec/app/models/explosion.rb +0 -4
- data/spec/app/models/eye.rb +0 -9
- data/spec/app/models/eye_bowl.rb +0 -9
- data/spec/app/models/face.rb +0 -8
- data/spec/app/models/favorite.rb +0 -6
- data/spec/app/models/filesystem.rb +0 -5
- data/spec/app/models/fire_hydrant.rb +0 -6
- data/spec/app/models/firefox.rb +0 -4
- data/spec/app/models/fish.rb +0 -7
- data/spec/app/models/folder.rb +0 -7
- data/spec/app/models/folder_item.rb +0 -9
- data/spec/app/models/fruits.rb +0 -34
- data/spec/app/models/game.rb +0 -19
- data/spec/app/models/ghost.rb +0 -7
- data/spec/app/models/home.rb +0 -4
- data/spec/app/models/house.rb +0 -6
- data/spec/app/models/html_writer.rb +0 -3
- data/spec/app/models/id_key.rb +0 -6
- data/spec/app/models/image.rb +0 -22
- data/spec/app/models/implant.rb +0 -16
- data/spec/app/models/item.rb +0 -8
- data/spec/app/models/jar.rb +0 -7
- data/spec/app/models/kaleidoscope.rb +0 -6
- data/spec/app/models/kangaroo.rb +0 -4
- data/spec/app/models/label.rb +0 -47
- data/spec/app/models/language.rb +0 -5
- data/spec/app/models/lat_lng.rb +0 -15
- data/spec/app/models/league.rb +0 -11
- data/spec/app/models/learner.rb +0 -2
- data/spec/app/models/line_item.rb +0 -6
- data/spec/app/models/location.rb +0 -8
- data/spec/app/models/login.rb +0 -8
- data/spec/app/models/manufacturer.rb +0 -7
- data/spec/app/models/meat.rb +0 -4
- data/spec/app/models/membership.rb +0 -4
- data/spec/app/models/message.rb +0 -11
- data/spec/app/models/mixed_drink.rb +0 -4
- data/spec/app/models/movie.rb +0 -13
- data/spec/app/models/my_hash.rb +0 -2
- data/spec/app/models/name.rb +0 -24
- data/spec/app/models/node.rb +0 -5
- data/spec/app/models/note.rb +0 -17
- data/spec/app/models/odd.rb +0 -7
- data/spec/app/models/ordered_post.rb +0 -11
- data/spec/app/models/ordered_preference.rb +0 -6
- data/spec/app/models/oscar.rb +0 -14
- data/spec/app/models/override.rb +0 -16
- data/spec/app/models/ownable.rb +0 -6
- data/spec/app/models/owner.rb +0 -6
- data/spec/app/models/pack.rb +0 -3
- data/spec/app/models/page.rb +0 -16
- data/spec/app/models/page_question.rb +0 -4
- data/spec/app/models/palette.rb +0 -7
- data/spec/app/models/parent.rb +0 -5
- data/spec/app/models/parent_doc.rb +0 -6
- data/spec/app/models/passport.rb +0 -5
- data/spec/app/models/patient.rb +0 -9
- data/spec/app/models/pdf_writer.rb +0 -3
- data/spec/app/models/pencil.rb +0 -1
- data/spec/app/models/person.rb +0 -207
- data/spec/app/models/pet.rb +0 -23
- data/spec/app/models/pet_owner.rb +0 -6
- data/spec/app/models/phone.rb +0 -9
- data/spec/app/models/pizza.rb +0 -7
- data/spec/app/models/player.rb +0 -35
- data/spec/app/models/post.rb +0 -50
- data/spec/app/models/post_genre.rb +0 -6
- data/spec/app/models/powerup.rb +0 -11
- data/spec/app/models/preference.rb +0 -9
- data/spec/app/models/princess.rb +0 -10
- data/spec/app/models/product.rb +0 -17
- data/spec/app/models/profile.rb +0 -5
- data/spec/app/models/pronunciation.rb +0 -5
- data/spec/app/models/pub.rb +0 -6
- data/spec/app/models/purchase.rb +0 -4
- data/spec/app/models/question.rb +0 -8
- data/spec/app/models/quiz.rb +0 -7
- data/spec/app/models/rating.rb +0 -8
- data/spec/app/models/record.rb +0 -52
- data/spec/app/models/registry.rb +0 -4
- data/spec/app/models/role.rb +0 -7
- data/spec/app/models/root_category.rb +0 -4
- data/spec/app/models/sandwich.rb +0 -9
- data/spec/app/models/scheduler.rb +0 -7
- data/spec/app/models/seo.rb +0 -7
- data/spec/app/models/series.rb +0 -4
- data/spec/app/models/server.rb +0 -13
- data/spec/app/models/service.rb +0 -22
- data/spec/app/models/shape.rb +0 -12
- data/spec/app/models/shelf.rb +0 -5
- data/spec/app/models/shipment_address.rb +0 -2
- data/spec/app/models/shipping_container.rb +0 -5
- data/spec/app/models/shipping_pack.rb +0 -3
- data/spec/app/models/shop.rb +0 -6
- data/spec/app/models/short_agent.rb +0 -4
- data/spec/app/models/short_quiz.rb +0 -5
- data/spec/app/models/simple.rb +0 -5
- data/spec/app/models/slave.rb +0 -6
- data/spec/app/models/song.rb +0 -8
- data/spec/app/models/sound.rb +0 -5
- data/spec/app/models/square.rb +0 -4
- data/spec/app/models/staff.rb +0 -7
- data/spec/app/models/store_as_dup_test1.rb +0 -5
- data/spec/app/models/store_as_dup_test2.rb +0 -5
- data/spec/app/models/strategy.rb +0 -3
- data/spec/app/models/sub_item.rb +0 -3
- data/spec/app/models/subscription.rb +0 -5
- data/spec/app/models/survey.rb +0 -5
- data/spec/app/models/symptom.rb +0 -6
- data/spec/app/models/tag.rb +0 -8
- data/spec/app/models/target.rb +0 -5
- data/spec/app/models/template.rb +0 -5
- data/spec/app/models/thing.rb +0 -9
- data/spec/app/models/title.rb +0 -3
- data/spec/app/models/tool.rb +0 -8
- data/spec/app/models/topping.rb +0 -5
- data/spec/app/models/track.rb +0 -38
- data/spec/app/models/translation.rb +0 -5
- data/spec/app/models/tree.rb +0 -9
- data/spec/app/models/truck.rb +0 -3
- data/spec/app/models/user.rb +0 -21
- data/spec/app/models/user_account.rb +0 -10
- data/spec/app/models/validation_callback.rb +0 -10
- data/spec/app/models/vehicle.rb +0 -11
- data/spec/app/models/version.rb +0 -5
- data/spec/app/models/vet_visit.rb +0 -5
- data/spec/app/models/video.rb +0 -13
- data/spec/app/models/video_game.rb +0 -1
- data/spec/app/models/weapon.rb +0 -11
- data/spec/app/models/wiki_page.rb +0 -14
- data/spec/app/models/word.rb +0 -15
- data/spec/app/models/word_origin.rb +0 -11
- data/spec/app/models/writer.rb +0 -11
- data/spec/mongoid/criteria/queryable/forwardable_spec.rb +0 -87
- data/spec/mongoid/fields/internal/foreign_keys/array_spec.rb +0 -184
- data/spec/mongoid/fields/internal/foreign_keys/object_spec.rb +0 -201
- data/spec/mongoid/matchable/all_spec.rb +0 -31
- data/spec/mongoid/matchable/and_spec.rb +0 -187
- data/spec/mongoid/matchable/default_spec.rb +0 -130
- data/spec/mongoid/matchable/elem_match_spec.rb +0 -86
- data/spec/mongoid/matchable/exists_spec.rb +0 -57
- data/spec/mongoid/matchable/gt_spec.rb +0 -86
- data/spec/mongoid/matchable/gte_spec.rb +0 -84
- data/spec/mongoid/matchable/in_spec.rb +0 -49
- data/spec/mongoid/matchable/lt_spec.rb +0 -85
- data/spec/mongoid/matchable/lte_spec.rb +0 -85
- data/spec/mongoid/matchable/ne_spec.rb +0 -46
- data/spec/mongoid/matchable/nin_spec.rb +0 -48
- data/spec/mongoid/matchable/nor_spec.rb +0 -209
- data/spec/mongoid/matchable/or_spec.rb +0 -131
- data/spec/mongoid/matchable/regexp_spec.rb +0 -59
- data/spec/mongoid/matchable/size_spec.rb +0 -25
- data/spec/mongoid/matchable_spec.rb +0 -853
- data/spec/mongoid/relations/accessors_spec.rb +0 -821
- data/spec/mongoid/relations/auto_save_spec.rb +0 -314
- data/spec/mongoid/relations/bindings/embedded/in_spec.rb +0 -171
- data/spec/mongoid/relations/bindings/embedded/many_spec.rb +0 -54
- data/spec/mongoid/relations/bindings/embedded/one_spec.rb +0 -77
- data/spec/mongoid/relations/bindings/referenced/in_spec.rb +0 -241
- data/spec/mongoid/relations/bindings/referenced/many_spec.rb +0 -153
- data/spec/mongoid/relations/bindings/referenced/many_to_many_spec.rb +0 -178
- data/spec/mongoid/relations/bindings/referenced/one_spec.rb +0 -131
- data/spec/mongoid/relations/builders/embedded/in_spec.rb +0 -34
- data/spec/mongoid/relations/builders/embedded/many_spec.rb +0 -132
- data/spec/mongoid/relations/builders/embedded/one_spec.rb +0 -99
- data/spec/mongoid/relations/builders/nested_attributes/many_spec.rb +0 -233
- data/spec/mongoid/relations/builders/nested_attributes/one_spec.rb +0 -250
- data/spec/mongoid/relations/builders/referenced/in_spec.rb +0 -230
- data/spec/mongoid/relations/builders/referenced/many_spec.rb +0 -137
- data/spec/mongoid/relations/builders/referenced/many_to_many_spec.rb +0 -178
- data/spec/mongoid/relations/builders/referenced/one_spec.rb +0 -111
- data/spec/mongoid/relations/builders_spec.rb +0 -253
- data/spec/mongoid/relations/cascading/delete_spec.rb +0 -101
- data/spec/mongoid/relations/cascading/destroy_spec.rb +0 -47
- data/spec/mongoid/relations/cascading/nullify_spec.rb +0 -32
- data/spec/mongoid/relations/cascading/restrict_spec.rb +0 -68
- data/spec/mongoid/relations/cascading_spec.rb +0 -355
- data/spec/mongoid/relations/constraint_spec.rb +0 -75
- data/spec/mongoid/relations/conversions_spec.rb +0 -128
- data/spec/mongoid/relations/counter_cache_spec.rb +0 -450
- data/spec/mongoid/relations/cyclic_spec.rb +0 -178
- data/spec/mongoid/relations/eager/belongs_to_spec.rb +0 -163
- data/spec/mongoid/relations/eager/has_and_belongs_to_many_spec.rb +0 -133
- data/spec/mongoid/relations/eager/has_many_spec.rb +0 -244
- data/spec/mongoid/relations/eager/has_one_spec.rb +0 -163
- data/spec/mongoid/relations/eager_spec.rb +0 -279
- data/spec/mongoid/relations/embedded/dirty_spec.rb +0 -65
- data/spec/mongoid/relations/embedded/in_spec.rb +0 -579
- data/spec/mongoid/relations/embedded/many_spec.rb +0 -4412
- data/spec/mongoid/relations/embedded/one_spec.rb +0 -1068
- data/spec/mongoid/relations/macros_spec.rb +0 -1039
- data/spec/mongoid/relations/metadata_spec.rb +0 -1985
- data/spec/mongoid/relations/options_spec.rb +0 -35
- data/spec/mongoid/relations/polymorphic_spec.rb +0 -128
- data/spec/mongoid/relations/referenced/in_spec.rb +0 -1366
- data/spec/mongoid/relations/referenced/many_spec.rb +0 -3816
- data/spec/mongoid/relations/referenced/many_to_many_spec.rb +0 -3577
- data/spec/mongoid/relations/referenced/one_spec.rb +0 -1240
- data/spec/mongoid/relations/reflections_spec.rb +0 -101
- data/spec/mongoid/relations/synchronization_spec.rb +0 -495
- data/spec/mongoid/relations/targets/enumerable_spec.rb +0 -1825
- data/spec/mongoid/relations/touchable_spec.rb +0 -402
- data/spec/mongoid/relations_spec.rb +0 -189
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 27ef7fb0ba8610ab6cd4cf814a5a47361fe909247a85535c807d90dbf70c1563
|
|
4
|
+
data.tar.gz: fe110c6f5439f985325f3df374bfc87fa5c9133eb97cac501dd9166b8d45cf60
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 3f963e5e7fb3a7705d36ce9a6d24fb09106ca2ccca52d1a2cf24ddbf9a98773206d315374d4ecc40ad6a208be75ad0de5e44a6d43285faa3304ec641d91de3fa
|
|
7
|
+
data.tar.gz: 167e2188b8801cb0a4eb15ec98727e3f331eab9f0588923f80f5f3cf2e29eec8b9cf6a01ace242d6412ea578a9fa7e4de309278a309c0d84b5cc07091f74828f
|
checksums.yaml.gz.sig
CHANGED
|
Binary file
|
data/CHANGELOG.md
CHANGED
|
@@ -547,7 +547,7 @@ child elements.
|
|
|
547
547
|
|
|
548
548
|
* \#3432 Fixed mongoization of DateTime losing precision.
|
|
549
549
|
|
|
550
|
-
* \#3397 Fixed $ne matcher for embedded documents to match server
|
|
550
|
+
* \#3397 Fixed $ne matcher for embedded documents to match server behavior.
|
|
551
551
|
|
|
552
552
|
* \#3352 Allow named scopes named "open" to work through 1-n relations.
|
|
553
553
|
|
|
@@ -1305,8 +1305,8 @@ child elements.
|
|
|
1305
1305
|
validation fails. Instead, they get flagged for destruction and then the
|
|
1306
1306
|
removal occurs upon the parent passing validation and going to persist.
|
|
1307
1307
|
|
|
1308
|
-
Note this is a
|
|
1309
|
-
the previous
|
|
1308
|
+
Note this is a behavior change, but since the API does not change and
|
|
1309
|
+
the previous behavior was incorrect and did not match AR this was able
|
|
1310
1310
|
to go into a point release.
|
|
1311
1311
|
|
|
1312
1312
|
## 3.0.9
|
|
@@ -1848,18 +1848,18 @@ child elements.
|
|
|
1848
1848
|
set a child on a relation without the proper inverse_of definitions
|
|
1849
1849
|
due to Mongoid not being able to determine it.
|
|
1850
1850
|
|
|
1851
|
-
class
|
|
1851
|
+
class Car
|
|
1852
1852
|
include Mongoid::Document
|
|
1853
|
-
embeds_one :
|
|
1853
|
+
embeds_one :engine, class_name: "Motor"
|
|
1854
1854
|
end
|
|
1855
1855
|
|
|
1856
|
-
class
|
|
1856
|
+
class Motor
|
|
1857
1857
|
include Mongoid::Document
|
|
1858
|
-
embedded_in :
|
|
1858
|
+
embedded_in :machine, class_name: "Car"
|
|
1859
1859
|
end
|
|
1860
1860
|
|
|
1861
|
-
|
|
1862
|
-
|
|
1861
|
+
car = Car.new
|
|
1862
|
+
car.engine = Motor.new # raises an InverseNotFound error.
|
|
1863
1863
|
|
|
1864
1864
|
* \#1680 Polymorphic relations now use `*_type` keys in lookup queries.
|
|
1865
1865
|
|
|
@@ -2345,7 +2345,7 @@ child elements.
|
|
|
2345
2345
|
|
|
2346
2346
|
* \#463 `Document#upsert` is no longer aliased to `Document#save` and now
|
|
2347
2347
|
actually performs a proper MongoDB upsert command when called. If you
|
|
2348
|
-
were using this method before and want the same
|
|
2348
|
+
were using this method before and want the same behavior, please switch
|
|
2349
2349
|
to `save`.
|
|
2350
2350
|
|
|
2351
2351
|
band = Band.new(name: "Tool")
|
|
@@ -2401,7 +2401,7 @@ child elements.
|
|
|
2401
2401
|
* \#1972 `added`, `loaded`, and `unloaded` can now be valid scope names on a
|
|
2402
2402
|
document that is part of a 1-n relation.
|
|
2403
2403
|
|
|
2404
|
-
* \#1952/#1950 `#all_in`
|
|
2404
|
+
* \#1952/#1950 `#all_in` behavior on embedded documents now properly matches
|
|
2405
2405
|
root documents when passing an empty array. (Hans Hasselberg)
|
|
2406
2406
|
|
|
2407
2407
|
* \#1941/#1939 `Model.find_by` now returns nil if raise not found error is
|
|
@@ -3201,7 +3201,7 @@ child elements.
|
|
|
3201
3201
|
* \#1273 Mongoid.preload_models now checks if preload configuration option is set,
|
|
3202
3202
|
where Mongoid.load_models always loads everything. (Ryan McGeary)
|
|
3203
3203
|
|
|
3204
|
-
* \#1244 Has one relations now adhere to default dependant
|
|
3204
|
+
* \#1244 Has one relations now adhere to default dependant behavior.
|
|
3205
3205
|
|
|
3206
3206
|
* \#1225 Fixed delayed persistence of embedded documents via $set.
|
|
3207
3207
|
|
|
@@ -3352,7 +3352,7 @@ validations error from before.
|
|
|
3352
3352
|
|
|
3353
3353
|
* \#1173 has_many relations no longer delete all documents on a set of the relation
|
|
3354
3354
|
(= [ doc_one, doc_two ]) but look to the dependent option to determine what
|
|
3355
|
-
|
|
3355
|
+
behavior should occur. :delete and :destroy will behave as before, :nullify and
|
|
3356
3356
|
no option specified will both nullify the old documents without deleting.
|
|
3357
3357
|
|
|
3358
3358
|
* \#1142, \#767 Embedded relations no longer immediately persist atomically
|
data/LICENSE
CHANGED
data/README.md
CHANGED
|
@@ -1,37 +1,46 @@
|
|
|
1
|
-
|
|
2
|
-
[![
|
|
3
|
-
[![
|
|
4
|
-
|
|
1
|
+
Mongoid
|
|
2
|
+
[![Gem Version][rubygems-img]][rubygems-url]
|
|
3
|
+
[![Inline docs][inch-img]][inch-url]
|
|
4
|
+
====
|
|
5
5
|
|
|
6
|
-
Mongoid is an ODM (Object-Document
|
|
6
|
+
Mongoid is an ODM (Object-Document Mapper) framework for MongoDB in Ruby.
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
Issues are now in the [Mongoid Jira project](https://jira.mongodb.org/browse/MONGOID/).
|
|
8
|
+
Documentation
|
|
9
|
+
-------------
|
|
12
10
|
|
|
13
|
-
|
|
14
|
-
|
|
11
|
+
Mongoid has [extensive user documentation](https://docs.mongodb.com/mongoid/current/).
|
|
12
|
+
[API documentation](http://api.mongodb.com/mongoid/current/) is also available.
|
|
15
13
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
* [Stackoverflow](http://stackoverflow.com/questions/tagged/mongoid)
|
|
19
|
-
* [#mongoid](http://webchat.freenode.net/?channels=mongoid) on freenode IRC
|
|
14
|
+
Mongoid is built on top of the MongoDB Ruby driver which has
|
|
15
|
+
[its own user documentation](https://docs.mongodb.com/ruby-driver/current/).
|
|
20
16
|
|
|
21
17
|
Compatibility
|
|
22
18
|
-------------
|
|
23
19
|
|
|
24
|
-
Mongoid is tested against
|
|
20
|
+
Mongoid supports and is tested against:
|
|
25
21
|
|
|
26
|
-
|
|
27
|
-
|
|
22
|
+
- MRI 2.3-3.0
|
|
23
|
+
- JRuby 9.2
|
|
24
|
+
- MongoDB server 2.6-4.4
|
|
28
25
|
|
|
29
|
-
|
|
26
|
+
Issues
|
|
27
|
+
------
|
|
28
|
+
|
|
29
|
+
Please use the [MONGOID project](https://jira.mongodb.org/browse/MONGOID/)
|
|
30
|
+
in MongoDB JIRA to report issues with Mongoid.
|
|
31
|
+
|
|
32
|
+
Support
|
|
33
|
+
-------
|
|
34
|
+
|
|
35
|
+
* [Stack Overflow](http://stackoverflow.com/questions/tagged/mongoid)
|
|
36
|
+
* [MongoDB Community Forum](https://developer.mongodb.com/community/forums/tags/c/drivers-odms-connectors/7/mongoid-odm)
|
|
37
|
+
* [#mongoid](http://webchat.freenode.net/?channels=mongoid) on Freenode IRC
|
|
30
38
|
|
|
31
39
|
License
|
|
32
40
|
-------
|
|
33
41
|
|
|
34
|
-
Copyright (c) 2009-
|
|
42
|
+
Copyright (c) 2009-2016 Durran Jordan
|
|
43
|
+
Copyright (c) 2015-2020 MongoDB, Inc.
|
|
35
44
|
|
|
36
45
|
Permission is hereby granted, free of charge, to any person obtaining
|
|
37
46
|
a copy of this software and associated documentation files (the
|
|
@@ -56,3 +65,8 @@ Credits
|
|
|
56
65
|
-------
|
|
57
66
|
|
|
58
67
|
Durran Jordan: durran at gmail dot com
|
|
68
|
+
|
|
69
|
+
[rubygems-img]: https://badge.fury.io/rb/mongoid.svg
|
|
70
|
+
[rubygems-url]: http://badge.fury.io/rb/mongoid
|
|
71
|
+
[inch-img]: http://inch-ci.org/github/mongodb/mongoid.svg?branch=master
|
|
72
|
+
[inch-url]: http://inch-ci.org/github/mongodb/mongoid
|
data/Rakefile
CHANGED
|
@@ -1,12 +1,23 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
require "bundler"
|
|
4
|
+
require "bundler/gem_tasks"
|
|
2
5
|
Bundler.setup
|
|
3
6
|
|
|
7
|
+
ROOT = File.expand_path(File.join(File.dirname(__FILE__)))
|
|
8
|
+
|
|
9
|
+
$: << File.join(ROOT, 'spec/shared/lib')
|
|
10
|
+
|
|
4
11
|
require "rake"
|
|
5
12
|
require "rspec/core/rake_task"
|
|
13
|
+
require 'mrss/spec_organizer'
|
|
6
14
|
|
|
7
15
|
$LOAD_PATH.unshift File.expand_path("../lib", __FILE__)
|
|
8
16
|
require "mongoid/version"
|
|
9
17
|
|
|
18
|
+
tasks = Rake.application.instance_variable_get('@tasks')
|
|
19
|
+
tasks['release:do'] = tasks.delete('release')
|
|
20
|
+
|
|
10
21
|
task :gem => :build
|
|
11
22
|
task :build do
|
|
12
23
|
system "gem build mongoid.gemspec"
|
|
@@ -16,11 +27,8 @@ task :install => :build do
|
|
|
16
27
|
system "sudo gem install mongoid-#{Mongoid::VERSION}.gem"
|
|
17
28
|
end
|
|
18
29
|
|
|
19
|
-
task :release
|
|
20
|
-
|
|
21
|
-
system "git push --tags"
|
|
22
|
-
system "gem push mongoid-#{Mongoid::VERSION}.gem"
|
|
23
|
-
system "rm mongoid-#{Mongoid::VERSION}.gem"
|
|
30
|
+
task :release do
|
|
31
|
+
raise "Please use ./release.sh to release"
|
|
24
32
|
end
|
|
25
33
|
|
|
26
34
|
RSpec::Core::RakeTask.new("spec") do |spec|
|
|
@@ -32,4 +40,66 @@ RSpec::Core::RakeTask.new('spec:progress') do |spec|
|
|
|
32
40
|
spec.pattern = "spec/**/*_spec.rb"
|
|
33
41
|
end
|
|
34
42
|
|
|
43
|
+
CLASSIFIERS = [
|
|
44
|
+
[%r,^mongoid/attribute,, :attributes],
|
|
45
|
+
[%r,^mongoid/association/[or],, :associations_referenced],
|
|
46
|
+
[%r,^mongoid/association,, :associations],
|
|
47
|
+
[%r,^mongoid,, :unit],
|
|
48
|
+
[%r,^integration,, :integration],
|
|
49
|
+
[%r,^rails,, :rails],
|
|
50
|
+
]
|
|
51
|
+
|
|
52
|
+
RUN_PRIORITY = %i(
|
|
53
|
+
unit attributes associations_referenced associations
|
|
54
|
+
integration rails
|
|
55
|
+
)
|
|
56
|
+
|
|
57
|
+
def spec_organizer
|
|
58
|
+
Mrss::SpecOrganizer.new(
|
|
59
|
+
root: ROOT,
|
|
60
|
+
classifiers: CLASSIFIERS,
|
|
61
|
+
priority_order: RUN_PRIORITY,
|
|
62
|
+
)
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
task :ci do
|
|
66
|
+
spec_organizer.run
|
|
67
|
+
end
|
|
68
|
+
|
|
69
|
+
task :bucket, %i(buckets) do |task, args|
|
|
70
|
+
buckets = args[:buckets]
|
|
71
|
+
buckets = if buckets.nil? || buckets.empty?
|
|
72
|
+
[nil]
|
|
73
|
+
else
|
|
74
|
+
buckets.split(':').map do |bucket|
|
|
75
|
+
if bucket.empty?
|
|
76
|
+
nil
|
|
77
|
+
else
|
|
78
|
+
bucket.to_sym
|
|
79
|
+
end
|
|
80
|
+
end
|
|
81
|
+
end
|
|
82
|
+
spec_organizer.run_buckets(*buckets)
|
|
83
|
+
end
|
|
84
|
+
|
|
35
85
|
task :default => :spec
|
|
86
|
+
|
|
87
|
+
desc "Generate all documentation"
|
|
88
|
+
task :docs => 'docs:yard'
|
|
89
|
+
|
|
90
|
+
namespace :docs do
|
|
91
|
+
desc "Generate yard documention"
|
|
92
|
+
task :yard do
|
|
93
|
+
out = File.join('yard-docs', Mongoid::VERSION)
|
|
94
|
+
FileUtils.rm_rf(out)
|
|
95
|
+
system "yardoc -o #{out} --title mongoid-#{Mongoid::VERSION}"
|
|
96
|
+
end
|
|
97
|
+
end
|
|
98
|
+
|
|
99
|
+
namespace :release do
|
|
100
|
+
task :check_private_key do
|
|
101
|
+
unless File.exist?('gem-private_key.pem')
|
|
102
|
+
raise "No private key present, cannot release"
|
|
103
|
+
end
|
|
104
|
+
end
|
|
105
|
+
end
|
data/lib/config/locales/en.yml
CHANGED
|
@@ -7,16 +7,17 @@ en:
|
|
|
7
7
|
message_title: "message"
|
|
8
8
|
summary_title: "summary"
|
|
9
9
|
resolution_title: "resolution"
|
|
10
|
+
|
|
10
11
|
ambiguous_relationship:
|
|
11
|
-
message: "Ambiguous
|
|
12
|
+
message: "Ambiguous associations %{candidates} defined on %{klass}."
|
|
12
13
|
summary:
|
|
13
|
-
"When Mongoid attempts to set an inverse document of
|
|
14
|
-
in memory, it needs to know which
|
|
14
|
+
"When Mongoid attempts to set an inverse document of an association
|
|
15
|
+
in memory, it needs to know which association it belongs to. When
|
|
15
16
|
setting %{name}, Mongoid looked on the class %{inverse}
|
|
16
|
-
for a matching
|
|
17
|
+
for a matching association, but multiples were found that could
|
|
17
18
|
potentially match: %{candidates}."
|
|
18
|
-
resolution: "On the %{name}
|
|
19
|
-
:inverse_of option to specify the exact
|
|
19
|
+
resolution: "On the %{name} association on %{inverse} you must add an
|
|
20
|
+
:inverse_of option to specify the exact association on %{klass}
|
|
20
21
|
that is the opposite of %{name}."
|
|
21
22
|
callbacks:
|
|
22
23
|
message: "Calling %{method} on %{klass} resulted in a false return
|
|
@@ -26,6 +27,15 @@ en:
|
|
|
26
27
|
since the document did not actually get saved."
|
|
27
28
|
resolution: "Double check all before callbacks to make sure they are
|
|
28
29
|
not unintentionally returning false."
|
|
30
|
+
criteria_argument_required:
|
|
31
|
+
message: "Calling Criteria methods with nil arguments is not allowed."
|
|
32
|
+
summary: "Arguments to Criteria methods cannot be nil, and most
|
|
33
|
+
Criteria methods require at least one argument. Only logical
|
|
34
|
+
operations (and, or, nor and not), `all' and `where' can be called
|
|
35
|
+
without arguments.
|
|
36
|
+
The method that was called with nil argument was: %{query_method}."
|
|
37
|
+
resolution: "Invoke Criteria methods with non-nil arguments or omit
|
|
38
|
+
the respective invocations."
|
|
29
39
|
calling_document_find_with_nil_is_invalid:
|
|
30
40
|
message: "Calling Document.find with nil is invalid."
|
|
31
41
|
summary: "Document.find expects the parameters to be 1 or more ids, and
|
|
@@ -34,6 +44,8 @@ en:
|
|
|
34
44
|
resolution: "Most likely this is caused by passing parameters directly
|
|
35
45
|
through to the find, and the parameter either is not present or the
|
|
36
46
|
key from which it is accessed is incorrect."
|
|
47
|
+
destroy_restrict_with_error_dependencies_exist:
|
|
48
|
+
"is not empty and prevents the document from being destroyed"
|
|
37
49
|
document_not_destroyed:
|
|
38
50
|
message: "%{klass} with id %{id} was not destroyed."
|
|
39
51
|
summary: "When calling %{klass}#destroy! and a callback halts the destroy
|
|
@@ -62,9 +74,9 @@ en:
|
|
|
62
74
|
which will cause a nil to be returned instead of raising this error."
|
|
63
75
|
eager_load:
|
|
64
76
|
message: "Eager loading :%{name} is not supported since it is a
|
|
65
|
-
polymorphic belongs_to
|
|
77
|
+
polymorphic belongs_to association."
|
|
66
78
|
summary: "Mongoid cannot currently determine the classes it needs to
|
|
67
|
-
eager load when the
|
|
79
|
+
eager load when the association is polymorphic. The parents reside in
|
|
68
80
|
different collections so a simple id lookup is not sufficient enough."
|
|
69
81
|
resolution: "Don't attempt to perform this action and have patience,
|
|
70
82
|
maybe this will be supported in the future."
|
|
@@ -91,6 +103,37 @@ en:
|
|
|
91
103
|
expecting the option to be there, please consult the following page
|
|
92
104
|
with repect to Mongoid's configuration:\n\n
|
|
93
105
|
\_\_http://mongoid.org/en/mongoid/docs/installation.html"
|
|
106
|
+
invalid_dependent_strategy:
|
|
107
|
+
message: "Invalid dependent strategy: %{invalid_strategy}."
|
|
108
|
+
summary: "An invalid dependent strategy was defined for the association:
|
|
109
|
+
%{association}. The valid strategies are: %{valid_strategies}."
|
|
110
|
+
resolution: "Change the dependent strategy to one of the valid types."
|
|
111
|
+
invalid_discriminator_key_target:
|
|
112
|
+
message: "Setting the discriminator key on a child class is not allowed."
|
|
113
|
+
summary: "The discriminator key on the class %{class_name} was attempted
|
|
114
|
+
to be changed. Changing the discriminator key on a child class is not
|
|
115
|
+
allowed."
|
|
116
|
+
resolution: "Try setting the discriminator key on %{superclass} or one of %{class_name}'s
|
|
117
|
+
ancestors."
|
|
118
|
+
invalid_elem_match_operator:
|
|
119
|
+
message: "Invalid $elemMatch operator '%{operator}'."
|
|
120
|
+
summary: "You misspelled an operator or are using an operator that
|
|
121
|
+
Mongoid does not support."
|
|
122
|
+
resolution: "Valid field operators are: %{valid_operators}.
|
|
123
|
+
Ensure you are using one of these operators."
|
|
124
|
+
invalid_estimated_count_criteria:
|
|
125
|
+
message: "Invalid criteria for estimated_count."
|
|
126
|
+
summary: "Estimated count is strictly a collection-level operation and cannot be called
|
|
127
|
+
on a filtered critera."
|
|
128
|
+
resolution: "Try calling estimated_count directly on the class: %{class_name}.estimated_count.\n\n
|
|
129
|
+
\_If the class defines a default scope, use unscoped: %{class_name}.unscoped.estimated_count."
|
|
130
|
+
invalid_expression_operator:
|
|
131
|
+
message: "Invalid expression operator '%{operator}'."
|
|
132
|
+
summary: "You misspelled an operator, are using an operator that
|
|
133
|
+
Mongoid does not support, or are trying to use a field-level
|
|
134
|
+
operator on expression level."
|
|
135
|
+
resolution: "Valid expression operators are: %{valid_operators}.
|
|
136
|
+
Ensure you are using one of these operators."
|
|
94
137
|
invalid_field:
|
|
95
138
|
message: "Defining a field named '%{name}' is not allowed."
|
|
96
139
|
summary: "Defining this field would override the method '%{name}',
|
|
@@ -104,10 +147,17 @@ en:
|
|
|
104
147
|
allowed, and don't use these names. These include names that also
|
|
105
148
|
conflict with core Ruby methods on Object, Module, Enumerable, or
|
|
106
149
|
included gems that inject methods into these or Mongoid internals."
|
|
150
|
+
invalid_field_operator:
|
|
151
|
+
message: "Invalid field operator '%{operator}'."
|
|
152
|
+
summary: "You misspelled an operator, are using an operator that
|
|
153
|
+
Mongoid does not support, or are trying to use an expression-level
|
|
154
|
+
operator on field level."
|
|
155
|
+
resolution: "Valid field operators are: %{valid_operators}.
|
|
156
|
+
Ensure you are using one of these operators."
|
|
107
157
|
invalid_field_option:
|
|
108
158
|
message: "Invalid option :%{option} provided for field :%{name}."
|
|
109
159
|
summary: "Mongoid requires that you only provide valid options on each
|
|
110
|
-
field definition in order to prevent unexpected
|
|
160
|
+
field definition in order to prevent unexpected behavior later on."
|
|
111
161
|
resolution: "When defining the field :%{name} on '%{klass}', please provide
|
|
112
162
|
valid options for the field. These are currently: %{valid}. If you
|
|
113
163
|
meant to define a custom field option, please do so first like so:\n\n
|
|
@@ -121,9 +171,9 @@ en:
|
|
|
121
171
|
invalid_includes:
|
|
122
172
|
message: "Invalid includes directive: %{klass}.includes(%{args})"
|
|
123
173
|
summary: "Eager loading in Mongoid only supports providing arguments
|
|
124
|
-
to %{klass}.includes that are the names of
|
|
174
|
+
to %{klass}.includes that are the names of associations on the %{klass}."
|
|
125
175
|
resolution: "Ensure that each parameter passed to %{klass}.includes is
|
|
126
|
-
a valid name of
|
|
176
|
+
a valid name of an association on the %{klass} model. These are: %{relations}."
|
|
127
177
|
invalid_index:
|
|
128
178
|
message: "Invalid index specification on %{klass}: %{spec}, %{options}"
|
|
129
179
|
summary: "Indexes in Mongoid are defined as a hash of field name and
|
|
@@ -160,8 +210,8 @@ en:
|
|
|
160
210
|
\_\_\_\_index({ location: '2d' }, { background: true })\n
|
|
161
211
|
\_\_end\n\n"
|
|
162
212
|
invalid_options:
|
|
163
|
-
message: "Invalid option :%{invalid} provided to
|
|
164
|
-
summary: "Mongoid checks the options that are passed to the
|
|
213
|
+
message: "Invalid option :%{invalid} provided to association :%{name}."
|
|
214
|
+
summary: "Mongoid checks the options that are passed to the association
|
|
165
215
|
macros to ensure that no ill side effects occur by letting something
|
|
166
216
|
slip by."
|
|
167
217
|
resolution: "Valid options are: %{valid}, make sure these are the ones
|
|
@@ -174,7 +224,7 @@ en:
|
|
|
174
224
|
root path assigned."
|
|
175
225
|
resolution: "Most likely your embedded model, %{klass} is also
|
|
176
226
|
referenced via a has_many from a root document in another
|
|
177
|
-
collection. Double check the
|
|
227
|
+
collection. Double check the association definitions and fix any
|
|
178
228
|
instances where embedded documents are improperly referenced
|
|
179
229
|
from other collections."
|
|
180
230
|
invalid_persistence_option:
|
|
@@ -184,8 +234,8 @@ en:
|
|
|
184
234
|
resolution: "Valid options are: %{valid}, make sure these are the ones
|
|
185
235
|
you are using."
|
|
186
236
|
invalid_relation:
|
|
187
|
-
message: "Defining
|
|
188
|
-
summary: "Defining this
|
|
237
|
+
message: "Defining an association named '%{name}' is not allowed."
|
|
238
|
+
summary: "Defining this association would override the method '%{name}',
|
|
189
239
|
which would cause issues with expectations around the original
|
|
190
240
|
method and cause extremely hard to debug issues. The original
|
|
191
241
|
method was defined in:\n
|
|
@@ -196,6 +246,11 @@ en:
|
|
|
196
246
|
allowed, and don't use these names. These include names that also
|
|
197
247
|
conflict with core Ruby methods on Object, Module, Enumerable, or
|
|
198
248
|
included gems that inject methods into these or Mongoid internals."
|
|
249
|
+
invalid_relation_option:
|
|
250
|
+
message: "Invalid association option :%{option} for association '%{name}' on class
|
|
251
|
+
%{klass}."
|
|
252
|
+
summary: "An invalid option was provided for an association."
|
|
253
|
+
resolution: "Valid options are: %{valid_options}, make sure you use only those."
|
|
199
254
|
invalid_scope:
|
|
200
255
|
message: "Defining a scope of value %{value} on %{klass} is not
|
|
201
256
|
allowed."
|
|
@@ -230,7 +285,7 @@ en:
|
|
|
230
285
|
Example:\n
|
|
231
286
|
\_\_class Band\n
|
|
232
287
|
\_\_\_\_include Mongoid::Document\n
|
|
233
|
-
\_\_\_\_store_in collection: 'artists', database: '
|
|
288
|
+
\_\_\_\_store_in collection: 'artists', database: 'music'\n
|
|
234
289
|
\_\_end\n\n"
|
|
235
290
|
invalid_storage_parent:
|
|
236
291
|
message: "Invalid store_in call on class %{klass}."
|
|
@@ -251,35 +306,35 @@ en:
|
|
|
251
306
|
message: "When adding a(n) %{klass} to %{base}#%{name}, Mongoid could
|
|
252
307
|
not determine the inverse foreign key to set. The attempted key was
|
|
253
308
|
'%{inverse}'."
|
|
254
|
-
summary: "When adding a document to
|
|
255
|
-
to link the newly added document to the base of the
|
|
309
|
+
summary: "When adding a document to an association, Mongoid attempts
|
|
310
|
+
to link the newly added document to the base of the association in
|
|
256
311
|
memory, as well as set the foreign key to link them on the
|
|
257
312
|
database side. In this case Mongoid could not determine what the
|
|
258
313
|
inverse foreign key was."
|
|
259
314
|
resolution: "If an inverse is not required, like a belongs_to or
|
|
260
315
|
has_and_belongs_to_many, ensure that :inverse_of => nil is set
|
|
261
|
-
on the
|
|
262
|
-
inverse cannot be figured out from the names of the
|
|
263
|
-
you will need to explicitly tell Mongoid on the
|
|
316
|
+
on the association. If the inverse is needed, most likely the
|
|
317
|
+
inverse cannot be figured out from the names of the associations and
|
|
318
|
+
you will need to explicitly tell Mongoid on the association what
|
|
264
319
|
the inverse is.\n\n
|
|
265
320
|
Example:\n
|
|
266
|
-
\_\_class
|
|
321
|
+
\_\_class Car\n
|
|
267
322
|
\_\_\_\_include Mongoid::Document\n
|
|
268
|
-
\_\_\_\_has_one :
|
|
323
|
+
\_\_\_\_has_one :engine, class_name: \"Motor\", inverse_of: :machine\n
|
|
269
324
|
\_\_end\n\n
|
|
270
|
-
\_\_class
|
|
325
|
+
\_\_class Motor\n
|
|
271
326
|
\_\_\_\_include Mongoid::Document\n
|
|
272
|
-
\_\_\_\_belongs_to :
|
|
327
|
+
\_\_\_\_belongs_to :machine, class_name: \"Car\", inverse_of: :engine\n
|
|
273
328
|
\_\_end"
|
|
274
329
|
invalid_set_polymorphic_relation:
|
|
275
330
|
message: "The %{name} attribute can't be set to an instance of
|
|
276
|
-
%{other_klass} as %{other_klass} has multiple
|
|
331
|
+
%{other_klass} as %{other_klass} has multiple associations referencing
|
|
277
332
|
%{klass} as %{name}."
|
|
278
|
-
summary: "If the parent class of a polymorphic
|
|
279
|
-
definitions for the same
|
|
333
|
+
summary: "If the parent class of a polymorphic association has multiple
|
|
334
|
+
definitions for the same association, the values must be set from the
|
|
280
335
|
parent side and not the child side since Mongoid cannot determine
|
|
281
|
-
from the child side which
|
|
282
|
-
resolution: "Set the values from the parent, or redefine the
|
|
336
|
+
from the child side which association to go in."
|
|
337
|
+
resolution: "Set the values from the parent, or redefine the association
|
|
283
338
|
with only a single definition in the parent."
|
|
284
339
|
invalid_value:
|
|
285
340
|
message: "Value of type %{value_class} cannot be written to a field of type %{field_class}"
|
|
@@ -287,7 +342,7 @@ en:
|
|
|
287
342
|
resolution: "Verify if the value to be set correspond to field definition"
|
|
288
343
|
mixed_relations:
|
|
289
344
|
message: "Referencing a(n) %{embedded} document from the %{root}
|
|
290
|
-
document via a
|
|
345
|
+
document via a non-embedded association is not allowed since the
|
|
291
346
|
%{embedded} is embedded."
|
|
292
347
|
summary: "In order to properly access a(n) %{embedded} from %{root}
|
|
293
348
|
the reference would need to go through the root document of
|
|
@@ -307,15 +362,15 @@ en:
|
|
|
307
362
|
resolution: "Provide either only a uri as configuration or only
|
|
308
363
|
standard options."
|
|
309
364
|
nested_attributes_metadata_not_found:
|
|
310
|
-
message: "Could not find metadata for
|
|
365
|
+
message: "Could not find metadata for association '%{name}' on model:
|
|
311
366
|
%{klass}."
|
|
312
|
-
summary: "When defining nested attributes for
|
|
313
|
-
needs to access the metadata for the
|
|
367
|
+
summary: "When defining nested attributes for an association, Mongoid
|
|
368
|
+
needs to access the metadata for the association '%{name}' in order
|
|
314
369
|
if add autosave functionality to it, if applicable. Either no
|
|
315
|
-
|
|
370
|
+
association named '%{name}' could be found, or the association had not
|
|
316
371
|
been defined yet."
|
|
317
|
-
resolution: "Make sure that there is
|
|
318
|
-
'%{name}' on %{klass} or that the
|
|
372
|
+
resolution: "Make sure that there is an association defined named
|
|
373
|
+
'%{name}' on %{klass} or that the association definition comes before
|
|
319
374
|
the accepts_nested_attributes_for macro in the model - order
|
|
320
375
|
matters so that Mongoid has access to the metadata.\n\n
|
|
321
376
|
Example:\n
|
|
@@ -363,16 +418,16 @@ en:
|
|
|
363
418
|
\_\_reduce: 'collection-name'\n\n"
|
|
364
419
|
no_metadata:
|
|
365
420
|
message: "Metadata not found for document of type %{klass}."
|
|
366
|
-
summary: "Mongoid sets the metadata of
|
|
367
|
-
when it is either loaded from within the
|
|
421
|
+
summary: "Mongoid sets the metadata of an association on the document
|
|
422
|
+
when it is either loaded from within the association, or added to
|
|
368
423
|
one. The presence of the metadata is required in order to
|
|
369
|
-
provide various functionality around
|
|
424
|
+
provide various functionality around associations. Most likely you
|
|
370
425
|
are getting this error because the document is embedded and was
|
|
371
426
|
attempted to be persisted without being associated with a parent,
|
|
372
|
-
or the
|
|
373
|
-
resolution: "Ensure that your
|
|
374
|
-
are all properly defined, and that the inverse
|
|
375
|
-
are also properly defined. Embedded
|
|
427
|
+
or the association was not properly defined."
|
|
428
|
+
resolution: "Ensure that your associations on the %{klass} model
|
|
429
|
+
are all properly defined, and that the inverse associations
|
|
430
|
+
are also properly defined. Embedded associations must have both the
|
|
376
431
|
parent (embeds_one/embeds_many) and the inverse (embedded_in)
|
|
377
432
|
present in order to work properly."
|
|
378
433
|
no_parent:
|
|
@@ -383,9 +438,9 @@ en:
|
|
|
383
438
|
most likely caused by either calling %{klass}.create or
|
|
384
439
|
%{klass}.create! without setting the parent document as an
|
|
385
440
|
attribute."
|
|
386
|
-
resolution: "Ensure that you've set the parent
|
|
441
|
+
resolution: "Ensure that you've set the parent association if
|
|
387
442
|
instantiating the embedded document directly, or always create new
|
|
388
|
-
embedded documents via the parent
|
|
443
|
+
embedded documents via the parent association."
|
|
389
444
|
no_client_config:
|
|
390
445
|
message: "No configuration could be found for a client named
|
|
391
446
|
'%{name}'."
|
|
@@ -494,10 +549,17 @@ en:
|
|
|
494
549
|
attributes hash, and is raised instead of getting a NoMethodError."
|
|
495
550
|
resolution: "You can include Mongoid::Attributes::Dynamic if you
|
|
496
551
|
expect to be writing values for undefined fields often."
|
|
552
|
+
unknown_model:
|
|
553
|
+
message: "Attempted to instantiate an object of the unknown Model '%{klass}'."
|
|
554
|
+
summary: "A document with the value '%{value}' at the key '_type' was used to
|
|
555
|
+
instantiate a model object but Mongoid cannot find this Class."
|
|
556
|
+
resolution: "The _type field is a reserved one used by Mongoid to determine the
|
|
557
|
+
class for instantiating an object. Please don't save data in this field or ensure
|
|
558
|
+
that any values in this field correspond to valid Models."
|
|
497
559
|
unsaved_document:
|
|
498
560
|
message: "Attempted to save %{document} before the parent %{base}."
|
|
499
561
|
summary: "You cannot call create or create! through the
|
|
500
|
-
|
|
562
|
+
association (%{document}) whose parent (%{base}) is
|
|
501
563
|
not already saved. This would cause the database to be out of sync
|
|
502
564
|
since the child could potentially reference a nonexistent parent."
|
|
503
565
|
resolution: "Make sure to only use create or create! when the parent
|
|
@@ -509,16 +571,16 @@ en:
|
|
|
509
571
|
#where criterion on embedded documents. Since %{klass} is embedded,
|
|
510
572
|
the expression %{javascript} is not allowed."
|
|
511
573
|
resolution: "Please provide a standard hash to #where when the criteria
|
|
512
|
-
is for an embedded
|
|
574
|
+
is for an embedded association."
|
|
513
575
|
validations:
|
|
514
576
|
message: "Validation of %{document} failed."
|
|
515
577
|
summary: "The following errors were found: %{errors}"
|
|
516
578
|
resolution: "Try persisting the document with valid data or remove
|
|
517
579
|
the validations."
|
|
518
580
|
delete_restriction:
|
|
519
|
-
message: "Cannot
|
|
520
|
-
summary: "When defining '%{relation}' with a :dependent => :
|
|
521
|
-
Mongoid will raise an error when attempting to
|
|
581
|
+
message: "Cannot destroy %{document} because of dependent '%{relation}'."
|
|
582
|
+
summary: "When defining '%{relation}' with a :dependent => :restrict_with_error,
|
|
583
|
+
Mongoid will raise an error when attempting to destroy the
|
|
522
584
|
%{document} when the child '%{relation}' still has documents in it."
|
|
523
585
|
resolution: "Don't attempt to delete the parent %{document} when
|
|
524
|
-
it has children, or change the dependent option on the
|
|
586
|
+
it has children, or change the dependent option on the association."
|