Module: Mongoid::Association::Options
- Included in:
- Relatable
- Defined in:
- lib/mongoid/association/options.rb
Instance Method Summary collapse
-
#as ⇒ String, Symbol
Returns the name of the parent to a polymorphic child.
-
#autobuilding? ⇒ true, false
Whether the association is autobuilding.
-
#autosave ⇒ true, false
(also: #autosave?)
Options to save any loaded members and destroy members that are marked for destruction when the parent object is saved.
-
#cascading_callbacks? ⇒ true, false
Whether the association has callbacks cascaded down from the parent.
-
#counter_cached? ⇒ true, false
Whether the association is counter-cached.
-
#cyclic? ⇒ true, false
Is the association cyclic.
-
#dependent ⇒ String
Specify what happens to the associated object when the owner is destroyed.
-
#forced_nil_inverse? ⇒ false
Whether the association has forced nil inverse (So no foreign keys are saved).
-
#indexed? ⇒ true, false
Whether to index the primary or foreign key field.
-
#inverse_of ⇒ String
The name the owning object uses to refer to this association.
-
#order ⇒ Criteria::Queryable::Key
The custom sorting options on the association.
-
#polymorphic? ⇒ true, false
Whether this association is polymorphic.
-
#primary_key ⇒ Symbol, String
Mongoid assumes that the field used to hold the primary key of the association is id.
-
#store_as ⇒ nil
The store_as option.
-
#touch_field ⇒ nil
The field for saving the associated object’s type.
-
#type ⇒ nil
The field for saving the associated object’s type.
Instance Method Details
#as ⇒ String, Symbol
Returns the name of the parent to a polymorphic child.
11 12 13 |
# File 'lib/mongoid/association/options.rb', line 11 def as @options[:as] end |
#autobuilding? ⇒ true, false
Whether the association is autobuilding.
39 40 41 |
# File 'lib/mongoid/association/options.rb', line 39 def autobuilding? !!@options[:autobuild] end |
#autosave ⇒ true, 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.
69 70 71 |
# File '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.
89 90 91 |
# File 'lib/mongoid/association/options.rb', line 89 def cascading_callbacks? !!@options[:cascade_callbacks] end |
#counter_cached? ⇒ true, false
Whether the association is counter-cached.
77 78 79 |
# File 'lib/mongoid/association/options.rb', line 77 def counter_cached? !!@options[:counter_cache] end |
#cyclic? ⇒ true, false
Is the association cyclic.
46 47 48 |
# File 'lib/mongoid/association/options.rb', line 46 def cyclic? !!@options[:cyclic] end |
#dependent ⇒ String
Specify what happens to the associated object when the owner is destroyed.
18 19 20 |
# File '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).
101 |
# File '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.
32 33 34 |
# File 'lib/mongoid/association/options.rb', line 32 def indexed? @indexed ||= !!@options[:index] end |
#inverse_of ⇒ String
The name the owning object uses to refer to this association.
53 54 55 |
# File 'lib/mongoid/association/options.rb', line 53 def inverse_of @options[:inverse_of] end |
#order ⇒ Criteria::Queryable::Key
The custom sorting options on the association.
25 26 27 |
# File 'lib/mongoid/association/options.rb', line 25 def order @options[:order] end |
#polymorphic? ⇒ true, false
Whether this association is polymorphic.
84 |
# File 'lib/mongoid/association/options.rb', line 84 def polymorphic?; false; end |
#primary_key ⇒ Symbol, 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.
61 62 63 |
# File '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_as ⇒ nil
The store_as option.
96 |
# File 'lib/mongoid/association/options.rb', line 96 def store_as; end |
#touch_field ⇒ nil
The field for saving the associated object’s type.
111 112 113 |
# File 'lib/mongoid/association/options.rb', line 111 def touch_field @touch_field ||= [:touch] if ([:touch].is_a?(String) || [:touch].is_a?(Symbol)) end |
#type ⇒ nil
The field for saving the associated object’s type.
106 |
# File 'lib/mongoid/association/options.rb', line 106 def type; end |