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
@@ -1,15 +1,11 @@
|
|
1
1
|
require "spec_helper"
|
2
2
|
|
3
|
-
describe Mongoid::
|
3
|
+
describe Mongoid::Inspectable do
|
4
4
|
|
5
5
|
describe "#inspect" do
|
6
6
|
|
7
7
|
context "when not allowing dynamic fields" do
|
8
8
|
|
9
|
-
before do
|
10
|
-
Mongoid.configure.allow_dynamic_fields = false
|
11
|
-
end
|
12
|
-
|
13
9
|
let(:person) do
|
14
10
|
Person.new(title: "CEO")
|
15
11
|
end
|
@@ -19,19 +15,19 @@ describe Mongoid::Inspection do
|
|
19
15
|
end
|
20
16
|
|
21
17
|
it "includes the model type" do
|
22
|
-
inspected.
|
18
|
+
expect(inspected).to include("#<Person")
|
23
19
|
end
|
24
20
|
|
25
21
|
it "displays the id" do
|
26
|
-
inspected.
|
22
|
+
expect(inspected).to include("_id: #{person.id}")
|
27
23
|
end
|
28
24
|
|
29
25
|
it "displays defined fields" do
|
30
|
-
inspected.
|
26
|
+
expect(inspected).to include("title: \"CEO\"")
|
31
27
|
end
|
32
28
|
|
33
29
|
it "displays field aliases" do
|
34
|
-
inspected.
|
30
|
+
expect(inspected).to include("t(test):")
|
35
31
|
end
|
36
32
|
end
|
37
33
|
|
@@ -45,12 +41,8 @@ describe Mongoid::Inspection do
|
|
45
41
|
person.inspect
|
46
42
|
end
|
47
43
|
|
48
|
-
before do
|
49
|
-
Mongoid.configure.allow_dynamic_fields = true
|
50
|
-
end
|
51
|
-
|
52
44
|
it "includes dynamic attributes" do
|
53
|
-
inspected.
|
45
|
+
expect(inspected).to include("some_attribute: \"foo\"")
|
54
46
|
end
|
55
47
|
end
|
56
48
|
end
|
@@ -1,9 +1,9 @@
|
|
1
1
|
require "spec_helper"
|
2
2
|
|
3
|
-
describe Mongoid::
|
3
|
+
describe Mongoid::Interceptable do
|
4
4
|
|
5
5
|
class TestClass
|
6
|
-
include Mongoid::
|
6
|
+
include Mongoid::Interceptable
|
7
7
|
|
8
8
|
attr_reader :before_save_called, :after_save_called
|
9
9
|
|
@@ -23,51 +23,51 @@ describe Mongoid::Callbacks do
|
|
23
23
|
end
|
24
24
|
|
25
25
|
it "includes the before_create callback" do
|
26
|
-
klass.
|
26
|
+
expect(klass).to respond_to(:before_create)
|
27
27
|
end
|
28
28
|
|
29
29
|
it "includes the after_create callback" do
|
30
|
-
klass.
|
30
|
+
expect(klass).to respond_to(:after_create)
|
31
31
|
end
|
32
32
|
|
33
33
|
it "includes the before_destroy callback" do
|
34
|
-
klass.
|
34
|
+
expect(klass).to respond_to(:before_destroy)
|
35
35
|
end
|
36
36
|
|
37
37
|
it "includes the after_destroy callback" do
|
38
|
-
klass.
|
38
|
+
expect(klass).to respond_to(:after_destroy)
|
39
39
|
end
|
40
40
|
|
41
41
|
it "includes the before_save callback" do
|
42
|
-
klass.
|
42
|
+
expect(klass).to respond_to(:before_save)
|
43
43
|
end
|
44
44
|
|
45
45
|
it "includes the after_save callback" do
|
46
|
-
klass.
|
46
|
+
expect(klass).to respond_to(:after_save)
|
47
47
|
end
|
48
48
|
|
49
49
|
it "includes the before_update callback" do
|
50
|
-
klass.
|
50
|
+
expect(klass).to respond_to(:before_update)
|
51
51
|
end
|
52
52
|
|
53
53
|
it "includes the after_update callback" do
|
54
|
-
klass.
|
54
|
+
expect(klass).to respond_to(:after_update)
|
55
55
|
end
|
56
56
|
|
57
57
|
it "includes the before_validation callback" do
|
58
|
-
klass.
|
58
|
+
expect(klass).to respond_to(:before_validation)
|
59
59
|
end
|
60
60
|
|
61
61
|
it "includes the after_validation callback" do
|
62
|
-
klass.
|
62
|
+
expect(klass).to respond_to(:after_validation)
|
63
63
|
end
|
64
64
|
|
65
65
|
it "includes the after_initialize callback" do
|
66
|
-
klass.
|
66
|
+
expect(klass).to respond_to(:after_initialize)
|
67
67
|
end
|
68
68
|
|
69
69
|
it "includes the after_build callback" do
|
70
|
-
klass.
|
70
|
+
expect(klass).to respond_to(:after_build)
|
71
71
|
end
|
72
72
|
end
|
73
73
|
|
@@ -82,7 +82,7 @@ describe Mongoid::Callbacks do
|
|
82
82
|
context "when when the document is instantiated" do
|
83
83
|
|
84
84
|
it "does not execute the callback" do
|
85
|
-
player.impressions.
|
85
|
+
expect(player.impressions).to eq(0)
|
86
86
|
end
|
87
87
|
end
|
88
88
|
|
@@ -93,7 +93,7 @@ describe Mongoid::Callbacks do
|
|
93
93
|
end
|
94
94
|
|
95
95
|
it "executes the callback" do
|
96
|
-
from_db.impressions.
|
96
|
+
expect(from_db.impressions).to eq(1)
|
97
97
|
end
|
98
98
|
end
|
99
99
|
|
@@ -104,7 +104,7 @@ describe Mongoid::Callbacks do
|
|
104
104
|
end
|
105
105
|
|
106
106
|
it "executes the callback" do
|
107
|
-
from_db.impressions.
|
107
|
+
expect(from_db.impressions).to eq(1)
|
108
108
|
end
|
109
109
|
end
|
110
110
|
|
@@ -119,7 +119,7 @@ describe Mongoid::Callbacks do
|
|
119
119
|
end
|
120
120
|
|
121
121
|
it "executes the callback" do
|
122
|
-
from_db.impressions.
|
122
|
+
expect(from_db.impressions).to eq(1)
|
123
123
|
end
|
124
124
|
end
|
125
125
|
end
|
@@ -133,7 +133,7 @@ describe Mongoid::Callbacks do
|
|
133
133
|
context "when when the document is instantiated" do
|
134
134
|
|
135
135
|
it "does not execute the callback" do
|
136
|
-
implant.impressions.
|
136
|
+
expect(implant.impressions).to eq(0)
|
137
137
|
end
|
138
138
|
end
|
139
139
|
|
@@ -144,7 +144,7 @@ describe Mongoid::Callbacks do
|
|
144
144
|
end
|
145
145
|
|
146
146
|
it "executes the callback" do
|
147
|
-
from_db.impressions.
|
147
|
+
expect(from_db.impressions).to eq(1)
|
148
148
|
end
|
149
149
|
end
|
150
150
|
|
@@ -155,7 +155,7 @@ describe Mongoid::Callbacks do
|
|
155
155
|
end
|
156
156
|
|
157
157
|
it "executes the callback" do
|
158
|
-
from_db.impressions.
|
158
|
+
expect(from_db.impressions).to eq(1)
|
159
159
|
end
|
160
160
|
end
|
161
161
|
end
|
@@ -168,7 +168,7 @@ describe Mongoid::Callbacks do
|
|
168
168
|
end
|
169
169
|
|
170
170
|
it "runs after document instantiation" do
|
171
|
-
game.name.
|
171
|
+
expect(game.name).to eq("Testing")
|
172
172
|
end
|
173
173
|
end
|
174
174
|
|
@@ -179,7 +179,7 @@ describe Mongoid::Callbacks do
|
|
179
179
|
end
|
180
180
|
|
181
181
|
it "runs after document build (references_many)" do
|
182
|
-
weapon.name.
|
182
|
+
expect(weapon.name).to eq("Holy Hand Grenade (5)")
|
183
183
|
end
|
184
184
|
|
185
185
|
let(:implant) do
|
@@ -187,7 +187,7 @@ describe Mongoid::Callbacks do
|
|
187
187
|
end
|
188
188
|
|
189
189
|
it "runs after document build (embeds_many)" do
|
190
|
-
implant.name.
|
190
|
+
expect(implant.name).to eq('Cochlear Implant (5)')
|
191
191
|
end
|
192
192
|
|
193
193
|
let(:powerup) do
|
@@ -195,7 +195,7 @@ describe Mongoid::Callbacks do
|
|
195
195
|
end
|
196
196
|
|
197
197
|
it "runs after document build (references_one)" do
|
198
|
-
powerup.name.
|
198
|
+
expect(powerup.name).to eq("Quad Damage (5)")
|
199
199
|
end
|
200
200
|
|
201
201
|
let(:augmentation) do
|
@@ -203,7 +203,7 @@ describe Mongoid::Callbacks do
|
|
203
203
|
end
|
204
204
|
|
205
205
|
it "runs after document build (embeds_one)" do
|
206
|
-
augmentation.name.
|
206
|
+
expect(augmentation.name).to eq("Infolink (5)")
|
207
207
|
end
|
208
208
|
end
|
209
209
|
|
@@ -221,7 +221,7 @@ describe Mongoid::Callbacks do
|
|
221
221
|
end
|
222
222
|
|
223
223
|
it "gets saved" do
|
224
|
-
artist.persisted
|
224
|
+
expect(artist.persisted?).to be true
|
225
225
|
end
|
226
226
|
end
|
227
227
|
|
@@ -233,7 +233,7 @@ describe Mongoid::Callbacks do
|
|
233
233
|
end
|
234
234
|
|
235
235
|
it "does not get saved" do
|
236
|
-
artist.persisted
|
236
|
+
expect(artist.persisted?).to be false
|
237
237
|
end
|
238
238
|
end
|
239
239
|
end
|
@@ -257,7 +257,7 @@ describe Mongoid::Callbacks do
|
|
257
257
|
end
|
258
258
|
|
259
259
|
it "the save returns true" do
|
260
|
-
artist.save.
|
260
|
+
expect(artist.save).to be true
|
261
261
|
end
|
262
262
|
end
|
263
263
|
|
@@ -268,7 +268,7 @@ describe Mongoid::Callbacks do
|
|
268
268
|
end
|
269
269
|
|
270
270
|
it "the save returns false" do
|
271
|
-
artist.save.
|
271
|
+
expect(artist.save).to be false
|
272
272
|
end
|
273
273
|
end
|
274
274
|
end
|
@@ -292,7 +292,7 @@ describe Mongoid::Callbacks do
|
|
292
292
|
end
|
293
293
|
|
294
294
|
it "the save returns true" do
|
295
|
-
artist.save.
|
295
|
+
expect(artist.save).to be true
|
296
296
|
end
|
297
297
|
end
|
298
298
|
|
@@ -303,7 +303,7 @@ describe Mongoid::Callbacks do
|
|
303
303
|
end
|
304
304
|
|
305
305
|
it "the save returns false" do
|
306
|
-
artist.save.
|
306
|
+
expect(artist.save).to be false
|
307
307
|
end
|
308
308
|
end
|
309
309
|
end
|
@@ -330,7 +330,7 @@ describe Mongoid::Callbacks do
|
|
330
330
|
end
|
331
331
|
|
332
332
|
it "the destroy returns true" do
|
333
|
-
artist.destroy.
|
333
|
+
expect(artist.destroy).to be true
|
334
334
|
end
|
335
335
|
end
|
336
336
|
|
@@ -341,7 +341,7 @@ describe Mongoid::Callbacks do
|
|
341
341
|
end
|
342
342
|
|
343
343
|
it "the destroy returns false" do
|
344
|
-
artist.destroy.
|
344
|
+
expect(artist.destroy).to be false
|
345
345
|
end
|
346
346
|
end
|
347
347
|
|
@@ -360,7 +360,7 @@ describe Mongoid::Callbacks do
|
|
360
360
|
end
|
361
361
|
|
362
362
|
it "executes the child destroy callbacks" do
|
363
|
-
record.before_destroy_called.
|
363
|
+
expect(record.before_destroy_called).to be true
|
364
364
|
end
|
365
365
|
end
|
366
366
|
end
|
@@ -376,11 +376,11 @@ describe Mongoid::Callbacks do
|
|
376
376
|
end
|
377
377
|
|
378
378
|
it "runs the after callbacks" do
|
379
|
-
object.after_save_called.
|
379
|
+
expect(object.after_save_called).to be true
|
380
380
|
end
|
381
381
|
|
382
382
|
it "does not run the before callbacks" do
|
383
|
-
object.before_save_called.
|
383
|
+
expect(object.before_save_called).to be nil
|
384
384
|
end
|
385
385
|
end
|
386
386
|
|
@@ -395,11 +395,11 @@ describe Mongoid::Callbacks do
|
|
395
395
|
end
|
396
396
|
|
397
397
|
it "runs the before callbacks" do
|
398
|
-
object.before_save_called.
|
398
|
+
expect(object.before_save_called).to be true
|
399
399
|
end
|
400
400
|
|
401
401
|
it "does not run the after callbacks" do
|
402
|
-
object.after_save_called.
|
402
|
+
expect(object.after_save_called).to be nil
|
403
403
|
end
|
404
404
|
end
|
405
405
|
|
@@ -428,7 +428,7 @@ describe Mongoid::Callbacks do
|
|
428
428
|
end
|
429
429
|
|
430
430
|
it "does not cascade to the child" do
|
431
|
-
band.run_callbacks(:rearrange).
|
431
|
+
expect(band.run_callbacks(:rearrange)).to be true
|
432
432
|
end
|
433
433
|
end
|
434
434
|
|
@@ -455,7 +455,7 @@ describe Mongoid::Callbacks do
|
|
455
455
|
|
456
456
|
it "does not cascade to the child" do
|
457
457
|
Band.accepts_nested_attributes_for :records, allow_destroy: true
|
458
|
-
band.update_attributes(attributes).
|
458
|
+
expect(band.update_attributes(attributes)).to be true
|
459
459
|
end
|
460
460
|
end
|
461
461
|
end
|
@@ -504,7 +504,7 @@ describe Mongoid::Callbacks do
|
|
504
504
|
|
505
505
|
it "doesn't cascade the initialize" do
|
506
506
|
Service.any_instance.should_receive(:after_initialize_called=).never
|
507
|
-
Person.find(person.id).
|
507
|
+
expect(Person.find(person.id)).to eq(person)
|
508
508
|
end
|
509
509
|
end
|
510
510
|
|
@@ -538,7 +538,7 @@ describe Mongoid::Callbacks do
|
|
538
538
|
end
|
539
539
|
|
540
540
|
it "executes the callback" do
|
541
|
-
label.after_create_called.
|
541
|
+
expect(label.after_create_called).to be true
|
542
542
|
end
|
543
543
|
end
|
544
544
|
|
@@ -557,7 +557,7 @@ describe Mongoid::Callbacks do
|
|
557
557
|
end
|
558
558
|
|
559
559
|
it "executes the callback" do
|
560
|
-
label.after_create_called.
|
560
|
+
expect(label.after_create_called).to be true
|
561
561
|
end
|
562
562
|
end
|
563
563
|
end
|
@@ -578,7 +578,7 @@ describe Mongoid::Callbacks do
|
|
578
578
|
end
|
579
579
|
|
580
580
|
it "does not execute the callback" do
|
581
|
-
label.after_create_called.
|
581
|
+
expect(label.after_create_called).to be false
|
582
582
|
end
|
583
583
|
end
|
584
584
|
end
|
@@ -602,7 +602,7 @@ describe Mongoid::Callbacks do
|
|
602
602
|
end
|
603
603
|
|
604
604
|
it "executes the callback" do
|
605
|
-
label.after_save_called.
|
605
|
+
expect(label.after_save_called).to be true
|
606
606
|
end
|
607
607
|
end
|
608
608
|
|
@@ -621,7 +621,7 @@ describe Mongoid::Callbacks do
|
|
621
621
|
end
|
622
622
|
|
623
623
|
it "executes the callback" do
|
624
|
-
label.after_save_called.
|
624
|
+
expect(label.after_save_called).to be true
|
625
625
|
end
|
626
626
|
end
|
627
627
|
end
|
@@ -641,7 +641,7 @@ describe Mongoid::Callbacks do
|
|
641
641
|
end
|
642
642
|
|
643
643
|
it "executes the callback" do
|
644
|
-
label.after_save_called.
|
644
|
+
expect(label.after_save_called).to be true
|
645
645
|
end
|
646
646
|
end
|
647
647
|
end
|
@@ -665,7 +665,7 @@ describe Mongoid::Callbacks do
|
|
665
665
|
end
|
666
666
|
|
667
667
|
it "does not execute the callback" do
|
668
|
-
label.after_update_called.
|
668
|
+
expect(label.after_update_called).to be false
|
669
669
|
end
|
670
670
|
end
|
671
671
|
|
@@ -684,7 +684,7 @@ describe Mongoid::Callbacks do
|
|
684
684
|
end
|
685
685
|
|
686
686
|
it "does not execute the callback" do
|
687
|
-
label.after_update_called.
|
687
|
+
expect(label.after_update_called).to be false
|
688
688
|
end
|
689
689
|
end
|
690
690
|
end
|
@@ -707,7 +707,7 @@ describe Mongoid::Callbacks do
|
|
707
707
|
end
|
708
708
|
|
709
709
|
it "executes the callback" do
|
710
|
-
label.after_update_called.
|
710
|
+
expect(label.after_update_called).to be true
|
711
711
|
end
|
712
712
|
end
|
713
713
|
|
@@ -722,7 +722,7 @@ describe Mongoid::Callbacks do
|
|
722
722
|
end
|
723
723
|
|
724
724
|
it "does not execute the callback" do
|
725
|
-
label.after_update_called.
|
725
|
+
expect(label.after_update_called).to be false
|
726
726
|
end
|
727
727
|
end
|
728
728
|
end
|
@@ -747,7 +747,7 @@ describe Mongoid::Callbacks do
|
|
747
747
|
end
|
748
748
|
|
749
749
|
it "executes the callback" do
|
750
|
-
label.after_validation_called.
|
750
|
+
expect(label.after_validation_called).to be true
|
751
751
|
end
|
752
752
|
end
|
753
753
|
|
@@ -766,7 +766,7 @@ describe Mongoid::Callbacks do
|
|
766
766
|
end
|
767
767
|
|
768
768
|
it "executes the callback" do
|
769
|
-
label.after_validation_called.
|
769
|
+
expect(label.after_validation_called).to be true
|
770
770
|
end
|
771
771
|
end
|
772
772
|
end
|
@@ -786,7 +786,7 @@ describe Mongoid::Callbacks do
|
|
786
786
|
end
|
787
787
|
|
788
788
|
it "executes the callback" do
|
789
|
-
label.after_validation_called.
|
789
|
+
expect(label.after_validation_called).to be true
|
790
790
|
end
|
791
791
|
end
|
792
792
|
end
|
@@ -810,7 +810,7 @@ describe Mongoid::Callbacks do
|
|
810
810
|
end
|
811
811
|
|
812
812
|
it "executes the callback" do
|
813
|
-
record.before_create_called.
|
813
|
+
expect(record.before_create_called).to be true
|
814
814
|
end
|
815
815
|
end
|
816
816
|
|
@@ -829,7 +829,7 @@ describe Mongoid::Callbacks do
|
|
829
829
|
end
|
830
830
|
|
831
831
|
it "executes the callback" do
|
832
|
-
record.before_create_called.
|
832
|
+
expect(record.before_create_called).to be true
|
833
833
|
end
|
834
834
|
end
|
835
835
|
end
|
@@ -850,7 +850,7 @@ describe Mongoid::Callbacks do
|
|
850
850
|
end
|
851
851
|
|
852
852
|
it "does not execute the callback" do
|
853
|
-
record.before_create_called.
|
853
|
+
expect(record.before_create_called).to be false
|
854
854
|
end
|
855
855
|
end
|
856
856
|
end
|
@@ -874,11 +874,11 @@ describe Mongoid::Callbacks do
|
|
874
874
|
end
|
875
875
|
|
876
876
|
it "executes the callback" do
|
877
|
-
record.before_save_called.
|
877
|
+
expect(record.before_save_called).to be true
|
878
878
|
end
|
879
879
|
|
880
880
|
it "persists the change" do
|
881
|
-
band.reload.records.first.before_save_called.
|
881
|
+
expect(band.reload.records.first.before_save_called).to be true
|
882
882
|
end
|
883
883
|
end
|
884
884
|
|
@@ -897,11 +897,11 @@ describe Mongoid::Callbacks do
|
|
897
897
|
end
|
898
898
|
|
899
899
|
it "executes the callback" do
|
900
|
-
record.before_save_called.
|
900
|
+
expect(record.before_save_called).to be true
|
901
901
|
end
|
902
902
|
|
903
903
|
it "persists the change" do
|
904
|
-
band.reload.records.first.before_save_called.
|
904
|
+
expect(band.reload.records.first.before_save_called).to be true
|
905
905
|
end
|
906
906
|
end
|
907
907
|
end
|
@@ -921,11 +921,11 @@ describe Mongoid::Callbacks do
|
|
921
921
|
end
|
922
922
|
|
923
923
|
it "executes the callback" do
|
924
|
-
record.before_save_called.
|
924
|
+
expect(record.before_save_called).to be true
|
925
925
|
end
|
926
926
|
|
927
927
|
it "persists the change" do
|
928
|
-
band.reload.records.first.before_save_called.
|
928
|
+
expect(band.reload.records.first.before_save_called).to be true
|
929
929
|
end
|
930
930
|
end
|
931
931
|
end
|
@@ -949,7 +949,7 @@ describe Mongoid::Callbacks do
|
|
949
949
|
end
|
950
950
|
|
951
951
|
it "does not execute the callback" do
|
952
|
-
record.before_update_called.
|
952
|
+
expect(record.before_update_called).to be false
|
953
953
|
end
|
954
954
|
end
|
955
955
|
|
@@ -968,7 +968,7 @@ describe Mongoid::Callbacks do
|
|
968
968
|
end
|
969
969
|
|
970
970
|
it "does not execute the callback" do
|
971
|
-
record.before_update_called.
|
971
|
+
expect(record.before_update_called).to be false
|
972
972
|
end
|
973
973
|
end
|
974
974
|
end
|
@@ -991,11 +991,11 @@ describe Mongoid::Callbacks do
|
|
991
991
|
end
|
992
992
|
|
993
993
|
it "executes the callback" do
|
994
|
-
record.before_update_called.
|
994
|
+
expect(record.before_update_called).to be true
|
995
995
|
end
|
996
996
|
|
997
997
|
it "persists the change" do
|
998
|
-
band.reload.records.first.before_update_called.
|
998
|
+
expect(band.reload.records.first.before_update_called).to be true
|
999
999
|
end
|
1000
1000
|
end
|
1001
1001
|
|
@@ -1006,7 +1006,7 @@ describe Mongoid::Callbacks do
|
|
1006
1006
|
end
|
1007
1007
|
|
1008
1008
|
it "does not execute the callback" do
|
1009
|
-
record.before_update_called.
|
1009
|
+
expect(record.before_update_called).to be false
|
1010
1010
|
end
|
1011
1011
|
end
|
1012
1012
|
end
|
@@ -1031,11 +1031,11 @@ describe Mongoid::Callbacks do
|
|
1031
1031
|
end
|
1032
1032
|
|
1033
1033
|
it "executes the callback" do
|
1034
|
-
record.before_validation_called.
|
1034
|
+
expect(record.before_validation_called).to be true
|
1035
1035
|
end
|
1036
1036
|
|
1037
1037
|
it "persists the change" do
|
1038
|
-
band.reload.records.first.before_validation_called.
|
1038
|
+
expect(band.reload.records.first.before_validation_called).to be true
|
1039
1039
|
end
|
1040
1040
|
end
|
1041
1041
|
|
@@ -1054,11 +1054,11 @@ describe Mongoid::Callbacks do
|
|
1054
1054
|
end
|
1055
1055
|
|
1056
1056
|
it "executes the callback" do
|
1057
|
-
record.before_validation_called.
|
1057
|
+
expect(record.before_validation_called).to be true
|
1058
1058
|
end
|
1059
1059
|
|
1060
1060
|
it "persists the change" do
|
1061
|
-
band.reload.records.first.before_validation_called.
|
1061
|
+
expect(band.reload.records.first.before_validation_called).to be true
|
1062
1062
|
end
|
1063
1063
|
end
|
1064
1064
|
end
|
@@ -1078,11 +1078,11 @@ describe Mongoid::Callbacks do
|
|
1078
1078
|
end
|
1079
1079
|
|
1080
1080
|
it "executes the callback" do
|
1081
|
-
record.before_validation_called.
|
1081
|
+
expect(record.before_validation_called).to be true
|
1082
1082
|
end
|
1083
1083
|
|
1084
1084
|
it "persists the change" do
|
1085
|
-
band.reload.records.first.before_validation_called.
|
1085
|
+
expect(band.reload.records.first.before_validation_called).to be true
|
1086
1086
|
end
|
1087
1087
|
end
|
1088
1088
|
end
|
@@ -1113,7 +1113,7 @@ describe Mongoid::Callbacks do
|
|
1113
1113
|
end
|
1114
1114
|
|
1115
1115
|
it "executes the callback" do
|
1116
|
-
track.before_create_called.
|
1116
|
+
expect(track.before_create_called).to be true
|
1117
1117
|
end
|
1118
1118
|
end
|
1119
1119
|
|
@@ -1136,7 +1136,7 @@ describe Mongoid::Callbacks do
|
|
1136
1136
|
end
|
1137
1137
|
|
1138
1138
|
it "executes the callback" do
|
1139
|
-
track.before_create_called.
|
1139
|
+
expect(track.before_create_called).to be true
|
1140
1140
|
end
|
1141
1141
|
end
|
1142
1142
|
end
|
@@ -1161,7 +1161,7 @@ describe Mongoid::Callbacks do
|
|
1161
1161
|
end
|
1162
1162
|
|
1163
1163
|
it "does not execute the callback" do
|
1164
|
-
track.before_create_called.
|
1164
|
+
expect(track.before_create_called).to be false
|
1165
1165
|
end
|
1166
1166
|
end
|
1167
1167
|
end
|
@@ -1193,11 +1193,11 @@ describe Mongoid::Callbacks do
|
|
1193
1193
|
end
|
1194
1194
|
|
1195
1195
|
it "executes the callback" do
|
1196
|
-
track.before_save_called.
|
1196
|
+
expect(track.before_save_called).to be true
|
1197
1197
|
end
|
1198
1198
|
|
1199
1199
|
it "persists the change" do
|
1200
|
-
reloaded.tracks.first.before_save_called.
|
1200
|
+
expect(reloaded.tracks.first.before_save_called).to be true
|
1201
1201
|
end
|
1202
1202
|
end
|
1203
1203
|
|
@@ -1224,11 +1224,11 @@ describe Mongoid::Callbacks do
|
|
1224
1224
|
end
|
1225
1225
|
|
1226
1226
|
it "executes the callback" do
|
1227
|
-
track.before_save_called.
|
1227
|
+
expect(track.before_save_called).to be true
|
1228
1228
|
end
|
1229
1229
|
|
1230
1230
|
it "persists the change" do
|
1231
|
-
reloaded.tracks.first.before_save_called.
|
1231
|
+
expect(reloaded.tracks.first.before_save_called).to be true
|
1232
1232
|
end
|
1233
1233
|
end
|
1234
1234
|
end
|
@@ -1256,11 +1256,11 @@ describe Mongoid::Callbacks do
|
|
1256
1256
|
end
|
1257
1257
|
|
1258
1258
|
it "executes the callback" do
|
1259
|
-
track.before_save_called.
|
1259
|
+
expect(track.before_save_called).to be true
|
1260
1260
|
end
|
1261
1261
|
|
1262
1262
|
it "persists the change" do
|
1263
|
-
reloaded.tracks.first.before_save_called.
|
1263
|
+
expect(reloaded.tracks.first.before_save_called).to be true
|
1264
1264
|
end
|
1265
1265
|
end
|
1266
1266
|
end
|
@@ -1288,7 +1288,7 @@ describe Mongoid::Callbacks do
|
|
1288
1288
|
end
|
1289
1289
|
|
1290
1290
|
it "does not execute the callback" do
|
1291
|
-
track.before_update_called.
|
1291
|
+
expect(track.before_update_called).to be false
|
1292
1292
|
end
|
1293
1293
|
end
|
1294
1294
|
|
@@ -1311,7 +1311,7 @@ describe Mongoid::Callbacks do
|
|
1311
1311
|
end
|
1312
1312
|
|
1313
1313
|
it "does not execute the callback" do
|
1314
|
-
track.before_update_called.
|
1314
|
+
expect(track.before_update_called).to be false
|
1315
1315
|
end
|
1316
1316
|
end
|
1317
1317
|
end
|
@@ -1342,11 +1342,11 @@ describe Mongoid::Callbacks do
|
|
1342
1342
|
end
|
1343
1343
|
|
1344
1344
|
it "executes the callback" do
|
1345
|
-
track.before_update_called.
|
1345
|
+
expect(track.before_update_called).to be true
|
1346
1346
|
end
|
1347
1347
|
|
1348
1348
|
it "persists the change" do
|
1349
|
-
reloaded.tracks.first.before_update_called.
|
1349
|
+
expect(reloaded.tracks.first.before_update_called).to be true
|
1350
1350
|
end
|
1351
1351
|
end
|
1352
1352
|
|
@@ -1357,7 +1357,7 @@ describe Mongoid::Callbacks do
|
|
1357
1357
|
end
|
1358
1358
|
|
1359
1359
|
it "does not execute the callback" do
|
1360
|
-
track.before_update_called.
|
1360
|
+
expect(track.before_update_called).to be false
|
1361
1361
|
end
|
1362
1362
|
end
|
1363
1363
|
end
|
@@ -1386,7 +1386,7 @@ describe Mongoid::Callbacks do
|
|
1386
1386
|
end
|
1387
1387
|
|
1388
1388
|
it "executes the callback" do
|
1389
|
-
track.before_validation_called.
|
1389
|
+
expect(track.before_validation_called).to be true
|
1390
1390
|
end
|
1391
1391
|
end
|
1392
1392
|
|
@@ -1409,7 +1409,7 @@ describe Mongoid::Callbacks do
|
|
1409
1409
|
end
|
1410
1410
|
|
1411
1411
|
it "executes the callback" do
|
1412
|
-
track.before_validation_called.
|
1412
|
+
expect(track.before_validation_called).to be true
|
1413
1413
|
end
|
1414
1414
|
end
|
1415
1415
|
end
|
@@ -1433,7 +1433,7 @@ describe Mongoid::Callbacks do
|
|
1433
1433
|
end
|
1434
1434
|
|
1435
1435
|
it "executes the callback" do
|
1436
|
-
track.before_validation_called.
|
1436
|
+
expect(track.before_validation_called).to be true
|
1437
1437
|
end
|
1438
1438
|
end
|
1439
1439
|
end
|
@@ -1445,7 +1445,7 @@ describe Mongoid::Callbacks do
|
|
1445
1445
|
it "goes in all validation callback in good order" do
|
1446
1446
|
shin = ValidationCallback.new
|
1447
1447
|
shin.valid?
|
1448
|
-
shin.history.
|
1448
|
+
expect(shin.history).to eq([:before_validation, :validate, :after_validation])
|
1449
1449
|
end
|
1450
1450
|
end
|
1451
1451
|
|
@@ -1460,8 +1460,8 @@ describe Mongoid::Callbacks do
|
|
1460
1460
|
end
|
1461
1461
|
|
1462
1462
|
it "does not duplicate the child documents" do
|
1463
|
-
parent.
|
1464
|
-
ParentDoc.find(parent.id).
|
1463
|
+
parent.children.create(position: 1)
|
1464
|
+
expect(ParentDoc.find(parent.id).children.size).to eq(1)
|
1465
1465
|
end
|
1466
1466
|
end
|
1467
1467
|
|
@@ -1488,22 +1488,22 @@ describe Mongoid::Callbacks do
|
|
1488
1488
|
end
|
1489
1489
|
|
1490
1490
|
it "fails to save" do
|
1491
|
-
person.
|
1492
|
-
person.save.
|
1491
|
+
expect(person).to be_valid
|
1492
|
+
expect(person.save).to be false
|
1493
1493
|
end
|
1494
1494
|
|
1495
1495
|
it "is a new record" do
|
1496
|
-
person.
|
1496
|
+
expect(person).to be_a_new_record
|
1497
1497
|
expect { person.save }.not_to change { person.new_record? }
|
1498
1498
|
end
|
1499
1499
|
|
1500
1500
|
it "is left dirty" do
|
1501
|
-
person.
|
1501
|
+
expect(person).to be_changed
|
1502
1502
|
expect { person.save }.not_to change { person.changed? }
|
1503
1503
|
end
|
1504
1504
|
|
1505
1505
|
it "child documents are left dirty" do
|
1506
|
-
address.
|
1506
|
+
expect(address).to be_changed
|
1507
1507
|
expect { person.save }.not_to change { address.changed? }
|
1508
1508
|
end
|
1509
1509
|
end
|
@@ -1521,22 +1521,22 @@ describe Mongoid::Callbacks do
|
|
1521
1521
|
end
|
1522
1522
|
|
1523
1523
|
it "#save returns false" do
|
1524
|
-
person.
|
1525
|
-
person.save.
|
1524
|
+
expect(person).to be_valid
|
1525
|
+
expect(person.save).to be false
|
1526
1526
|
end
|
1527
1527
|
|
1528
1528
|
it "is a not a new record" do
|
1529
|
-
person.
|
1529
|
+
expect(person).to_not be_a_new_record
|
1530
1530
|
expect { person.save }.not_to change { person.new_record? }
|
1531
1531
|
end
|
1532
1532
|
|
1533
1533
|
it "is left dirty" do
|
1534
|
-
person.
|
1534
|
+
expect(person).to be_changed
|
1535
1535
|
expect { person.save }.not_to change { person.changed? }
|
1536
1536
|
end
|
1537
1537
|
|
1538
1538
|
it "child documents are left dirty" do
|
1539
|
-
address.
|
1539
|
+
expect(address).to be_changed
|
1540
1540
|
expect { person.save }.not_to change { address.changed? }
|
1541
1541
|
end
|
1542
1542
|
end
|