module ActiveMongoid::Associations::DocumentRelation::Macros::ClassMethods

Public Instance Methods

belongs_to_document(name, options = {}) click to toggle source
# File lib/active_mongoid/associations/document_relation/macros.rb, line 9
def belongs_to_document(name, options = {})
  meta = characterize_association(name, Referenced::In, options)
  relate_one_to_one_document(name, meta)
end
has_many_documents(name, options = {}) click to toggle source
# File lib/active_mongoid/associations/document_relation/macros.rb, line 19
def has_many_documents(name, options = {})
  meta = characterize_association(name, Referenced::Many, options)
  relate_document(name, meta)
  # document_ids_setter(name, metadata)
  # document_ids_getter(name, metadata)
end
has_one_document(name, options = {}) click to toggle source
# File lib/active_mongoid/associations/document_relation/macros.rb, line 14
def has_one_document(name, options = {})
  meta = characterize_association(name, Referenced::One, options)
  relate_one_to_one_document(name, meta)
end

Private Instance Methods

relate_document(name, metadata) click to toggle source
# File lib/active_mongoid/associations/document_relation/macros.rb, line 36
def relate_document(name, metadata)
  self.am_relations = am_relations.merge(name.to_s => metadata)
  document_getter(name, metadata)
  document_setter(name, metadata)
  autosave_documents(metadata)
  dependent_documents(metadata)
  existence_check(name)
end
relate_one_to_one_document(name, metadata) click to toggle source
# File lib/active_mongoid/associations/document_relation/macros.rb, line 28
def relate_one_to_one_document(name, metadata)
  relate_document(name, metadata)
  document_builder(name, metadata)
  document_creator(name, metadata)
  document_id_setter(name, metadata)
  document_id_getter(name, metadata)
end