Class: Mongoid::Association::Embedded::EmbeddedIn

Inherits:
Object
  • Object
show all
Includes:
Buildable, Relatable
Defined in:
lib/mongoid/association/embedded/embedded_in.rb,
lib/mongoid/association/embedded/embedded_in/proxy.rb,
lib/mongoid/association/embedded/embedded_in/binding.rb,
lib/mongoid/association/embedded/embedded_in/buildable.rb

Overview

The EmbeddedIn type association.

Defined Under Namespace

Modules: Buildable Classes: Binding, Proxy

Constant Summary collapse

ASSOCIATION_OPTIONS =

The options available for this type of association, in addition to the common ones.

[
    :autobuild,
    :cyclic,
    :polymorphic,
    :touch,
].freeze
VALID_OPTIONS =

The complete list of valid options for this association, including the shared ones.

(ASSOCIATION_OPTIONS + SHARED_OPTIONS).freeze

Constants included from Relatable

Relatable::PRIMARY_KEY_DEFAULT, Relatable::SHARED_OPTIONS

Instance Attribute Summary

Attributes included from Relatable

#name, #options, #parent_inclusions

Instance Method Summary collapse

Methods included from Buildable

#build

Methods included from Relatable

#==, #bindable?, #counter_cache_column_name, #create_relation, #destructive?, #extension, #foreign_key_check, #foreign_key_setter, #get_callbacks, #in_to?, #initialize, #inverse, #inverse_association, #inverse_class, #inverse_class_name, #inverse_setter, #inverse_type, #inverse_type_setter, #inverses, #many?, #one?, #path, #relation_class, #relation_class_name, #setter, #type_setter, #validate?

Methods included from Options

#as, #autobuilding?, #autosave, #cascading_callbacks?, #counter_cached?, #cyclic?, #dependent, #forced_nil_inverse?, #indexed?, #inverse_of, #order, #store_as, #touch_field, #touchable?, #type

Methods included from Constrainable

#convert_to_foreign_key

Instance Method Details

#embedded?true

Is this association type embedded?



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

def embedded?; true; end

#keyString

The key that is used to get the attributes for the associated object.



67
68
69
# File 'lib/mongoid/association/embedded/embedded_in.rb', line 67

def key
  @key ||= name.to_s
end

#nested_builder(attributes, options) ⇒ Association::Nested::One

The nested builder object.



91
92
93
# File 'lib/mongoid/association/embedded/embedded_in.rb', line 91

def nested_builder(attributes, options)
  Nested::One.new(self, attributes, options)
end

#polymorphic?true | false

Is this association polymorphic?



81
82
83
# File 'lib/mongoid/association/embedded/embedded_in.rb', line 81

def polymorphic?
  !!@options[:polymorphic]
end

#primary_keynil

The primary key



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

def primary_key; end

#relationAssociation::Embedded::EmbeddedIn::Proxy

Get the association proxy class for this association type.



74
75
76
# File 'lib/mongoid/association/embedded/embedded_in.rb', line 74

def relation
  Proxy
end

#setup!self

Setup the instance methods, fields, etc. on the association owning class.



37
38
39
40
41
42
# File 'lib/mongoid/association/embedded/embedded_in.rb', line 37

def setup!
  setup_defaults!
  setup_instance_methods!
  @owner_class.embedded = true
  self
end

#stores_foreign_key?false

Does this association type store the foreign key?



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

def stores_foreign_key?; false; end

#validation_defaultfalse

The default for validating the association object.



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

def validation_default; false; end