Module: Mongoid::Association::Options

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

#touchable?true | false

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Whether the association object should be automatically touched when its inverse object is updated.

Returns:

  • (true | false)

    returns true if this association is automatically touched, false otherwise. The default is false.



122
123
124
# File 'build/mongoid-master/lib/mongoid/association/options.rb', line 122

def touchable?
  !!@options[:touch]
end

#typenil

The field for saving the associated object’s type.

Returns:

  • (nil)

    Default is nil.



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

def type; end