Class | Mongoid::Relations::Proxy |
In: |
lib/mongoid/relations/proxy.rb
|
Parent: | Object |
This class is the superclass for all relation proxy objects, and contains common behaviour for all of them.
base | [RW] | |
loaded | [RW] | |
metadata | [RW] | |
target | [RW] |
Convenience for setting the target and the metadata properties since all proxies will need to do this.
@example Initialize the proxy.
proxy.init(person, name, metadata)
@param [ Document ] base The base document on the proxy. @param [ Document, Array<Document> ] target The target of the proxy. @param [ Metadata ] metadata The relation‘s metadata.
@since 2.0.0.rc.1
The default substitutable object for a relation proxy is the clone of the target.
@example Get the substitutable.
proxy.substitutable
@return [ Object ] A clone of the target.
@since 2.1.6
Takes the supplied document and sets the metadata on it.
@example Set the metadata.
proxt.characterize_one(name)
@param [ Document ] document The document to set on.
@since 2.0.0.rc.4
Get the collection from the root of the hierarchy.
@example Get the collection.
relation.collection
@return [ Collection ] The root‘s collection.
@since 2.0.0
Return a new document for the type of class we want to instantiate. If the type is provided use that, otherwise the klass from the metadata.
@example Get an instantiated document.
proxy.instantiated(Person)
@param [ Class ] type The type of class to instantiate.
@return [ Document ] The freshly created document.
@since 2.0.0.rc.1
When the base document illegally references an embedded document this error will get raised.
@example Raise the error.
relation.raise_mixed
@raise [ Errors::MixedRelations ] The error.
@since 2.0.0
When the base is not yet saved and the user calls create or create! on the relation, this error will get raised.
@example Raise the error.
relation.raise_unsaved(post)
@param [ Document ] doc The child document getting created.
@raise [ Errors::UnsavedDocument ] The error.
@since 2.0.0.rc.6