Module: Mongoid::Association::Constrainable
Relationships & Source Files | |
Extension / Inclusion / Inheritance Descendants | |
Included In:
| |
Defined in: | lib/mongoid/association/constrainable.rb |
Overview
Used for converting foreign key values to the correct type based on the types of ids that the document stores.
Instance Method Summary
-
#convert_to_foreign_key(object) ⇒ Object
Convert the supplied object to the appropriate type to set as the foreign key for an association.
- #convert_polymorphic(object) private
Instance Method Details
#convert_polymorphic(object) (private)
[ GitHub ]
#convert_to_foreign_key(object) ⇒ Object
Convert the supplied object to the appropriate type to set as the foreign key for an association.
# File 'lib/mongoid/association/constrainable.rb', line 20
def convert_to_foreign_key(object) return convert_polymorphic(object) if polymorphic? field = relation_class.fields["_id"] if relation_class.using_object_ids? BSON::ObjectId.mongoize(object) elsif object.is_a?(::Array) object.map!{ |obj| field.mongoize(obj) } else field.mongoize(object) end end