mongoid 6.4.2 → 7.0.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +1 -1
- data/lib/config/locales/en.yml +17 -0
- data/lib/mongoid/association/accessors.rb +339 -0
- data/lib/mongoid/{relations/binding.rb → association/bindable.rb} +32 -52
- data/lib/mongoid/association/builders.rb +92 -0
- data/lib/mongoid/{relations/constraint.rb → association/constrainable.rb} +11 -22
- data/lib/mongoid/association/depending.rb +137 -0
- data/lib/mongoid/{relations/eager.rb → association/eager_loadable.rb} +11 -11
- data/lib/mongoid/{relations → association}/embedded/batchable.rb +19 -19
- data/lib/mongoid/association/embedded/cyclic.rb +109 -0
- data/lib/mongoid/association/embedded/embedded_in/binding.rb +56 -0
- data/lib/mongoid/{relations/builders/embedded/in.rb → association/embedded/embedded_in/buildable.rb} +12 -6
- data/lib/mongoid/association/embedded/embedded_in/proxy.rb +121 -0
- data/lib/mongoid/association/embedded/embedded_in.rb +154 -0
- data/lib/mongoid/{relations/bindings/embedded/many.rb → association/embedded/embeds_many/binding.rb} +11 -9
- data/lib/mongoid/{relations/builders/embedded/many.rb → association/embedded/embeds_many/buildable.rb} +13 -7
- data/lib/mongoid/association/embedded/embeds_many/proxy.rb +552 -0
- data/lib/mongoid/association/embedded/embeds_many.rb +210 -0
- data/lib/mongoid/{relations/bindings/embedded/one.rb → association/embedded/embeds_one/binding.rb} +12 -10
- data/lib/mongoid/{relations/builders/embedded/one.rb → association/embedded/embeds_one/buildable.rb} +13 -7
- data/lib/mongoid/association/embedded/embeds_one/proxy.rb +130 -0
- data/lib/mongoid/association/embedded/embeds_one.rb +173 -0
- data/lib/mongoid/association/embedded.rb +4 -0
- data/lib/mongoid/association/macros.rb +204 -0
- data/lib/mongoid/{relations → association}/many.rb +19 -49
- data/lib/mongoid/{relations → association}/marshalable.rb +6 -4
- data/lib/mongoid/association/nested/many.rb +200 -0
- data/lib/mongoid/association/nested/nested_buildable.rb +72 -0
- data/lib/mongoid/association/nested/one.rb +127 -0
- data/lib/mongoid/association/nested.rb +15 -0
- data/lib/mongoid/{relations → association}/one.rb +6 -6
- data/lib/mongoid/association/options.rb +152 -0
- data/lib/mongoid/{relations → association}/proxy.rb +31 -58
- data/lib/mongoid/association/referenced/auto_save.rb +79 -0
- data/lib/mongoid/association/referenced/belongs_to/binding.rb +87 -0
- data/lib/mongoid/association/referenced/belongs_to/buildable.rb +46 -0
- data/lib/mongoid/association/referenced/belongs_to/eager.rb +36 -0
- data/lib/mongoid/association/referenced/belongs_to/proxy.rb +136 -0
- data/lib/mongoid/association/referenced/belongs_to.rb +248 -0
- data/lib/mongoid/association/referenced/counter_cache.rb +163 -0
- data/lib/mongoid/association/referenced/eager.rb +162 -0
- data/lib/mongoid/association/referenced/has_and_belongs_to_many/binding.rb +71 -0
- data/lib/mongoid/association/referenced/has_and_belongs_to_many/buildable.rb +40 -0
- data/lib/mongoid/association/referenced/has_and_belongs_to_many/eager.rb +52 -0
- data/lib/mongoid/association/referenced/has_and_belongs_to_many/proxy.rb +312 -0
- data/lib/mongoid/association/referenced/has_and_belongs_to_many.rb +290 -0
- data/lib/mongoid/{relations/bindings/referenced/many.rb → association/referenced/has_many/binding.rb} +6 -5
- data/lib/mongoid/association/referenced/has_many/buildable.rb +38 -0
- data/lib/mongoid/association/referenced/has_many/eager.rb +43 -0
- data/lib/mongoid/association/referenced/has_many/enumerable.rb +510 -0
- data/lib/mongoid/association/referenced/has_many/proxy.rb +578 -0
- data/lib/mongoid/association/referenced/has_many.rb +275 -0
- data/lib/mongoid/{relations/bindings/referenced/one.rb → association/referenced/has_one/binding.rb} +11 -8
- data/lib/mongoid/association/referenced/has_one/buildable.rb +60 -0
- data/lib/mongoid/association/referenced/has_one/eager.rb +35 -0
- data/lib/mongoid/{relations/builders/nested_attributes/one.rb → association/referenced/has_one/nested_builder.rb} +9 -9
- data/lib/mongoid/association/referenced/has_one/proxy.rb +113 -0
- data/lib/mongoid/association/referenced/has_one.rb +204 -0
- data/lib/mongoid/association/referenced/syncable.rb +170 -0
- data/lib/mongoid/association/referenced.rb +7 -0
- data/lib/mongoid/{relations → association}/reflections.rb +21 -17
- data/lib/mongoid/association/relatable.rb +509 -0
- data/lib/mongoid/{relations.rb → association.rb} +57 -56
- data/lib/mongoid/atomic/paths/embedded/many.rb +1 -1
- data/lib/mongoid/atomic/paths/embedded/one.rb +1 -1
- data/lib/mongoid/atomic.rb +4 -4
- data/lib/mongoid/attributes/dynamic.rb +2 -2
- data/lib/mongoid/attributes/nested.rb +22 -11
- data/lib/mongoid/attributes/processing.rb +2 -2
- data/lib/mongoid/attributes/readonly.rb +2 -4
- data/lib/mongoid/attributes.rb +22 -13
- data/lib/mongoid/changeable.rb +1 -1
- data/lib/mongoid/clients/options.rb +7 -5
- data/lib/mongoid/composable.rb +4 -4
- data/lib/mongoid/config.rb +1 -0
- data/lib/mongoid/contextual/atomic.rb +1 -1
- data/lib/mongoid/contextual/geo_near.rb +1 -1
- data/lib/mongoid/contextual/memory.rb +21 -3
- data/lib/mongoid/contextual/mongo.rb +10 -8
- data/lib/mongoid/copyable.rb +7 -6
- data/lib/mongoid/criteria/includable.rb +14 -14
- data/lib/mongoid/criteria/modifiable.rb +8 -14
- data/lib/mongoid/criteria/options.rb +2 -2
- data/lib/mongoid/criteria/queryable/extensions/string.rb +1 -1
- data/lib/mongoid/criteria/queryable/pipeline.rb +10 -5
- data/lib/mongoid/criteria/queryable/selectable.rb +37 -7
- data/lib/mongoid/criteria.rb +2 -2
- data/lib/mongoid/document.rb +15 -6
- data/lib/mongoid/errors/invalid_dependent_strategy.rb +32 -0
- data/lib/mongoid/errors/invalid_relation_option.rb +29 -0
- data/lib/mongoid/errors/unknown_model.rb +25 -0
- data/lib/mongoid/errors.rb +3 -0
- data/lib/mongoid/extensions/array.rb +5 -5
- data/lib/mongoid/extensions/big_decimal.rb +1 -1
- data/lib/mongoid/extensions/hash.rb +5 -2
- data/lib/mongoid/extensions/object.rb +4 -4
- data/lib/mongoid/extensions/range.rb +1 -0
- data/lib/mongoid/extensions/regexp.rb +1 -0
- data/lib/mongoid/extensions.rb +0 -4
- data/lib/mongoid/factory.rb +13 -3
- data/lib/mongoid/fields/foreign_key.rb +5 -5
- data/lib/mongoid/fields/standard.rb +2 -14
- data/lib/mongoid/fields/validators/macro.rb +1 -1
- data/lib/mongoid/fields.rb +3 -3
- data/lib/mongoid/indexable.rb +4 -1
- data/lib/mongoid/interceptable.rb +5 -5
- data/lib/mongoid/matchable/and.rb +1 -1
- data/lib/mongoid/matchable/elem_match.rb +9 -3
- data/lib/mongoid/matchable/eq.rb +22 -0
- data/lib/mongoid/matchable/ne.rb +1 -1
- data/lib/mongoid/matchable.rb +3 -1
- data/lib/mongoid/persistable/deletable.rb +7 -6
- data/lib/mongoid/persistable/incrementable.rb +1 -1
- data/lib/mongoid/persistable/logical.rb +1 -1
- data/lib/mongoid/persistable/settable.rb +57 -12
- data/lib/mongoid/persistable.rb +4 -5
- data/lib/mongoid/persistence_context.rb +20 -5
- data/lib/mongoid/query_cache.rb +8 -4
- data/lib/mongoid/railtie.rb +17 -0
- data/lib/mongoid/railties/controller_runtime.rb +86 -0
- data/lib/mongoid/scopable.rb +3 -3
- data/lib/mongoid/serializable.rb +4 -4
- data/lib/mongoid/shardable.rb +1 -1
- data/lib/mongoid/threaded.rb +36 -0
- data/lib/mongoid/touchable.rb +102 -0
- data/lib/mongoid/traversable.rb +3 -3
- data/lib/mongoid/validatable/presence.rb +2 -2
- data/lib/mongoid/validatable/uniqueness.rb +4 -4
- data/lib/mongoid/validatable.rb +8 -8
- data/lib/mongoid/version.rb +1 -1
- data/lib/rails/generators/mongoid/config/templates/mongoid.yml +3 -0
- data/spec/app/models/animal.rb +2 -1
- data/spec/app/models/bomb.rb +1 -1
- data/spec/app/models/message.rb +1 -1
- data/spec/app/models/minim.rb +7 -0
- data/spec/app/models/person.rb +5 -2
- data/spec/app/models/shipment_address.rb +1 -0
- data/spec/app/models/store_as_dup_test3.rb +7 -0
- data/spec/app/models/store_as_dup_test4.rb +7 -0
- data/spec/app/models/updatable.rb +7 -0
- data/spec/app/models/vertex.rb +6 -0
- data/spec/app/models/wiki_page.rb +1 -1
- data/spec/config/mongoid.yml +13 -3
- data/spec/integration/associations/belongs_to_spec.rb +13 -0
- data/spec/lite_spec_helper.rb +56 -0
- data/spec/mongoid/{relations → association}/accessors_spec.rb +40 -1
- data/spec/mongoid/{relations → association}/auto_save_spec.rb +60 -12
- data/spec/mongoid/{relations → association}/builders_spec.rb +1 -1
- data/spec/mongoid/association/constrainable_spec.rb +115 -0
- data/spec/mongoid/{relations → association}/counter_cache_spec.rb +1 -1
- data/spec/mongoid/association/depending_spec.rb +866 -0
- data/spec/mongoid/{relations → association}/eager_spec.rb +12 -12
- data/spec/mongoid/{relations → association/embedded}/cyclic_spec.rb +1 -1
- data/spec/mongoid/{relations/bindings/embedded/in_spec.rb → association/embedded/embedded_in/binding_spec.rb} +13 -13
- data/spec/mongoid/{relations/builders/embedded/in_spec.rb → association/embedded/embedded_in/buildable_spec.rb} +9 -9
- data/spec/mongoid/{relations/embedded/in_spec.rb → association/embedded/embedded_in/proxy_spec.rb} +5 -77
- data/spec/mongoid/association/embedded/embedded_in_spec.rb +843 -0
- data/spec/mongoid/{relations/bindings/embedded/many_spec.rb → association/embedded/embeds_many/binding_spec.rb} +3 -3
- data/spec/mongoid/{relations/builders/embedded/many_spec.rb → association/embedded/embeds_many/buildable_spec.rb} +17 -45
- data/spec/mongoid/{relations/embedded/many_spec.rb → association/embedded/embeds_many/proxy_spec.rb} +124 -182
- data/spec/mongoid/association/embedded/embeds_many_spec.rb +852 -0
- data/spec/mongoid/{relations/bindings/embedded/one_spec.rb → association/embedded/embeds_one/binding_spec.rb} +4 -4
- data/spec/mongoid/{relations/builders/embedded/one_spec.rb → association/embedded/embeds_one/buildable_spec.rb} +14 -34
- data/spec/mongoid/{relations/embedded/one_spec.rb → association/embedded/embeds_one/proxy_spec.rb} +39 -84
- data/spec/mongoid/association/embedded/embeds_one_spec.rb +908 -0
- data/spec/mongoid/{relations → association}/macros_spec.rb +148 -73
- data/spec/mongoid/{relations/builders/nested_attributes → association/nested}/many_spec.rb +16 -19
- data/spec/mongoid/{relations/builders/nested_attributes → association/nested}/one_spec.rb +17 -20
- data/spec/mongoid/association/options_spec.rb +1321 -0
- data/spec/mongoid/{relations → association}/polymorphic_spec.rb +66 -34
- data/spec/mongoid/{relations/bindings/referenced/in_spec.rb → association/referenced/belongs_to/binding_spec.rb} +7 -7
- data/spec/mongoid/{relations/builders/referenced/in_spec.rb → association/referenced/belongs_to/buildable_spec.rb} +46 -79
- data/spec/mongoid/{relations/eager/belongs_to_spec.rb → association/referenced/belongs_to/eager_spec.rb} +33 -14
- data/spec/mongoid/{relations/referenced/in_spec.rb → association/referenced/belongs_to/proxy_spec.rb} +57 -91
- data/spec/mongoid/association/referenced/belongs_to_spec.rb +2006 -0
- data/spec/mongoid/{relations/bindings/referenced/many_to_many_spec.rb → association/referenced/has_and_belongs_to_many/binding_spec.rb} +5 -5
- data/spec/mongoid/association/referenced/has_and_belongs_to_many/buildable_spec.rb +121 -0
- data/spec/mongoid/{relations/eager/has_and_belongs_to_many_spec.rb → association/referenced/has_and_belongs_to_many/eager_spec.rb} +26 -7
- data/spec/mongoid/association/referenced/has_and_belongs_to_many/proxy_persistence_spec.rb +56 -0
- data/spec/mongoid/{relations/referenced/many_to_many_spec.rb → association/referenced/has_and_belongs_to_many/proxy_spec.rb} +107 -98
- data/spec/mongoid/association/referenced/has_and_belongs_to_many_models.rb +26 -0
- data/spec/mongoid/association/referenced/has_and_belongs_to_many_spec.rb +1027 -0
- data/spec/mongoid/{relations/bindings/referenced/many_spec.rb → association/referenced/has_many/binding_spec.rb} +5 -5
- data/spec/mongoid/association/referenced/has_many/buildable_spec.rb +119 -0
- data/spec/mongoid/{relations/eager/has_many_spec.rb → association/referenced/has_many/eager_spec.rb} +26 -11
- data/spec/mongoid/{relations/targets → association/referenced/has_many}/enumerable_spec.rb +122 -1
- data/spec/mongoid/association/referenced/has_many/proxy_query_spec.rb +23 -0
- data/spec/mongoid/{relations/referenced/many_spec.rb → association/referenced/has_many/proxy_spec.rb} +28 -93
- data/spec/mongoid/association/referenced/has_many_models.rb +37 -0
- data/spec/mongoid/association/referenced/has_many_spec.rb +1225 -0
- data/spec/mongoid/{relations/bindings/referenced/one_spec.rb → association/referenced/has_one/binding_spec.rb} +4 -4
- data/spec/mongoid/association/referenced/has_one/buildable_spec.rb +113 -0
- data/spec/mongoid/{relations/eager/has_one_spec.rb → association/referenced/has_one/eager_spec.rb} +10 -10
- data/spec/mongoid/{relations/referenced/one_spec.rb → association/referenced/has_one/proxy_spec.rb} +9 -109
- data/spec/mongoid/association/referenced/has_one_models.rb +48 -0
- data/spec/mongoid/association/referenced/has_one_spec.rb +1350 -0
- data/spec/mongoid/{relations → association}/reflections_spec.rb +1 -12
- data/spec/mongoid/{relations/synchronization_spec.rb → association/syncable_spec.rb} +4 -2
- data/spec/mongoid/{relations_spec.rb → association_spec.rb} +1 -1
- data/spec/mongoid/atomic/modifiers_spec.rb +2 -2
- data/spec/mongoid/atomic_spec.rb +4 -4
- data/spec/mongoid/attributes/nested_spec.rb +29 -11
- data/spec/mongoid/attributes/readonly_spec.rb +80 -125
- data/spec/mongoid/attributes_spec.rb +38 -2
- data/spec/mongoid/clients/factory_spec.rb +24 -18
- data/spec/mongoid/clients/options_spec.rb +58 -44
- data/spec/mongoid/clients/sessions_spec.rb +1 -1
- data/spec/mongoid/clients/transactions_spec.rb +369 -0
- data/spec/mongoid/clients_spec.rb +68 -8
- data/spec/mongoid/config_spec.rb +27 -1
- data/spec/mongoid/contextual/memory_spec.rb +19 -0
- data/spec/mongoid/contextual/mongo_spec.rb +33 -5
- data/spec/mongoid/copyable_spec.rb +90 -6
- data/spec/mongoid/copyable_spec_models.rb +17 -0
- data/spec/mongoid/criteria/modifiable_spec.rb +183 -60
- data/spec/mongoid/criteria/queryable/extensions/big_decimal_spec.rb +3 -3
- data/spec/mongoid/criteria/queryable/extensions/string_spec.rb +43 -0
- data/spec/mongoid/criteria/queryable/pipeline_spec.rb +12 -0
- data/spec/mongoid/criteria/queryable/selectable_spec.rb +42 -3
- data/spec/mongoid/criteria/queryable/selector_spec.rb +2 -2
- data/spec/mongoid/criteria/scopable_spec.rb +81 -0
- data/spec/mongoid/criteria_spec.rb +33 -18
- data/spec/mongoid/document_spec.rb +83 -4
- data/spec/mongoid/extensions/array_spec.rb +11 -15
- data/spec/mongoid/extensions/big_decimal_spec.rb +9 -9
- data/spec/mongoid/extensions/hash_spec.rb +18 -1
- data/spec/mongoid/extensions/object_spec.rb +7 -11
- data/spec/mongoid/extensions/range_spec.rb +7 -0
- data/spec/mongoid/extensions/regexp_spec.rb +23 -0
- data/spec/mongoid/factory_spec.rb +19 -1
- data/spec/mongoid/fields/foreign_key_spec.rb +24 -32
- data/spec/mongoid/fields_spec.rb +2 -2
- data/spec/mongoid/findable_spec.rb +1 -1
- data/spec/mongoid/indexable_spec.rb +18 -8
- data/spec/mongoid/interceptable_spec.rb +22 -1
- data/spec/mongoid/matchable/elem_match_spec.rb +20 -0
- data/spec/mongoid/matchable/eq_spec.rb +48 -0
- data/spec/mongoid/persistable/incrementable_spec.rb +6 -6
- data/spec/mongoid/persistable/savable_spec.rb +2 -2
- data/spec/mongoid/persistable/settable_spec.rb +95 -10
- data/spec/mongoid/persistable_spec.rb +21 -6
- data/spec/mongoid/persistence_context_spec.rb +1 -1
- data/spec/mongoid/query_cache_spec.rb +61 -22
- data/spec/mongoid/relations/proxy_spec.rb +124 -124
- data/spec/mongoid/scopable_spec.rb +13 -0
- data/spec/mongoid/shardable_spec.rb +32 -12
- data/spec/mongoid/threaded_spec.rb +68 -0
- data/spec/mongoid/{relations/touchable_spec.rb → touchable_spec.rb} +40 -1
- data/spec/mongoid/validatable/associated_spec.rb +1 -1
- data/spec/mongoid/validatable/presence_spec.rb +7 -6
- data/spec/mongoid/validatable_spec.rb +1 -1
- data/spec/rails/controller_extension/controller_runtime_spec.rb +110 -0
- data/spec/spec_helper.rb +51 -25
- data/spec/support/constraints.rb +101 -0
- data/spec/support/macros.rb +20 -0
- data/spec/support/spec_config.rb +39 -0
- metadata +602 -582
- checksums.yaml.gz.sig +0 -2
- data/lib/mongoid/relations/accessors.rb +0 -267
- data/lib/mongoid/relations/auto_save.rb +0 -94
- data/lib/mongoid/relations/bindings/embedded/in.rb +0 -59
- data/lib/mongoid/relations/bindings/referenced/in.rb +0 -65
- data/lib/mongoid/relations/bindings/referenced/many_to_many.rb +0 -70
- data/lib/mongoid/relations/bindings.rb +0 -9
- data/lib/mongoid/relations/builder.rb +0 -57
- data/lib/mongoid/relations/builders/nested_attributes/many.rb +0 -199
- data/lib/mongoid/relations/builders/referenced/in.rb +0 -26
- data/lib/mongoid/relations/builders/referenced/many.rb +0 -26
- data/lib/mongoid/relations/builders/referenced/many_to_many.rb +0 -39
- data/lib/mongoid/relations/builders/referenced/one.rb +0 -26
- data/lib/mongoid/relations/builders.rb +0 -106
- data/lib/mongoid/relations/cascading/delete.rb +0 -44
- data/lib/mongoid/relations/cascading/destroy.rb +0 -43
- data/lib/mongoid/relations/cascading/nullify.rb +0 -35
- data/lib/mongoid/relations/cascading/restrict.rb +0 -39
- data/lib/mongoid/relations/cascading.rb +0 -56
- data/lib/mongoid/relations/conversions.rb +0 -34
- data/lib/mongoid/relations/counter_cache.rb +0 -160
- data/lib/mongoid/relations/cyclic.rb +0 -107
- data/lib/mongoid/relations/eager/base.rb +0 -153
- data/lib/mongoid/relations/eager/belongs_to.rb +0 -31
- data/lib/mongoid/relations/eager/has_and_belongs_to_many.rb +0 -47
- data/lib/mongoid/relations/eager/has_many.rb +0 -38
- data/lib/mongoid/relations/eager/has_one.rb +0 -30
- data/lib/mongoid/relations/embedded/in.rb +0 -241
- data/lib/mongoid/relations/embedded/many.rb +0 -683
- data/lib/mongoid/relations/embedded/one.rb +0 -235
- data/lib/mongoid/relations/macros.rb +0 -367
- data/lib/mongoid/relations/metadata.rb +0 -1179
- data/lib/mongoid/relations/nested_builder.rb +0 -74
- data/lib/mongoid/relations/options.rb +0 -49
- data/lib/mongoid/relations/polymorphic.rb +0 -39
- data/lib/mongoid/relations/referenced/in.rb +0 -304
- data/lib/mongoid/relations/referenced/many.rb +0 -812
- data/lib/mongoid/relations/referenced/many_to_many.rb +0 -479
- data/lib/mongoid/relations/referenced/one.rb +0 -290
- data/lib/mongoid/relations/synchronization.rb +0 -169
- data/lib/mongoid/relations/targets/enumerable.rb +0 -493
- data/lib/mongoid/relations/targets.rb +0 -2
- data/lib/mongoid/relations/touchable.rb +0 -97
- data/spec/mongoid/fields/internal/foreign_keys/array_spec.rb +0 -184
- data/spec/mongoid/fields/internal/foreign_keys/object_spec.rb +0 -201
- data/spec/mongoid/relations/builders/referenced/many_spec.rb +0 -137
- data/spec/mongoid/relations/builders/referenced/many_to_many_spec.rb +0 -178
- data/spec/mongoid/relations/builders/referenced/one_spec.rb +0 -111
- data/spec/mongoid/relations/cascading/delete_spec.rb +0 -101
- data/spec/mongoid/relations/cascading/destroy_spec.rb +0 -47
- data/spec/mongoid/relations/cascading/nullify_spec.rb +0 -32
- data/spec/mongoid/relations/cascading/restrict_spec.rb +0 -68
- data/spec/mongoid/relations/cascading_spec.rb +0 -355
- data/spec/mongoid/relations/constraint_spec.rb +0 -75
- data/spec/mongoid/relations/conversions_spec.rb +0 -128
- data/spec/mongoid/relations/metadata_spec.rb +0 -1985
- data/spec/mongoid/relations/options_spec.rb +0 -35
- data.tar.gz.sig +0 -0
- metadata.gz.sig +0 -0
- /data/spec/mongoid/{relations → association}/embedded/dirty_spec.rb +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
require "spec_helper"
|
2
2
|
|
3
|
-
describe Mongoid::
|
3
|
+
describe Mongoid::Association::Referenced::BelongsTo::Proxy do
|
4
4
|
|
5
5
|
before(:all) do
|
6
6
|
Person.reset_callbacks(:validate)
|
@@ -78,8 +78,8 @@ describe Mongoid::Relations::Referenced::In do
|
|
78
78
|
expect(address.account).to eq(account)
|
79
79
|
end
|
80
80
|
|
81
|
-
it "does not erase the metadata" do
|
82
|
-
expect(address.
|
81
|
+
it "does not erase the association metadata" do
|
82
|
+
expect(address._association).to_not be_nil
|
83
83
|
end
|
84
84
|
|
85
85
|
it "allows saving of the embedded document" do
|
@@ -106,7 +106,7 @@ describe Mongoid::Relations::Referenced::In do
|
|
106
106
|
end
|
107
107
|
|
108
108
|
it "sets the target of the relation" do
|
109
|
-
expect(game.person.
|
109
|
+
expect(game.person._target).to eq(person)
|
110
110
|
end
|
111
111
|
|
112
112
|
it "sets the foreign key on the relation" do
|
@@ -141,7 +141,7 @@ describe Mongoid::Relations::Referenced::In do
|
|
141
141
|
end
|
142
142
|
|
143
143
|
it "sets the target of the relation" do
|
144
|
-
expect(game.person.
|
144
|
+
expect(game.person._target).to eq(person)
|
145
145
|
end
|
146
146
|
|
147
147
|
it "sets the foreign key of the relation" do
|
@@ -203,7 +203,7 @@ describe Mongoid::Relations::Referenced::In do
|
|
203
203
|
end
|
204
204
|
|
205
205
|
it "sets the target of the relation" do
|
206
|
-
expect(rating.ratable.
|
206
|
+
expect(rating.ratable._target).to eq(bar)
|
207
207
|
end
|
208
208
|
|
209
209
|
it "sets the foreign key on the relation" do
|
@@ -238,7 +238,7 @@ describe Mongoid::Relations::Referenced::In do
|
|
238
238
|
end
|
239
239
|
|
240
240
|
it "sets the target of the relation" do
|
241
|
-
expect(rating.ratable.
|
241
|
+
expect(rating.ratable._target).to eq(bar)
|
242
242
|
end
|
243
243
|
|
244
244
|
it "sets the foreign key of the relation" do
|
@@ -317,7 +317,7 @@ describe Mongoid::Relations::Referenced::In do
|
|
317
317
|
end
|
318
318
|
|
319
319
|
it "sets the target of the relation" do
|
320
|
-
expect(post.person.
|
320
|
+
expect(post.person._target).to eq(person)
|
321
321
|
end
|
322
322
|
|
323
323
|
it "sets the foreign key on the relation" do
|
@@ -344,7 +344,7 @@ describe Mongoid::Relations::Referenced::In do
|
|
344
344
|
end
|
345
345
|
|
346
346
|
it "sets the target of the relation" do
|
347
|
-
expect(post.person.
|
347
|
+
expect(post.person._target).to eq(person)
|
348
348
|
end
|
349
349
|
|
350
350
|
it "sets the foreign key of the relation" do
|
@@ -388,7 +388,7 @@ describe Mongoid::Relations::Referenced::In do
|
|
388
388
|
|
389
389
|
it "should assign as expected" do
|
390
390
|
eye.suspended_in = eye_bowl
|
391
|
-
expect(eye.suspended_in.
|
391
|
+
expect(eye.suspended_in._target).to eq(eye_bowl)
|
392
392
|
end
|
393
393
|
end
|
394
394
|
|
@@ -409,7 +409,7 @@ describe Mongoid::Relations::Referenced::In do
|
|
409
409
|
end
|
410
410
|
|
411
411
|
it "sets the target of the relation" do
|
412
|
-
expect(rating.ratable.
|
412
|
+
expect(rating.ratable._target).to eq(movie)
|
413
413
|
end
|
414
414
|
|
415
415
|
it "sets the foreign key on the relation" do
|
@@ -436,7 +436,7 @@ describe Mongoid::Relations::Referenced::In do
|
|
436
436
|
end
|
437
437
|
|
438
438
|
it "sets the target of the relation" do
|
439
|
-
expect(rating.ratable.
|
439
|
+
expect(rating.ratable._target).to eq(movie)
|
440
440
|
end
|
441
441
|
|
442
442
|
it "sets the foreign key of the relation" do
|
@@ -470,6 +470,13 @@ describe Mongoid::Relations::Referenced::In do
|
|
470
470
|
|
471
471
|
context "when relation is has_one" do
|
472
472
|
|
473
|
+
around(:each) do |example|
|
474
|
+
original_account_dependents = Account.dependents
|
475
|
+
Account.dependents = []
|
476
|
+
example.run
|
477
|
+
Account.dependents = original_account_dependents
|
478
|
+
end
|
479
|
+
|
473
480
|
before do
|
474
481
|
Account.belongs_to :person, dependent: :destroy
|
475
482
|
Person.has_one :account
|
@@ -514,6 +521,13 @@ describe Mongoid::Relations::Referenced::In do
|
|
514
521
|
|
515
522
|
context "when relation is has_many" do
|
516
523
|
|
524
|
+
around(:each) do |example|
|
525
|
+
original_drug_dependents = Drug.dependents
|
526
|
+
Drug.dependents = []
|
527
|
+
example.run
|
528
|
+
Drug.dependents = original_drug_dependents
|
529
|
+
end
|
530
|
+
|
517
531
|
before do
|
518
532
|
Drug.belongs_to :person, dependent: :destroy
|
519
533
|
Person.has_many :drugs
|
@@ -562,8 +576,15 @@ describe Mongoid::Relations::Referenced::In do
|
|
562
576
|
|
563
577
|
context "when relation is has_one" do
|
564
578
|
|
579
|
+
around(:each) do |example|
|
580
|
+
original_account_dependents = Account.dependents
|
581
|
+
Account.dependents = []
|
582
|
+
example.run
|
583
|
+
Account.dependents = original_account_dependents
|
584
|
+
end
|
585
|
+
|
565
586
|
before do
|
566
|
-
Account.belongs_to :person, dependent: :
|
587
|
+
Account.belongs_to :person, dependent: :delete_all
|
567
588
|
Person.has_one :account
|
568
589
|
person.account = account
|
569
590
|
person.save
|
@@ -595,8 +616,15 @@ describe Mongoid::Relations::Referenced::In do
|
|
595
616
|
|
596
617
|
context "when relation is has_many" do
|
597
618
|
|
619
|
+
around(:each) do |example|
|
620
|
+
original_drug_dependents = Drug.dependents
|
621
|
+
Drug.dependents = []
|
622
|
+
example.run
|
623
|
+
Drug.dependents = original_drug_dependents
|
624
|
+
end
|
625
|
+
|
598
626
|
before do
|
599
|
-
Drug.belongs_to :person, dependent: :
|
627
|
+
Drug.belongs_to :person, dependent: :delete_all
|
600
628
|
Person.has_many :drugs
|
601
629
|
person.drugs = [drug]
|
602
630
|
person.save
|
@@ -643,6 +671,13 @@ describe Mongoid::Relations::Referenced::In do
|
|
643
671
|
|
644
672
|
context "when relation is has_one" do
|
645
673
|
|
674
|
+
around(:each) do |example|
|
675
|
+
original_account_dependents = Account.dependents
|
676
|
+
Account.dependents = []
|
677
|
+
example.run
|
678
|
+
Account.dependents = original_account_dependents
|
679
|
+
end
|
680
|
+
|
646
681
|
before do
|
647
682
|
Account.belongs_to :person, dependent: :nullify
|
648
683
|
Person.has_one :account
|
@@ -675,6 +710,13 @@ describe Mongoid::Relations::Referenced::In do
|
|
675
710
|
|
676
711
|
context "when relation is has_many" do
|
677
712
|
|
713
|
+
around(:each) do |example|
|
714
|
+
original_drug_dependents = Drug.dependents
|
715
|
+
Drug.dependents = []
|
716
|
+
example.run
|
717
|
+
Drug.dependents = original_drug_dependents
|
718
|
+
end
|
719
|
+
|
678
720
|
before do
|
679
721
|
Drug.belongs_to :person, dependent: :nullify
|
680
722
|
Person.has_many :drugs
|
@@ -980,48 +1022,6 @@ describe Mongoid::Relations::Referenced::In do
|
|
980
1022
|
end
|
981
1023
|
end
|
982
1024
|
|
983
|
-
describe ".builder" do
|
984
|
-
|
985
|
-
let(:builder_klass) do
|
986
|
-
Mongoid::Relations::Builders::Referenced::In
|
987
|
-
end
|
988
|
-
|
989
|
-
let(:document) do
|
990
|
-
double
|
991
|
-
end
|
992
|
-
|
993
|
-
let(:metadata) do
|
994
|
-
double(extension?: false)
|
995
|
-
end
|
996
|
-
|
997
|
-
it "returns the embedded in builder" do
|
998
|
-
expect(
|
999
|
-
described_class.builder(nil, metadata, document)
|
1000
|
-
).to be_a_kind_of(builder_klass)
|
1001
|
-
end
|
1002
|
-
end
|
1003
|
-
|
1004
|
-
describe ".embedded?" do
|
1005
|
-
|
1006
|
-
it "returns false" do
|
1007
|
-
expect(described_class).to_not be_embedded
|
1008
|
-
end
|
1009
|
-
end
|
1010
|
-
|
1011
|
-
describe ".foreign_key_suffix" do
|
1012
|
-
|
1013
|
-
it "returns _id" do
|
1014
|
-
expect(described_class.foreign_key_suffix).to eq("_id")
|
1015
|
-
end
|
1016
|
-
end
|
1017
|
-
|
1018
|
-
describe ".macro" do
|
1019
|
-
|
1020
|
-
it "returns belongs_to" do
|
1021
|
-
expect(described_class.macro).to eq(:belongs_to)
|
1022
|
-
end
|
1023
|
-
end
|
1024
|
-
|
1025
1025
|
describe "#respond_to?" do
|
1026
1026
|
|
1027
1027
|
let(:person) do
|
@@ -1047,40 +1047,6 @@ describe Mongoid::Relations::Referenced::In do
|
|
1047
1047
|
end
|
1048
1048
|
end
|
1049
1049
|
|
1050
|
-
describe ".stores_foreign_key?" do
|
1051
|
-
|
1052
|
-
it "returns true" do
|
1053
|
-
expect(described_class.stores_foreign_key?).to be true
|
1054
|
-
end
|
1055
|
-
end
|
1056
|
-
|
1057
|
-
describe ".valid_options" do
|
1058
|
-
|
1059
|
-
it "returns the valid options" do
|
1060
|
-
expect(described_class.valid_options).to eq(
|
1061
|
-
[
|
1062
|
-
:autobuild,
|
1063
|
-
:autosave,
|
1064
|
-
:dependent,
|
1065
|
-
:foreign_key,
|
1066
|
-
:index,
|
1067
|
-
:polymorphic,
|
1068
|
-
:primary_key,
|
1069
|
-
:touch,
|
1070
|
-
:optional,
|
1071
|
-
:required
|
1072
|
-
]
|
1073
|
-
)
|
1074
|
-
end
|
1075
|
-
end
|
1076
|
-
|
1077
|
-
describe ".validation_default" do
|
1078
|
-
|
1079
|
-
it "returns false" do
|
1080
|
-
expect(described_class.validation_default).to be false
|
1081
|
-
end
|
1082
|
-
end
|
1083
|
-
|
1084
1050
|
context "when the relation is self referencing" do
|
1085
1051
|
|
1086
1052
|
let(:game_one) do
|
@@ -1280,7 +1246,7 @@ describe Mongoid::Relations::Referenced::In do
|
|
1280
1246
|
|
1281
1247
|
before do
|
1282
1248
|
Person.collection.find({ _id: person_one.id }).
|
1283
|
-
|
1249
|
+
update_one({ "$set" => { title: "Madam" }})
|
1284
1250
|
end
|
1285
1251
|
|
1286
1252
|
let(:reloaded) do
|