Module: Mongoid::Association::Options

Included in:
Relatable
Defined in:
build/mongoid-7.0/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.

Since:

  • 7.0



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

def as
  @options[:as]
end

#autobuilding?true, false

Whether the association is autobuilding.

Returns:

  • (true, false)

Since:

  • 7.0



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

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.

Since:

  • 7.0



85
86
87
# File 'build/mongoid-7.0/lib/mongoid/association/options.rb', line 85

def autosave
  !!@options[:autosave]
end

#cascading_callbacks?true, false

Whether the relation has callbacks cascaded down from the parent.

Returns:

  • (true, false)

    Whether callbacks are cascaded.

Since:

  • 7.0



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

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

#counter_cached?true, false

Whether the association is counter-cached.

Returns:

  • (true, false)

Since:

  • 7.0



95
96
97
# File 'build/mongoid-7.0/lib/mongoid/association/options.rb', line 95

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

#cyclic?true, false

Is the relation cyclic.

Returns:

  • (true, false)

    Whether the relation is cyclic.

Since:

  • 7.0



56
57
58
# File 'build/mongoid-7.0/lib/mongoid/association/options.rb', line 56

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

#dependentString

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

Returns:

  • (String)

    The dependent option.

Since:

  • 7.0



20
21
22
# File 'build/mongoid-7.0/lib/mongoid/association/options.rb', line 20

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.

Since:

  • 7.0



127
# File 'build/mongoid-7.0/lib/mongoid/association/options.rb', line 127

def forced_nil_inverse?; false; end

#indexed?true, false

Whether to index the primary or foreign key field.

Returns:

  • (true, false)

Since:

  • 7.0



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

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

#inverse_ofString

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

Returns:

  • (String)

    The inverse_of option.

Since:

  • 7.0



65
66
67
# File 'build/mongoid-7.0/lib/mongoid/association/options.rb', line 65

def inverse_of
  @options[:inverse_of]
end

#orderCriteria::Queryable::Key

The custom sorting options on the relation.

Returns:

Since:

  • 7.0



29
30
31
# File 'build/mongoid-7.0/lib/mongoid/association/options.rb', line 29

def order
  @options[:order]
end

#polymorphic?true, false

Whether this association is polymorphic.

Returns:

  • (true, false)

    Whether the association is polymorphic.

Since:

  • 7.0



104
# File 'build/mongoid-7.0/lib/mongoid/association/options.rb', line 104

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.

Since:

  • 7.0



75
76
77
# File 'build/mongoid-7.0/lib/mongoid/association/options.rb', line 75

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.

Since:

  • 7.0



120
# File 'build/mongoid-7.0/lib/mongoid/association/options.rb', line 120

def store_as; end

#touch_fieldnil

The field for saving the associated object’s type.

Returns:

  • (nil)

    Default is nil.

Since:

  • 7.0



141
142
143
# File 'build/mongoid-7.0/lib/mongoid/association/options.rb', line 141

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.

Since:

  • 7.0



134
# File 'build/mongoid-7.0/lib/mongoid/association/options.rb', line 134

def type; end