Module: Mongoid::Association::Embedded::EmbedsOne::Buildable

Includes:
Threaded::Lifecycle
Included in:
Mongoid::Association::Embedded::EmbedsOne
Defined in:
build/mongoid-7.0/lib/mongoid/association/embedded/embeds_one/buildable.rb

Overview

Builder class for embeds_one associations.

Since:

  • 7.0

Instance Method Summary collapse

Instance Method Details

#build(base, object, _type = nil) ⇒ Document

Builds the document out of the attributes using the provided association metadata on the relation. Instantiates through the factory in order to make sure subclasses and allocation are used if fitting.

Examples:

Build the document.

Builder.new(meta, attrs).build

Parameters:

  • base (Document)

    The document this relation hangs off of.

  • object (Document)

    The related document.

  • _type (String) (defaults to: nil)

    Not used in this context.

Returns:

Since:

  • 7.0



24
25
26
27
28
29
30
31
# File 'build/mongoid-7.0/lib/mongoid/association/embedded/embeds_one/buildable.rb', line 24

def build(base, object, _type = nil)
  return object unless object.is_a?(Hash)
  if _loading? && base.persisted?
    Factory.from_db(klass, object)
  else
    Factory.build(klass, object)
  end
end