Module: Mongoid::Association::Options

Included in:
Relatable
Defined in:
build/mongoid-8.1/lib/mongoid/association/options.rb

Instance Method Summary collapse

Instance Method Details

#asString | Symbol

Returns the name of the parent to a polymorphic child.

Returns:

  • (String | Symbol)

    The name.



11
12
13
# File 'build/mongoid-8.1/lib/mongoid/association/options.rb', line 11

def as
  @options[:as]
end

#autobuilding?true | false

Whether the association is autobuilding.

Returns:

  • (true | false)


39
40
41
# File 'build/mongoid-8.1/lib/mongoid/association/options.rb', line 39

def autobuilding?
  !!@options[:autobuild]
end

#autosavetrue | false Also known as: autosave?

Options to save any loaded members and destroy members that are marked for destruction when the parent object is saved.

Returns:

  • (true | false)

    The autosave option.



69
70
71
# File 'build/mongoid-8.1/lib/mongoid/association/options.rb', line 69

def autosave
  !!@options[:autosave]
end

#cascading_callbacks?true | false

Whether the association has callbacks cascaded down from the parent.

Returns:

  • (true | false)

    Whether callbacks are cascaded.



89
90
91
# File 'build/mongoid-8.1/lib/mongoid/association/options.rb', line 89

def cascading_callbacks?
  !!@options[:cascade_callbacks]
end

#counter_cached?true | false

Whether the association is counter-cached.

Returns:

  • (true | false)


77
78
79
# File 'build/mongoid-8.1/lib/mongoid/association/options.rb', line 77

def counter_cached?
  !!@options[:counter_cache]
end

#cyclic?true | false

Is the association cyclic.

Returns:

  • (true | false)

    Whether the association is cyclic.



46
47
48
# File 'build/mongoid-8.1/lib/mongoid/association/options.rb', line 46

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

#dependentString

Specify what happens to the associated object when the owner is destroyed.

Returns:

  • (String)

    The dependent option.



18
19
20
# File 'build/mongoid-8.1/lib/mongoid/association/options.rb', line 18

def dependent
  @options[:dependent]
end

#forced_nil_inverse?false

Whether the association has forced nil inverse (So no foreign keys are saved).

Returns:

  • (false)

    Default is false.



101
# File 'build/mongoid-8.1/lib/mongoid/association/options.rb', line 101

def forced_nil_inverse?; false; end

#indexed?true | false

Whether to index the primary or foreign key field.

Returns:

  • (true | false)


32
33
34
# File 'build/mongoid-8.1/lib/mongoid/association/options.rb', line 32

def indexed?
  @indexed ||= !!@options[:index]
end

#inverse_ofString

The name the owning object uses to refer to this association.

Returns:

  • (String)

    The inverse_of option.



53
54
55
# File 'build/mongoid-8.1/lib/mongoid/association/options.rb', line 53

def inverse_of
  @options[:inverse_of]
end

#orderCriteria::Queryable::Key

The custom sorting options on the association.

Returns:



25
26
27
# File 'build/mongoid-8.1/lib/mongoid/association/options.rb', line 25

def order
  @options[:order]
end

#polymorphic?true | false

Whether this association is polymorphic.

Returns:

  • (true | false)

    Whether the association is polymorphic.



84
# File 'build/mongoid-8.1/lib/mongoid/association/options.rb', line 84

def polymorphic?; false; end

#primary_keySymbol | String

Mongoid assumes that the field used to hold the primary key of the association is id. You can override this and explicitly specify the primary key with the :primary_key option.

Returns:

  • (Symbol | String)

    The primary key.



61
62
63
# File 'build/mongoid-8.1/lib/mongoid/association/options.rb', line 61

def primary_key
  @primary_key ||= @options[:primary_key] ? @options[:primary_key].to_s : Relatable::PRIMARY_KEY_DEFAULT
end

#store_asnil

The store_as option.

Returns:

  • (nil)

    Default is nil.



96
# File 'build/mongoid-8.1/lib/mongoid/association/options.rb', line 96

def store_as; end

#touch_fieldnil

The field for saving the associated object’s type.

Returns:

  • (nil)

    Default is nil.



111
112
113
# File 'build/mongoid-8.1/lib/mongoid/association/options.rb', line 111

def touch_field
  @touch_field ||= options[:touch] if (options[:touch].is_a?(String) || options[:touch].is_a?(Symbol))
end

#typenil

The field for saving the associated object’s type.

Returns:

  • (nil)

    Default is nil.



106
# File 'build/mongoid-8.1/lib/mongoid/association/options.rb', line 106

def type; end