123456789_123456789_123456789_123456789_123456789_

Module: Mongoid::Association::Embedded::EmbeddedIn::Buildable

Relationships & Source Files
Extension / Inclusion / Inheritance Descendants
Included In:
Super Chains via Extension / Inclusion / Inheritance
Instance Chain:
Defined in: lib/mongoid/association/embedded/embedded_in/buildable.rb

Overview

The Builder behavior for embedded_in associations.

Instance Attribute Summary

::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

Instance Method Details

#build(base, object, type = nil, selected_fields = nil) ⇒ Document

This builder doesn’t actually build anything, just returns the parent since it should already be instantiated.

Examples:

Build the document.

Builder.new(meta, attrs).build

Parameters:

  • base (Document)

    The object.

  • object (Document | Hash)

    The parent hash or document.

  • type (String) (defaults to: nil)

    Not used in this context.

  • selected_fields (Hash) (defaults to: nil)

    ::Mongoid::Fields which were retrieved via #only. If selected_fields are specified, fields not listed in it will not be accessible in the built document.

Returns:

[ GitHub ]

  
# File 'lib/mongoid/association/embedded/embedded_in/buildable.rb', line 27

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