mongoid 3.1.7 → 4.0.0.alpha1
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
- data/CHANGELOG.md +317 -11
- data/README.md +4 -5
- data/lib/config/locales/en.yml +9 -12
- data/lib/mongoid.rb +6 -75
- data/lib/mongoid/atomic.rb +0 -11
- data/lib/mongoid/atomic/paths/embedded.rb +0 -30
- data/lib/mongoid/atomic/paths/root.rb +0 -13
- data/lib/mongoid/attributes.rb +30 -108
- data/lib/mongoid/attributes/dynamic.rb +154 -0
- data/lib/mongoid/attributes/nested.rb +82 -0
- data/lib/mongoid/attributes/processing.rb +13 -66
- data/lib/mongoid/{dirty.rb → changeable.rb} +5 -2
- data/lib/mongoid/composable.rb +104 -0
- data/lib/mongoid/config.rb +3 -9
- data/lib/mongoid/config/options.rb +1 -1
- data/lib/mongoid/contextual/aggregable/mongo.rb +5 -9
- data/lib/mongoid/contextual/atomic.rb +53 -53
- data/lib/mongoid/contextual/command.rb +26 -0
- data/lib/mongoid/contextual/map_reduce.rb +1 -1
- data/lib/mongoid/contextual/memory.rb +6 -5
- data/lib/mongoid/contextual/mongo.rb +59 -28
- data/lib/mongoid/contextual/text_search.rb +180 -0
- data/lib/mongoid/copyable.rb +2 -3
- data/lib/mongoid/criteria.rb +13 -33
- data/lib/mongoid/criteria/{#findable.rb# → findable.rb} +0 -2
- data/lib/mongoid/{criterion/inspection.rb → criteria/inspectable.rb} +2 -2
- data/lib/mongoid/{criterion → criteria}/marshalable.rb +3 -1
- data/lib/mongoid/{criterion → criteria}/modifiable.rb +1 -1
- data/lib/mongoid/{criterion/scoping.rb → criteria/scopable.rb} +2 -2
- data/lib/mongoid/document.rb +28 -12
- data/lib/mongoid/errors.rb +1 -1
- data/lib/mongoid/errors/document_not_found.rb +2 -1
- data/lib/mongoid/errors/invalid_value.rb +16 -0
- data/lib/mongoid/errors/mongoid_error.rb +1 -1
- data/lib/mongoid/extensions.rb +2 -7
- data/lib/mongoid/extensions/array.rb +2 -2
- data/lib/mongoid/extensions/boolean.rb +14 -17
- data/lib/mongoid/extensions/float.rb +1 -0
- data/lib/mongoid/extensions/hash.rb +1 -1
- data/lib/mongoid/extensions/object.rb +4 -4
- data/lib/mongoid/extensions/object_id.rb +5 -5
- data/lib/mongoid/extensions/range.rb +8 -2
- data/lib/mongoid/extensions/string.rb +5 -17
- data/lib/mongoid/extensions/time.rb +2 -2
- data/lib/mongoid/factory.rb +3 -3
- data/lib/mongoid/fields.rb +9 -8
- data/lib/mongoid/fields/foreign_key.rb +3 -3
- data/lib/mongoid/fields/standard.rb +4 -16
- data/lib/mongoid/fields/validators/macro.rb +11 -3
- data/lib/mongoid/{finders.rb → findable.rb} +6 -2
- data/lib/mongoid/{indexes.rb → indexable.rb} +50 -55
- data/lib/mongoid/indexable/specification.rb +104 -0
- data/lib/mongoid/{indexes → indexable}/validators/options.rb +2 -1
- data/lib/mongoid/{inspection.rb → inspectable.rb} +15 -11
- data/lib/mongoid/{callbacks.rb → interceptable.rb} +3 -52
- data/lib/mongoid/log_subscriber.rb +22 -0
- data/lib/mongoid/matchable.rb +152 -0
- data/lib/mongoid/{matchers → matchable}/all.rb +1 -1
- data/lib/mongoid/{matchers → matchable}/and.rb +2 -2
- data/lib/mongoid/{matchers → matchable}/default.rb +1 -1
- data/lib/mongoid/{matchers → matchable}/exists.rb +1 -1
- data/lib/mongoid/{matchers → matchable}/gt.rb +1 -1
- data/lib/mongoid/{matchers → matchable}/gte.rb +1 -1
- data/lib/mongoid/{matchers → matchable}/in.rb +2 -2
- data/lib/mongoid/{matchers → matchable}/lt.rb +1 -1
- data/lib/mongoid/{matchers → matchable}/lte.rb +1 -1
- data/lib/mongoid/{matchers → matchable}/ne.rb +1 -1
- data/lib/mongoid/{matchers → matchable}/nin.rb +3 -2
- data/lib/mongoid/{matchers → matchable}/or.rb +2 -2
- data/lib/mongoid/{matchers → matchable}/size.rb +1 -1
- data/lib/mongoid/persistable.rb +212 -0
- data/lib/mongoid/persistable/creatable.rb +188 -0
- data/lib/mongoid/persistable/deletable.rb +148 -0
- data/lib/mongoid/persistable/destroyable.rb +55 -0
- data/lib/mongoid/persistable/incrementable.rb +36 -0
- data/lib/mongoid/persistable/logical.rb +38 -0
- data/lib/mongoid/persistable/poppable.rb +39 -0
- data/lib/mongoid/persistable/pullable.rb +55 -0
- data/lib/mongoid/persistable/pushable.rb +62 -0
- data/lib/mongoid/persistable/renamable.rb +35 -0
- data/lib/mongoid/persistable/savable.rb +52 -0
- data/lib/mongoid/persistable/settable.rb +33 -0
- data/lib/mongoid/persistable/unsettable.rb +36 -0
- data/lib/mongoid/persistable/updatable.rb +151 -0
- data/lib/mongoid/persistable/upsertable.rb +55 -0
- data/lib/mongoid/positional.rb +71 -0
- data/lib/mongoid/railtie.rb +32 -45
- data/lib/mongoid/railties/database.rake +12 -6
- data/lib/mongoid/relations.rb +3 -3
- data/lib/mongoid/relations/accessors.rb +13 -46
- data/lib/mongoid/relations/auto_save.rb +15 -36
- data/lib/mongoid/relations/binding.rb +0 -23
- data/lib/mongoid/relations/bindings/embedded/many.rb +1 -3
- data/lib/mongoid/relations/bindings/referenced/in.rb +3 -8
- data/lib/mongoid/relations/bindings/referenced/many_to_many.rb +3 -1
- data/lib/mongoid/relations/builder.rb +1 -1
- data/lib/mongoid/relations/builders.rb +2 -2
- data/lib/mongoid/relations/builders/nested_attributes/many.rb +10 -13
- data/lib/mongoid/relations/builders/nested_attributes/one.rb +4 -5
- data/lib/mongoid/relations/builders/referenced/in.rb +1 -1
- data/lib/mongoid/relations/builders/referenced/many.rb +1 -2
- data/lib/mongoid/relations/builders/referenced/many_to_many.rb +1 -2
- data/lib/mongoid/relations/builders/referenced/one.rb +1 -1
- data/lib/mongoid/relations/cascading.rb +3 -5
- data/lib/mongoid/relations/constraint.rb +1 -1
- data/lib/mongoid/relations/conversions.rb +1 -1
- data/lib/mongoid/relations/counter_cache.rb +39 -15
- data/lib/mongoid/relations/eager.rb +47 -0
- data/lib/mongoid/relations/eager/base.rb +57 -0
- data/lib/mongoid/relations/eager/belongs_to.rb +30 -0
- data/lib/mongoid/relations/eager/has_and_belongs_to_many.rb +40 -0
- data/lib/mongoid/relations/eager/has_many.rb +37 -0
- data/lib/mongoid/relations/eager/has_one.rb +29 -0
- data/lib/mongoid/relations/embedded/batchable.rb +3 -4
- data/lib/mongoid/relations/embedded/many.rb +7 -27
- data/lib/mongoid/relations/macros.rb +2 -4
- data/lib/mongoid/relations/many.rb +30 -31
- data/lib/mongoid/relations/metadata.rb +6 -75
- data/lib/mongoid/relations/nested_builder.rb +2 -2
- data/lib/mongoid/relations/options.rb +1 -0
- data/lib/mongoid/relations/polymorphic.rb +0 -1
- data/lib/mongoid/relations/proxy.rb +10 -32
- data/lib/mongoid/relations/referenced/in.rb +2 -18
- data/lib/mongoid/relations/referenced/many.rb +9 -22
- data/lib/mongoid/relations/referenced/many_to_many.rb +10 -33
- data/lib/mongoid/relations/referenced/one.rb +2 -21
- data/lib/mongoid/relations/synchronization.rb +3 -3
- data/lib/mongoid/relations/touchable.rb +33 -0
- data/lib/mongoid/{reloading.rb → reloadable.rb} +6 -4
- data/lib/mongoid/{scoping.rb → scopable.rb} +26 -3
- data/lib/mongoid/selectable.rb +59 -0
- data/lib/mongoid/{serialization.rb → serializable.rb} +10 -1
- data/lib/mongoid/sessions.rb +37 -345
- data/lib/mongoid/sessions/factory.rb +2 -0
- data/lib/mongoid/sessions/options.rb +176 -0
- data/lib/mongoid/sessions/storage_options.rb +140 -0
- data/lib/mongoid/sessions/thread_options.rb +19 -0
- data/lib/mongoid/sessions/validators/storage.rb +15 -1
- data/lib/mongoid/{sharding.rb → shardable.rb} +5 -1
- data/lib/mongoid/support/query_counter.rb +23 -0
- data/lib/mongoid/threaded.rb +0 -110
- data/lib/mongoid/threaded/lifecycle.rb +0 -28
- data/lib/mongoid/timestamps/updated/short.rb +2 -2
- data/lib/mongoid/{hierarchy.rb → traversable.rb} +9 -5
- data/lib/mongoid/{validations.rb → validatable.rb} +23 -9
- data/lib/mongoid/{validations → validatable}/associated.rb +3 -1
- data/lib/mongoid/{validations → validatable}/format.rb +1 -1
- data/lib/mongoid/{validations → validatable}/length.rb +1 -1
- data/lib/mongoid/{validations → validatable}/localizable.rb +1 -1
- data/lib/mongoid/{validations → validatable}/macros.rb +4 -3
- data/lib/mongoid/{validations → validatable}/presence.rb +1 -1
- data/lib/mongoid/{validations → validatable}/queryable.rb +1 -2
- data/lib/mongoid/{validations → validatable}/uniqueness.rb +3 -3
- data/lib/mongoid/version.rb +1 -1
- data/lib/rails/generators/mongoid/config/templates/mongoid.yml +9 -13
- data/lib/rails/generators/mongoid/model/model_generator.rb +0 -1
- data/lib/rails/generators/mongoid/model/templates/model.rb.tt +0 -3
- data/lib/rails/generators/mongoid_generator.rb +3 -40
- data/lib/rails/mongoid.rb +59 -57
- data/lib/support/ruby_version.rb +1 -1
- data/spec/app/models/account.rb +2 -6
- data/spec/app/models/acolyte.rb +1 -0
- data/spec/app/models/actor.rb +0 -1
- data/spec/app/models/address.rb +6 -1
- data/spec/app/models/animal.rb +1 -1
- data/spec/app/models/appointment.rb +2 -2
- data/spec/app/models/article.rb +1 -4
- data/spec/app/models/audio.rb +5 -0
- data/spec/app/models/author.rb +0 -2
- data/spec/app/models/band.rb +3 -2
- data/spec/app/models/bar.rb +1 -0
- data/spec/app/models/book.rb +1 -0
- data/spec/app/models/building.rb +0 -2
- data/spec/app/models/building_address.rb +0 -2
- data/spec/app/models/bus.rb +1 -1
- data/spec/app/models/canvas.rb +1 -1
- data/spec/app/models/contractor.rb +0 -2
- data/spec/app/models/country_code.rb +1 -1
- data/spec/app/models/definition.rb +2 -2
- data/spec/app/models/dragon.rb +4 -0
- data/spec/app/models/drug.rb +1 -3
- data/spec/app/models/dungeon.rb +4 -0
- data/spec/app/models/filesystem.rb +1 -0
- data/spec/app/models/fish.rb +0 -1
- data/spec/app/models/fruits.rb +6 -0
- data/spec/app/models/game.rb +0 -2
- data/spec/app/models/house.rb +0 -2
- data/spec/app/models/item.rb +1 -5
- data/spec/app/models/jar.rb +1 -1
- data/spec/app/models/label.rb +4 -4
- data/spec/app/models/login.rb +1 -1
- data/spec/app/models/movie.rb +1 -0
- data/spec/app/models/name.rb +3 -3
- data/spec/app/models/note.rb +1 -1
- data/spec/app/models/oscar.rb +1 -1
- data/spec/app/models/parent_doc.rb +1 -1
- data/spec/app/models/person.rb +13 -8
- data/spec/app/models/phone.rb +1 -3
- data/spec/app/models/player.rb +1 -1
- data/spec/app/models/post.rb +2 -1
- data/spec/app/models/quiz.rb +0 -3
- data/spec/app/models/record.rb +5 -5
- data/spec/app/models/registry.rb +1 -1
- data/spec/app/models/server.rb +1 -1
- data/spec/app/models/service.rb +3 -3
- data/spec/app/models/sound.rb +5 -0
- data/spec/app/models/template.rb +1 -1
- data/spec/app/models/title.rb +0 -1
- data/spec/app/models/track.rb +5 -5
- data/spec/app/models/tree.rb +1 -1
- data/spec/app/models/video.rb +0 -4
- data/spec/app/models/wiki_page.rb +1 -4
- data/spec/app/models/word.rb +3 -0
- data/spec/app/models/word_origin.rb +1 -1
- data/spec/config/mongoid.yml +7 -8
- data/spec/helpers.rb +18 -0
- data/spec/mongoid/atomic/modifiers_spec.rb +22 -22
- data/spec/mongoid/atomic/paths/embedded/many_spec.rb +8 -49
- data/spec/mongoid/atomic/paths/embedded/one_spec.rb +7 -49
- data/spec/mongoid/atomic/paths/root_spec.rb +3 -61
- data/spec/mongoid/atomic/paths_spec.rb +19 -19
- data/spec/mongoid/atomic_spec.rb +19 -19
- data/spec/mongoid/{nested_attributes_spec.rb → attributes/nested_spec.rb} +335 -448
- data/spec/mongoid/attributes/readonly_spec.rb +16 -16
- data/spec/mongoid/attributes_spec.rb +188 -434
- data/spec/mongoid/{dirty_spec.rb → changeable_spec.rb} +117 -148
- data/spec/mongoid/{components_spec.rb → composable_spec.rb} +3 -3
- data/spec/mongoid/config/environment_spec.rb +3 -3
- data/spec/mongoid/config/options_spec.rb +6 -6
- data/spec/mongoid/config_spec.rb +24 -48
- data/spec/mongoid/contextual/aggregable/memory_spec.rb +12 -12
- data/spec/mongoid/contextual/aggregable/mongo_spec.rb +46 -38
- data/spec/mongoid/contextual/atomic_spec.rb +60 -56
- data/spec/mongoid/contextual/find_and_modify_spec.rb +14 -14
- data/spec/mongoid/contextual/geo_near_spec.rb +22 -22
- data/spec/mongoid/contextual/map_reduce_spec.rb +27 -27
- data/spec/mongoid/contextual/memory_spec.rb +94 -94
- data/spec/mongoid/contextual/mongo_spec.rb +225 -139
- data/spec/mongoid/contextual/text_search_spec.rb +207 -0
- data/spec/mongoid/copyable_spec.rb +56 -68
- data/spec/mongoid/criteria/findable_spec.rb +991 -0
- data/spec/mongoid/{criterion/inspection_spec.rb → criteria/inspectable_spec.rb} +5 -5
- data/spec/mongoid/{criterion → criteria}/marshalable_spec.rb +2 -2
- data/spec/mongoid/criteria/modifiable_spec.rb +1063 -0
- data/spec/mongoid/{criterion/scoping_spec.rb → criteria/scopable_spec.rb} +31 -31
- data/spec/mongoid/criteria_spec.rb +530 -2207
- data/spec/mongoid/document_spec.rb +166 -120
- data/spec/mongoid/equality_spec.rb +22 -22
- data/spec/mongoid/errors/ambiguous_relationship_spec.rb +3 -3
- data/spec/mongoid/errors/callback_spec.rb +3 -3
- data/spec/mongoid/errors/delete_restriction_spec.rb +3 -3
- data/spec/mongoid/errors/document_not_found_spec.rb +11 -11
- data/spec/mongoid/errors/eager_load_spec.rb +3 -3
- data/spec/mongoid/errors/invalid_collection_spec.rb +3 -3
- data/spec/mongoid/errors/invalid_config_option_spec.rb +3 -3
- data/spec/mongoid/errors/invalid_field_option_spec.rb +3 -3
- data/spec/mongoid/errors/invalid_field_spec.rb +3 -3
- data/spec/mongoid/errors/invalid_find_spec.rb +3 -3
- data/spec/mongoid/errors/invalid_includes_spec.rb +3 -3
- data/spec/mongoid/errors/invalid_index_spec.rb +3 -3
- data/spec/mongoid/errors/invalid_options_spec.rb +3 -3
- data/spec/mongoid/errors/invalid_path_spec.rb +3 -3
- data/spec/mongoid/errors/invalid_scope_spec.rb +3 -3
- data/spec/mongoid/errors/invalid_set_polymorphic_relation_spec.rb +3 -3
- data/spec/mongoid/errors/invalid_storage_options_spec.rb +3 -3
- data/spec/mongoid/errors/invalid_time_spec.rb +3 -3
- data/spec/mongoid/errors/inverse_not_found_spec.rb +3 -3
- data/spec/mongoid/errors/mixed_relations_spec.rb +3 -3
- data/spec/mongoid/errors/mixed_session_configuration_spec.rb +3 -3
- data/spec/mongoid/errors/mongoid_error_spec.rb +7 -7
- data/spec/mongoid/errors/nested_attributes_metadata_not_found_spec.rb +3 -3
- data/spec/mongoid/errors/no_environment_spec.rb +3 -3
- data/spec/mongoid/errors/no_map_reduce_output_spec.rb +3 -3
- data/spec/mongoid/errors/no_metadata_spec.rb +3 -3
- data/spec/mongoid/errors/no_parent_spec.rb +3 -3
- data/spec/mongoid/errors/no_session_config_spec.rb +3 -3
- data/spec/mongoid/errors/no_session_database_spec.rb +3 -3
- data/spec/mongoid/errors/no_session_hosts_spec.rb +3 -3
- data/spec/mongoid/errors/no_sessions_config_spec.rb +3 -3
- data/spec/mongoid/errors/readonly_attribute_spec.rb +3 -3
- data/spec/mongoid/errors/scope_overwrite_spec.rb +3 -3
- data/spec/mongoid/errors/too_many_nested_attribute_records_spec.rb +3 -3
- data/spec/mongoid/errors/unknown_attribute_spec.rb +5 -5
- data/spec/mongoid/errors/unsaved_document_spec.rb +3 -3
- data/spec/mongoid/errors/unsupported_javascript_spec.rb +3 -3
- data/spec/mongoid/errors/validations_spec.rb +7 -7
- data/spec/mongoid/extensions/array_spec.rb +61 -61
- data/spec/mongoid/extensions/big_decimal_spec.rb +11 -11
- data/spec/mongoid/extensions/binary_spec.rb +12 -12
- data/spec/mongoid/extensions/boolean_spec.rb +18 -18
- data/spec/mongoid/extensions/date_spec.rb +13 -13
- data/spec/mongoid/extensions/date_time_spec.rb +9 -9
- data/spec/mongoid/extensions/false_class_spec.rb +5 -5
- data/spec/mongoid/extensions/float_spec.rb +29 -15
- data/spec/mongoid/extensions/hash_spec.rb +29 -29
- data/spec/mongoid/extensions/integer_spec.rb +15 -15
- data/spec/mongoid/extensions/module_spec.rb +2 -2
- data/spec/mongoid/extensions/nil_class_spec.rb +1 -1
- data/spec/mongoid/extensions/object_id_spec.rb +134 -134
- data/spec/mongoid/extensions/object_spec.rb +26 -26
- data/spec/mongoid/extensions/range_spec.rb +61 -12
- data/spec/mongoid/extensions/regexp_spec.rb +4 -4
- data/spec/mongoid/extensions/set_spec.rb +4 -4
- data/spec/mongoid/extensions/string_spec.rb +35 -46
- data/spec/mongoid/extensions/symbol_spec.rb +9 -9
- data/spec/mongoid/extensions/time_spec.rb +49 -49
- data/spec/mongoid/extensions/time_with_zone_spec.rb +34 -34
- data/spec/mongoid/extensions/true_class_spec.rb +5 -5
- data/spec/mongoid/extensions_spec.rb +15 -0
- data/spec/mongoid/factory_spec.rb +15 -15
- data/spec/mongoid/fields/foreign_key_spec.rb +73 -66
- data/spec/mongoid/fields/internal/foreign_keys/array_spec.rb +15 -15
- data/spec/mongoid/fields/internal/foreign_keys/object_spec.rb +22 -22
- data/spec/mongoid/fields/localized_spec.rb +23 -23
- data/spec/mongoid/fields/standard_spec.rb +12 -12
- data/spec/mongoid/fields_spec.rb +168 -209
- data/spec/mongoid/{finders_spec.rb → findable_spec.rb} +62 -27
- data/spec/mongoid/indexable/specification_spec.rb +102 -0
- data/spec/mongoid/{indexes_spec.rb → indexable_spec.rb} +171 -51
- data/spec/mongoid/{inspection_spec.rb → inspectable_spec.rb} +6 -14
- data/spec/mongoid/{callbacks_spec.rb → interceptable_spec.rb} +105 -105
- data/spec/mongoid/log_subscriber_spec.rb +74 -0
- data/spec/mongoid/loggable_spec.rb +1 -1
- data/spec/mongoid/{matchers → matchable}/all_spec.rb +4 -4
- data/spec/mongoid/{matchers → matchable}/and_spec.rb +11 -11
- data/spec/mongoid/{matchers → matchable}/default_spec.rb +15 -15
- data/spec/mongoid/{matchers → matchable}/exists_spec.rb +5 -5
- data/spec/mongoid/{matchers → matchable}/gt_spec.rb +9 -8
- data/spec/mongoid/{matchers → matchable}/gte_spec.rb +7 -7
- data/spec/mongoid/matchable/in_spec.rb +49 -0
- data/spec/mongoid/{matchers → matchable}/lt_spec.rb +7 -7
- data/spec/mongoid/{matchers → matchable}/lte_spec.rb +7 -7
- data/spec/mongoid/{matchers → matchable}/ne_spec.rb +3 -3
- data/spec/mongoid/matchable/nin_spec.rb +48 -0
- data/spec/mongoid/{matchers → matchable}/or_spec.rb +6 -6
- data/spec/mongoid/{matchers → matchable}/size_spec.rb +3 -3
- data/spec/mongoid/{matchers_spec.rb → matchable_spec.rb} +41 -41
- data/spec/mongoid/persistable/creatable_spec.rb +512 -0
- data/spec/mongoid/persistable/deletable_spec.rb +205 -0
- data/spec/mongoid/persistable/destroyable_spec.rb +148 -0
- data/spec/mongoid/persistable/incrementable_spec.rb +173 -0
- data/spec/mongoid/persistable/logical_spec.rb +143 -0
- data/spec/mongoid/persistable/poppable_spec.rb +115 -0
- data/spec/mongoid/persistable/pullable_spec.rb +228 -0
- data/spec/mongoid/persistable/pushable_spec.rb +258 -0
- data/spec/mongoid/persistable/renamable_spec.rb +135 -0
- data/spec/mongoid/persistable/savable_spec.rb +432 -0
- data/spec/mongoid/persistable/settable_spec.rb +139 -0
- data/spec/mongoid/persistable/unsettable_spec.rb +155 -0
- data/spec/mongoid/persistable/updatable_spec.rb +558 -0
- data/spec/mongoid/persistable/upsertable_spec.rb +106 -0
- data/spec/mongoid/persistable_spec.rb +206 -0
- data/spec/mongoid/{atomic/positionable_spec.rb → positional_spec.rb} +19 -14
- data/spec/mongoid/railties/document_spec.rb +2 -2
- data/spec/mongoid/relations/accessors_spec.rb +53 -145
- data/spec/mongoid/relations/auto_save_spec.rb +36 -16
- data/spec/mongoid/relations/bindings/embedded/in_spec.rb +6 -6
- data/spec/mongoid/relations/bindings/embedded/many_spec.rb +2 -2
- data/spec/mongoid/relations/bindings/embedded/one_spec.rb +3 -3
- data/spec/mongoid/relations/bindings/referenced/in_spec.rb +12 -12
- data/spec/mongoid/relations/bindings/referenced/many_spec.rb +6 -6
- data/spec/mongoid/relations/bindings/referenced/many_to_many_spec.rb +9 -9
- data/spec/mongoid/relations/bindings/referenced/one_spec.rb +6 -6
- data/spec/mongoid/relations/builders/embedded/in_spec.rb +4 -4
- data/spec/mongoid/relations/builders/embedded/many_spec.rb +18 -18
- data/spec/mongoid/relations/builders/embedded/one_spec.rb +11 -11
- data/spec/mongoid/relations/builders/nested_attributes/many_spec.rb +12 -13
- data/spec/mongoid/relations/builders/nested_attributes/one_spec.rb +14 -14
- data/spec/mongoid/relations/builders/referenced/in_spec.rb +22 -33
- data/spec/mongoid/relations/builders/referenced/many_spec.rb +15 -15
- data/spec/mongoid/relations/builders/referenced/many_to_many_spec.rb +18 -18
- data/spec/mongoid/relations/builders/referenced/one_spec.rb +11 -24
- data/spec/mongoid/relations/builders_spec.rb +21 -21
- data/spec/mongoid/relations/cascading/delete_spec.rb +7 -7
- data/spec/mongoid/relations/cascading/destroy_spec.rb +2 -2
- data/spec/mongoid/relations/cascading/nullify_spec.rb +2 -2
- data/spec/mongoid/relations/cascading/restrict_spec.rb +3 -3
- data/spec/mongoid/relations/cascading_spec.rb +16 -16
- data/spec/mongoid/relations/constraint_spec.rb +8 -7
- data/spec/mongoid/relations/conversions_spec.rb +16 -14
- data/spec/mongoid/relations/counter_cache_spec.rb +85 -0
- data/spec/mongoid/relations/cyclic_spec.rb +18 -18
- data/spec/mongoid/relations/eager/belongs_to_spec.rb +154 -0
- data/spec/mongoid/relations/eager/has_and_belongs_to_many_spec.rb +143 -0
- data/spec/mongoid/relations/eager/has_many_spec.rb +207 -0
- data/spec/mongoid/relations/eager/has_one_spec.rb +163 -0
- data/spec/mongoid/relations/eager_spec.rb +228 -0
- data/spec/mongoid/relations/embedded/dirty_spec.rb +8 -8
- data/spec/mongoid/relations/embedded/in_spec.rb +55 -56
- data/spec/mongoid/relations/embedded/many_spec.rb +357 -367
- data/spec/mongoid/relations/embedded/one_spec.rb +98 -139
- data/spec/mongoid/relations/macros_spec.rb +108 -102
- data/spec/mongoid/relations/metadata_spec.rb +147 -241
- data/spec/mongoid/relations/options_spec.rb +1 -1
- data/spec/mongoid/relations/polymorphic_spec.rb +13 -17
- data/spec/mongoid/relations/proxy_spec.rb +2 -2
- data/spec/mongoid/relations/referenced/in_spec.rb +128 -303
- data/spec/mongoid/relations/referenced/many_spec.rb +379 -522
- data/spec/mongoid/relations/referenced/many_to_many_spec.rb +345 -417
- data/spec/mongoid/relations/referenced/one_spec.rb +148 -263
- data/spec/mongoid/relations/reflections_spec.rb +6 -6
- data/spec/mongoid/relations/synchronization_spec.rb +46 -50
- data/spec/mongoid/relations/targets/enumerable_spec.rb +116 -116
- data/spec/mongoid/relations/touchable_spec.rb +296 -0
- data/spec/mongoid/relations_spec.rb +16 -15
- data/spec/mongoid/{reloading_spec.rb → reloadable_spec.rb} +20 -60
- data/spec/mongoid/{scoping_spec.rb → scopable_spec.rb} +74 -126
- data/spec/mongoid/selectable_spec.rb +134 -0
- data/spec/mongoid/{serialization_spec.rb → serializable_spec.rb} +111 -82
- data/spec/mongoid/sessions/factory_spec.rb +49 -28
- data/spec/mongoid/sessions/mongo_uri_spec.rb +7 -7
- data/spec/mongoid/sessions/options_spec.rb +92 -0
- data/spec/mongoid/sessions_spec.rb +288 -177
- data/spec/mongoid/{sharding_spec.rb → shardable_spec.rb} +8 -8
- data/spec/mongoid/state_spec.rb +10 -10
- data/spec/mongoid/threaded_spec.rb +17 -70
- data/spec/mongoid/timestamps/created/short_spec.rb +6 -6
- data/spec/mongoid/timestamps/created_spec.rb +5 -5
- data/spec/mongoid/timestamps/updated/short_spec.rb +10 -10
- data/spec/mongoid/timestamps/updated_spec.rb +8 -12
- data/spec/mongoid/timestamps_spec.rb +7 -11
- data/spec/mongoid/{hierarchy_spec.rb → traversable_spec.rb} +19 -19
- data/spec/mongoid/{validations → validatable}/associated_spec.rb +18 -18
- data/spec/mongoid/{validations → validatable}/format_spec.rb +6 -6
- data/spec/mongoid/{validations → validatable}/length_spec.rb +7 -7
- data/spec/mongoid/{validations → validatable}/numericality_spec.rb +1 -1
- data/spec/mongoid/{validations → validatable}/presence_spec.rb +31 -38
- data/spec/mongoid/{validations → validatable}/uniqueness_spec.rb +126 -183
- data/spec/mongoid/{validations_spec.rb → validatable_spec.rb} +28 -28
- data/spec/mongoid_spec.rb +8 -8
- data/spec/rails/mongoid_spec.rb +72 -87
- data/spec/spec_helper.rb +19 -17
- metadata +261 -283
- data/lib/mongoid/atomic/positionable.rb +0 -73
- data/lib/mongoid/components.rb +0 -92
- data/lib/mongoid/config/inflections.rb +0 -6
- data/lib/mongoid/contextual/eager.rb +0 -158
- data/lib/mongoid/criterion/findable.rb +0 -179
- data/lib/mongoid/errors/versioning_not_on_root.rb +0 -23
- data/lib/mongoid/identity_map.rb +0 -163
- data/lib/mongoid/json.rb +0 -16
- data/lib/mongoid/matchers.rb +0 -32
- data/lib/mongoid/matchers/strategies.rb +0 -97
- data/lib/mongoid/multi_parameter_attributes.rb +0 -105
- data/lib/mongoid/nested_attributes.rb +0 -78
- data/lib/mongoid/observer.rb +0 -192
- data/lib/mongoid/paranoia.rb +0 -136
- data/lib/mongoid/persistence.rb +0 -357
- data/lib/mongoid/persistence/atomic.rb +0 -231
- data/lib/mongoid/persistence/atomic/add_to_set.rb +0 -47
- data/lib/mongoid/persistence/atomic/bit.rb +0 -35
- data/lib/mongoid/persistence/atomic/inc.rb +0 -45
- data/lib/mongoid/persistence/atomic/operation.rb +0 -154
- data/lib/mongoid/persistence/atomic/pop.rb +0 -32
- data/lib/mongoid/persistence/atomic/pull.rb +0 -32
- data/lib/mongoid/persistence/atomic/pull_all.rb +0 -32
- data/lib/mongoid/persistence/atomic/push.rb +0 -25
- data/lib/mongoid/persistence/atomic/push_all.rb +0 -25
- data/lib/mongoid/persistence/atomic/rename.rb +0 -30
- data/lib/mongoid/persistence/atomic/sets.rb +0 -28
- data/lib/mongoid/persistence/atomic/unset.rb +0 -27
- data/lib/mongoid/persistence/deletion.rb +0 -31
- data/lib/mongoid/persistence/insertion.rb +0 -38
- data/lib/mongoid/persistence/modification.rb +0 -35
- data/lib/mongoid/persistence/operations.rb +0 -214
- data/lib/mongoid/persistence/operations/embedded/insert.rb +0 -46
- data/lib/mongoid/persistence/operations/embedded/remove.rb +0 -43
- data/lib/mongoid/persistence/operations/insert.rb +0 -34
- data/lib/mongoid/persistence/operations/remove.rb +0 -33
- data/lib/mongoid/persistence/operations/update.rb +0 -59
- data/lib/mongoid/persistence/operations/upsert.rb +0 -28
- data/lib/mongoid/persistence/upsertion.rb +0 -31
- data/lib/mongoid/unit_of_work.rb +0 -61
- data/lib/mongoid/versioning.rb +0 -217
- data/lib/rack/mongoid.rb +0 -2
- data/lib/rack/mongoid/middleware/identity_map.rb +0 -39
- data/lib/rails/generators/mongoid/observer/observer_generator.rb +0 -17
- data/lib/rails/generators/mongoid/observer/templates/observer.rb.tt +0 -4
- data/spec/app/models/actor_observer.rb +0 -15
- data/spec/app/models/callback_recorder.rb +0 -25
- data/spec/app/models/draft.rb +0 -9
- data/spec/app/models/paranoid_phone.rb +0 -25
- data/spec/app/models/paranoid_post.rb +0 -36
- data/spec/app/models/phone_observer.rb +0 -6
- data/spec/mongoid/#atomic_spec.rb# +0 -365
- data/spec/mongoid/attributes/processing_spec.rb +0 -149
- data/spec/mongoid/criterion/destructive_spec.rb +0 -101
- data/spec/mongoid/criterion/modifiable_spec.rb +0 -409
- data/spec/mongoid/criterion/modification_spec.rb +0 -402
- data/spec/mongoid/errors/versioning_not_on_root_spec.rb +0 -29
- data/spec/mongoid/identity_map_spec.rb +0 -564
- data/spec/mongoid/json_spec.rb +0 -33
- data/spec/mongoid/matchers/in_spec.rb +0 -25
- data/spec/mongoid/matchers/nin_spec.rb +0 -25
- data/spec/mongoid/multi_parameter_attributes_spec.rb +0 -128
- data/spec/mongoid/observer_spec.rb +0 -290
- data/spec/mongoid/paranoia_spec.rb +0 -759
- data/spec/mongoid/persistence/atomic/add_to_set_spec.rb +0 -262
- data/spec/mongoid/persistence/atomic/bit_spec.rb +0 -88
- data/spec/mongoid/persistence/atomic/inc_spec.rb +0 -133
- data/spec/mongoid/persistence/atomic/pop_spec.rb +0 -111
- data/spec/mongoid/persistence/atomic/pull_all_spec.rb +0 -77
- data/spec/mongoid/persistence/atomic/pull_spec.rb +0 -80
- data/spec/mongoid/persistence/atomic/push_all_spec.rb +0 -77
- data/spec/mongoid/persistence/atomic/push_spec.rb +0 -77
- data/spec/mongoid/persistence/atomic/rename_spec.rb +0 -42
- data/spec/mongoid/persistence/atomic/sets_spec.rb +0 -154
- data/spec/mongoid/persistence/atomic/unset_spec.rb +0 -65
- data/spec/mongoid/persistence/atomic_spec.rb +0 -216
- data/spec/mongoid/persistence/operations/embedded/insert_spec.rb +0 -191
- data/spec/mongoid/persistence/operations/embedded/remove_spec.rb +0 -8
- data/spec/mongoid/persistence/operations/insert_spec.rb +0 -149
- data/spec/mongoid/persistence/operations/remove_spec.rb +0 -113
- data/spec/mongoid/persistence/operations/update_spec.rb +0 -141
- data/spec/mongoid/persistence/operations/upsert_spec.rb +0 -59
- data/spec/mongoid/persistence/operations_spec.rb +0 -313
- data/spec/mongoid/persistence_spec.rb +0 -2279
- data/spec/mongoid/unit_of_work_spec.rb +0 -196
- data/spec/mongoid/versioning_spec.rb +0 -540
- data/spec/rack/mongoid/middleware/identity_map_spec.rb +0 -72
@@ -5,7 +5,6 @@ describe Mongoid::Relations::AutoSave do
|
|
5
5
|
describe ".auto_save" do
|
6
6
|
|
7
7
|
before(:all) do
|
8
|
-
Person.autosaved_relations.delete_one(:account)
|
9
8
|
Person.autosave(Person.relations["account"].merge!(autosave: true))
|
10
9
|
end
|
11
10
|
|
@@ -34,7 +33,7 @@ describe Mongoid::Relations::AutoSave do
|
|
34
33
|
end
|
35
34
|
|
36
35
|
it "does not save the relation" do
|
37
|
-
game.
|
36
|
+
expect(game).to_not be_persisted
|
38
37
|
end
|
39
38
|
end
|
40
39
|
end
|
@@ -48,7 +47,6 @@ describe Mongoid::Relations::AutoSave do
|
|
48
47
|
end
|
49
48
|
|
50
49
|
before do
|
51
|
-
Person.autosaved_relations.delete_one(:drugs)
|
52
50
|
Person.autosave(metadata)
|
53
51
|
Person.autosave(metadata)
|
54
52
|
end
|
@@ -78,7 +76,7 @@ describe Mongoid::Relations::AutoSave do
|
|
78
76
|
end
|
79
77
|
|
80
78
|
it "saves the relation" do
|
81
|
-
drug.
|
79
|
+
expect(drug).to be_persisted
|
82
80
|
end
|
83
81
|
end
|
84
82
|
|
@@ -91,7 +89,7 @@ describe Mongoid::Relations::AutoSave do
|
|
91
89
|
end
|
92
90
|
|
93
91
|
it "saves the relation" do
|
94
|
-
drug.
|
92
|
+
expect(drug).to be_persisted
|
95
93
|
end
|
96
94
|
end
|
97
95
|
|
@@ -108,7 +106,7 @@ describe Mongoid::Relations::AutoSave do
|
|
108
106
|
|
109
107
|
it 'does not load the association' do
|
110
108
|
from_db.save
|
111
|
-
from_db.ivar(:drugs).
|
109
|
+
expect(from_db.ivar(:drugs)).to be false
|
112
110
|
end
|
113
111
|
end
|
114
112
|
end
|
@@ -127,7 +125,11 @@ describe Mongoid::Relations::AutoSave do
|
|
127
125
|
end
|
128
126
|
|
129
127
|
it "saves the relation" do
|
130
|
-
account.
|
128
|
+
expect(account).to be_persisted
|
129
|
+
end
|
130
|
+
|
131
|
+
it "persists on the database" do
|
132
|
+
expect(account.reload).to_not be_nil
|
131
133
|
end
|
132
134
|
end
|
133
135
|
|
@@ -140,7 +142,26 @@ describe Mongoid::Relations::AutoSave do
|
|
140
142
|
end
|
141
143
|
|
142
144
|
it "saves the relation" do
|
143
|
-
account.
|
145
|
+
expect(account).to be_persisted
|
146
|
+
end
|
147
|
+
|
148
|
+
it "persists on the database" do
|
149
|
+
expect(account.reload).to_not be_nil
|
150
|
+
end
|
151
|
+
end
|
152
|
+
|
153
|
+
context "when updating the child" do
|
154
|
+
|
155
|
+
before do
|
156
|
+
person.account = account
|
157
|
+
person.save
|
158
|
+
end
|
159
|
+
|
160
|
+
it "sends one insert" do
|
161
|
+
account.name = "account"
|
162
|
+
expect_query(1) do
|
163
|
+
person.with(write: {w:0}).save
|
164
|
+
end
|
144
165
|
end
|
145
166
|
end
|
146
167
|
|
@@ -157,7 +178,7 @@ describe Mongoid::Relations::AutoSave do
|
|
157
178
|
|
158
179
|
it 'does not load the association' do
|
159
180
|
from_db.save
|
160
|
-
from_db.ivar(:account).
|
181
|
+
expect(from_db.ivar(:account)).to be false
|
161
182
|
end
|
162
183
|
end
|
163
184
|
end
|
@@ -180,7 +201,7 @@ describe Mongoid::Relations::AutoSave do
|
|
180
201
|
end
|
181
202
|
|
182
203
|
it "saves the relation" do
|
183
|
-
movie.
|
204
|
+
expect(movie).to be_persisted
|
184
205
|
end
|
185
206
|
end
|
186
207
|
|
@@ -193,7 +214,7 @@ describe Mongoid::Relations::AutoSave do
|
|
193
214
|
end
|
194
215
|
|
195
216
|
it "saves the relation" do
|
196
|
-
movie.
|
217
|
+
expect(movie).to be_persisted
|
197
218
|
end
|
198
219
|
end
|
199
220
|
end
|
@@ -201,7 +222,6 @@ describe Mongoid::Relations::AutoSave do
|
|
201
222
|
context "when it has two ralations with autosaves" do
|
202
223
|
|
203
224
|
before do
|
204
|
-
Person.autosaved_relations.delete_one(:drugs)
|
205
225
|
Person.autosave(Person.relations["drugs"].merge!(autosave: true))
|
206
226
|
end
|
207
227
|
|
@@ -233,11 +253,11 @@ describe Mongoid::Relations::AutoSave do
|
|
233
253
|
end
|
234
254
|
|
235
255
|
it 'loads the updated association' do
|
236
|
-
from_db.ivar(:drugs).
|
256
|
+
expect(from_db.ivar(:drugs)).to eq([placebo])
|
237
257
|
end
|
238
258
|
|
239
259
|
it 'doest not load the other association' do
|
240
|
-
from_db.ivar(:account).
|
260
|
+
expect(from_db.ivar(:account)).to be false
|
241
261
|
end
|
242
262
|
end
|
243
263
|
|
@@ -248,11 +268,11 @@ describe Mongoid::Relations::AutoSave do
|
|
248
268
|
end
|
249
269
|
|
250
270
|
it 'doest not load drugs association' do
|
251
|
-
from_db.ivar(:drugs).
|
271
|
+
expect(from_db.ivar(:drugs)).to be false
|
252
272
|
end
|
253
273
|
|
254
274
|
it 'doest not load account association' do
|
255
|
-
from_db.ivar(:account).
|
275
|
+
expect(from_db.ivar(:account)).to be false
|
256
276
|
end
|
257
277
|
end
|
258
278
|
end
|
@@ -41,11 +41,11 @@ describe Mongoid::Relations::Bindings::Embedded::In do
|
|
41
41
|
end
|
42
42
|
|
43
43
|
it "parentizes the documents" do
|
44
|
-
name._parent.
|
44
|
+
expect(name._parent).to eq(person)
|
45
45
|
end
|
46
46
|
|
47
47
|
it "sets the inverse relation" do
|
48
|
-
person.name.
|
48
|
+
expect(person.name).to eq(name)
|
49
49
|
end
|
50
50
|
end
|
51
51
|
|
@@ -77,11 +77,11 @@ describe Mongoid::Relations::Bindings::Embedded::In do
|
|
77
77
|
end
|
78
78
|
|
79
79
|
it "parentizes the documents" do
|
80
|
-
address._parent.
|
80
|
+
expect(address._parent).to eq(person)
|
81
81
|
end
|
82
82
|
|
83
83
|
it "sets the inverse relation" do
|
84
|
-
person.addresses.
|
84
|
+
expect(person.addresses).to include(address)
|
85
85
|
end
|
86
86
|
end
|
87
87
|
|
@@ -128,7 +128,7 @@ describe Mongoid::Relations::Bindings::Embedded::In do
|
|
128
128
|
end
|
129
129
|
|
130
130
|
it "removes the inverse relation" do
|
131
|
-
person.name.
|
131
|
+
expect(person.name).to be_nil
|
132
132
|
end
|
133
133
|
end
|
134
134
|
|
@@ -155,7 +155,7 @@ describe Mongoid::Relations::Bindings::Embedded::In do
|
|
155
155
|
end
|
156
156
|
|
157
157
|
it "removes the inverse relation" do
|
158
|
-
person.addresses.
|
158
|
+
expect(person.addresses).to be_empty
|
159
159
|
end
|
160
160
|
end
|
161
161
|
|
@@ -35,11 +35,11 @@ describe Mongoid::Relations::Bindings::Embedded::Many do
|
|
35
35
|
end
|
36
36
|
|
37
37
|
it "parentizes the document" do
|
38
|
-
address_two._parent.
|
38
|
+
expect(address_two._parent).to eq(person)
|
39
39
|
end
|
40
40
|
|
41
41
|
it "sets the inverse relation" do
|
42
|
-
address_two.addressable.
|
42
|
+
expect(address_two.addressable).to eq(person)
|
43
43
|
end
|
44
44
|
end
|
45
45
|
|
@@ -27,11 +27,11 @@ describe Mongoid::Relations::Bindings::Embedded::One do
|
|
27
27
|
end
|
28
28
|
|
29
29
|
it "parentizes the documents" do
|
30
|
-
target._parent.
|
30
|
+
expect(target._parent).to eq(person)
|
31
31
|
end
|
32
32
|
|
33
33
|
it "sets the inverse relation" do
|
34
|
-
target.namable.
|
34
|
+
expect(target.namable).to eq(person)
|
35
35
|
end
|
36
36
|
end
|
37
37
|
|
@@ -62,7 +62,7 @@ describe Mongoid::Relations::Bindings::Embedded::One do
|
|
62
62
|
end
|
63
63
|
|
64
64
|
it "removes the inverse relation" do
|
65
|
-
target.namable.
|
65
|
+
expect(target.namable).to be_nil
|
66
66
|
end
|
67
67
|
end
|
68
68
|
|
@@ -39,11 +39,11 @@ describe Mongoid::Relations::Bindings::Referenced::In do
|
|
39
39
|
end
|
40
40
|
|
41
41
|
it "sets the inverse relation" do
|
42
|
-
person.game.
|
42
|
+
expect(person.game).to eq(game)
|
43
43
|
end
|
44
44
|
|
45
45
|
it "sets the foreign key" do
|
46
|
-
game.person_id.
|
46
|
+
expect(game.person_id).to eq(person.id)
|
47
47
|
end
|
48
48
|
end
|
49
49
|
|
@@ -62,7 +62,7 @@ describe Mongoid::Relations::Bindings::Referenced::In do
|
|
62
62
|
end
|
63
63
|
|
64
64
|
it "sets the inverse relation" do
|
65
|
-
person.game.
|
65
|
+
expect(person.game).to eq(game)
|
66
66
|
end
|
67
67
|
|
68
68
|
let(:person) do
|
@@ -70,7 +70,7 @@ describe Mongoid::Relations::Bindings::Referenced::In do
|
|
70
70
|
end
|
71
71
|
|
72
72
|
it "sets the fk with username field" do
|
73
|
-
game.person_id.
|
73
|
+
expect(game.person_id).to eq(person.username)
|
74
74
|
end
|
75
75
|
end
|
76
76
|
|
@@ -102,11 +102,11 @@ describe Mongoid::Relations::Bindings::Referenced::In do
|
|
102
102
|
end
|
103
103
|
|
104
104
|
it "sets the inverse relation" do
|
105
|
-
person.posts.
|
105
|
+
expect(person.posts).to include(post)
|
106
106
|
end
|
107
107
|
|
108
108
|
it "sets the foreign key" do
|
109
|
-
post.person_id.
|
109
|
+
expect(post.person_id).to eq(person.id)
|
110
110
|
end
|
111
111
|
end
|
112
112
|
|
@@ -142,11 +142,11 @@ describe Mongoid::Relations::Bindings::Referenced::In do
|
|
142
142
|
end
|
143
143
|
|
144
144
|
it "removes the inverse relation" do
|
145
|
-
person.game.
|
145
|
+
expect(person.game).to be_nil
|
146
146
|
end
|
147
147
|
|
148
148
|
it "removed the foreign key" do
|
149
|
-
game.person_id.
|
149
|
+
expect(game.person_id).to be_nil
|
150
150
|
end
|
151
151
|
end
|
152
152
|
|
@@ -175,11 +175,11 @@ describe Mongoid::Relations::Bindings::Referenced::In do
|
|
175
175
|
end
|
176
176
|
|
177
177
|
it "removes the inverse relation" do
|
178
|
-
person.posts.
|
178
|
+
expect(person.posts).to be_empty
|
179
179
|
end
|
180
180
|
|
181
181
|
it "removes the foreign key" do
|
182
|
-
post.person_id.
|
182
|
+
expect(post.person_id).to be_nil
|
183
183
|
end
|
184
184
|
end
|
185
185
|
|
@@ -210,7 +210,7 @@ describe Mongoid::Relations::Bindings::Referenced::In do
|
|
210
210
|
end
|
211
211
|
|
212
212
|
it "does not set the foreign key" do
|
213
|
-
game.person_id.
|
213
|
+
expect(game.person_id).to be_nil
|
214
214
|
end
|
215
215
|
end
|
216
216
|
end
|
@@ -234,7 +234,7 @@ describe Mongoid::Relations::Bindings::Referenced::In do
|
|
234
234
|
end
|
235
235
|
|
236
236
|
it "does not unset the foreign key" do
|
237
|
-
game.person_id.
|
237
|
+
expect(game.person_id).to eq(person.id)
|
238
238
|
end
|
239
239
|
end
|
240
240
|
end
|
@@ -35,11 +35,11 @@ describe Mongoid::Relations::Bindings::Referenced::Many do
|
|
35
35
|
end
|
36
36
|
|
37
37
|
it "sets the inverse relation" do
|
38
|
-
post_two.person.
|
38
|
+
expect(post_two.person).to eq(person)
|
39
39
|
end
|
40
40
|
|
41
41
|
it "sets the foreign key" do
|
42
|
-
post_two.person_id.
|
42
|
+
expect(post_two.person_id).to eq(person.id)
|
43
43
|
end
|
44
44
|
end
|
45
45
|
|
@@ -68,11 +68,11 @@ describe Mongoid::Relations::Bindings::Referenced::Many do
|
|
68
68
|
end
|
69
69
|
|
70
70
|
it "removes the inverse relation" do
|
71
|
-
post.person.
|
71
|
+
expect(post.person).to be_nil
|
72
72
|
end
|
73
73
|
|
74
74
|
it "removes the foreign keys" do
|
75
|
-
post.person_id.
|
75
|
+
expect(post.person_id).to be_nil
|
76
76
|
end
|
77
77
|
end
|
78
78
|
|
@@ -102,7 +102,7 @@ describe Mongoid::Relations::Bindings::Referenced::Many do
|
|
102
102
|
end
|
103
103
|
|
104
104
|
it "does not set the foreign key" do
|
105
|
-
post.person_id.
|
105
|
+
expect(post.person_id).to be_nil
|
106
106
|
end
|
107
107
|
end
|
108
108
|
end
|
@@ -126,7 +126,7 @@ describe Mongoid::Relations::Bindings::Referenced::Many do
|
|
126
126
|
end
|
127
127
|
|
128
128
|
it "does not unset the foreign key" do
|
129
|
-
post.person_id.
|
129
|
+
expect(post.person_id).to eq(person.id)
|
130
130
|
end
|
131
131
|
end
|
132
132
|
end
|
@@ -35,7 +35,7 @@ describe Mongoid::Relations::Bindings::Referenced::ManyToMany do
|
|
35
35
|
end
|
36
36
|
|
37
37
|
it "sets the inverse foreign key" do
|
38
|
-
preference_two.person_ids.
|
38
|
+
expect(preference_two.person_ids).to eq([ person.id ])
|
39
39
|
end
|
40
40
|
|
41
41
|
it "passes the binding options through to the inverse" do
|
@@ -43,11 +43,11 @@ describe Mongoid::Relations::Bindings::Referenced::ManyToMany do
|
|
43
43
|
end
|
44
44
|
|
45
45
|
it "syncs the base" do
|
46
|
-
person.
|
46
|
+
expect(person).to be_synced("preference_ids")
|
47
47
|
end
|
48
48
|
|
49
49
|
it "syncs the inverse" do
|
50
|
-
preference_two.
|
50
|
+
expect(preference_two).to be_synced("person_ids")
|
51
51
|
end
|
52
52
|
end
|
53
53
|
|
@@ -90,19 +90,19 @@ describe Mongoid::Relations::Bindings::Referenced::ManyToMany do
|
|
90
90
|
end
|
91
91
|
|
92
92
|
it "removes the inverse relation" do
|
93
|
-
preference.people.
|
93
|
+
expect(preference.people).to be_empty
|
94
94
|
end
|
95
95
|
|
96
96
|
it "removed the foreign keys" do
|
97
|
-
preference.person_ids.
|
97
|
+
expect(preference.person_ids).to be_empty
|
98
98
|
end
|
99
99
|
|
100
100
|
it "syncs the base" do
|
101
|
-
person.
|
101
|
+
expect(person).to be_synced("preference_ids")
|
102
102
|
end
|
103
103
|
|
104
104
|
it "syncs the inverse" do
|
105
|
-
preference.
|
105
|
+
expect(preference).to be_synced("person_ids")
|
106
106
|
end
|
107
107
|
end
|
108
108
|
|
@@ -147,7 +147,7 @@ describe Mongoid::Relations::Bindings::Referenced::ManyToMany do
|
|
147
147
|
end
|
148
148
|
|
149
149
|
it "does not set the foreign key" do
|
150
|
-
preference.person_ids.
|
150
|
+
expect(preference.person_ids).to be_nil
|
151
151
|
end
|
152
152
|
end
|
153
153
|
end
|
@@ -171,7 +171,7 @@ describe Mongoid::Relations::Bindings::Referenced::ManyToMany do
|
|
171
171
|
end
|
172
172
|
|
173
173
|
it "does not unset the foreign key" do
|
174
|
-
preference.person_ids.
|
174
|
+
expect(preference.person_ids).to eq([ person.id ])
|
175
175
|
end
|
176
176
|
end
|
177
177
|
end
|
@@ -29,11 +29,11 @@ describe Mongoid::Relations::Bindings::Referenced::One do
|
|
29
29
|
end
|
30
30
|
|
31
31
|
it "sets the inverse relation" do
|
32
|
-
game.person.
|
32
|
+
expect(game.person).to eq(person)
|
33
33
|
end
|
34
34
|
|
35
35
|
it "sets the foreign key" do
|
36
|
-
game.person_id.
|
36
|
+
expect(game.person_id).to eq(person.id)
|
37
37
|
end
|
38
38
|
end
|
39
39
|
|
@@ -66,11 +66,11 @@ describe Mongoid::Relations::Bindings::Referenced::One do
|
|
66
66
|
end
|
67
67
|
|
68
68
|
it "removes the inverse relation" do
|
69
|
-
game.person.
|
69
|
+
expect(game.person).to be_nil
|
70
70
|
end
|
71
71
|
|
72
72
|
it "removed the foreign key" do
|
73
|
-
game.person_id.
|
73
|
+
expect(game.person_id).to be_nil
|
74
74
|
end
|
75
75
|
end
|
76
76
|
|
@@ -100,7 +100,7 @@ describe Mongoid::Relations::Bindings::Referenced::One do
|
|
100
100
|
end
|
101
101
|
|
102
102
|
it "does not set the foreign key" do
|
103
|
-
game.person_id.
|
103
|
+
expect(game.person_id).to be_nil
|
104
104
|
end
|
105
105
|
end
|
106
106
|
end
|
@@ -124,7 +124,7 @@ describe Mongoid::Relations::Bindings::Referenced::One do
|
|
124
124
|
end
|
125
125
|
|
126
126
|
it "does not unset the foreign key" do
|
127
|
-
game.person_id.
|
127
|
+
expect(game.person_id).to eq(person.id)
|
128
128
|
end
|
129
129
|
end
|
130
130
|
end
|