Class: Mongoid::Association::Embedded::EmbedsOne::Binding
Relationships & Source Files | |
Super Chains via Extension / Inclusion / Inheritance | |
Instance Chain:
|
|
Inherits: | Object |
Defined in: | lib/mongoid/association/embedded/embeds_one/binding.rb |
Overview
Binding
class for all embeds_one associations.
Instance Attribute Summary
::Mongoid::Association::Bindable
- Included
::Mongoid::Threaded::Lifecycle
- Included
#_assigning | Begin the assignment of attributes. |
#_assigning? | Is the current thread in assigning mode? |
#_binding | Execute a block in binding mode. |
#_binding? | Is the current thread in binding mode? |
#_building | Execute a block in building mode. |
#_building? | Is the current thread in building mode? |
#_creating? | Is the current thread in creating mode? |
#_loading | Execute a block in loading mode. |
#_loading? | Is the current thread in loading mode? |
Instance Method Summary
-
#bind_one
Binds the base object to the inverse of the association.
-
#unbind_one
Unbinds the base object and the inverse, caused by setting the reference to nil.
::Mongoid::Association::Bindable
- Included
#binding | Execute the provided block inside a binding. |
#initialize | Create the new binding. |
#bind_foreign_key |
|
#bind_from_relational_parent | Bind the provided document with the base from the parent association. |
#bind_inverse | Bind the inverse document to the child document so that the in memory instances are the same. |
#bind_polymorphic_inverse_type |
|
#bind_polymorphic_type |
|
#check_inverse! | Check if the inverse is properly defined. |
#record_id, | |
#remove_associated | Remove the associated document from the inverse’s association. |
#remove_associated_in_to | Remove the associated document from the inverse’s association. |
#remove_associated_many | Remove the associated document from the inverse’s association. |
#set_base_association | Ensure that the association on the base is correct, for the cases where we have multiple belongs to definitions and were are setting different parents in memory in order. |
#try_method | Convenience method to perform |
#unbind_from_relational_parent | Bind the provided document with the base from the parent association. |
Instance Method Details
#bind_one
Binds the base object to the inverse of the association. This is so we are referenced to the actual objects themselves on both sides.
This case sets the association metadata on the inverse object as well as the document itself.
# File 'lib/mongoid/association/embedded/embeds_one/binding.rb', line 22
def bind_one _target.parentize(_base) binding do try_method(_target, _association.inverse_setter(_target), _base) end end
#unbind_one
Unbinds the base object and the inverse, caused by setting the reference to nil.
# File 'lib/mongoid/association/embedded/embeds_one/binding.rb', line 35
def unbind_one binding do try_method(_target, _association.inverse_setter(_target), nil) end end