module ActiveMongoid::Associations::DocumentRelation::Builders::ClassMethods

Public Instance Methods

document_builder(name, metadata) click to toggle source
# File lib/active_mongoid/associations/document_relation/builders.rb, line 8
def document_builder(name, metadata)
  define_method("build_#{name}") do |attributes = {}|
    record = metadata.klass.new(attributes)
    send("#{name}=", record)
  end
  self
end
document_creator(name, metadata) click to toggle source
# File lib/active_mongoid/associations/document_relation/builders.rb, line 16
def document_creator(name, metadata)
  define_method("create_#{name}") do |attributes = {}|
    record = metadata.klass.new(attributes)
    obj = send("#{name}=", record)
    record.save
    save if metadata.stores_foreign_key?
    obj
  end
  self
end