Class: Mongoid::Associations::Options

Inherits:
Object
  • Object
show all
Defined in:
lib/mongoid/associations/options.rb

Overview

:nodoc:

Instance Method Summary collapse

Constructor Details

#initialize(attributes = {}) ⇒ Options

Create the new Options object, which provides convenience methods for accessing values out of an options Hash.



8
9
10
# File 'lib/mongoid/associations/options.rb', line 8

def initialize(attributes = {})
  @attributes = attributes
end

Instance Method Details

#foreign_keyObject

Return the foreign key based off the association name.



13
14
15
# File 'lib/mongoid/associations/options.rb', line 13

def foreign_key
  name.to_s.foreign_key
end

#inverse_ofObject

Returns the name of the inverse_of association



18
19
20
# File 'lib/mongoid/associations/options.rb', line 18

def inverse_of
  @attributes[:inverse_of]
end

#klassObject

Return a Class for the options. If a class_name was provided, then the constantized class_name will be returned. If not, a constant based on the association name will be returned.



25
26
27
28
# File 'lib/mongoid/associations/options.rb', line 25

def klass
  class_name = @attributes[:class_name]
  class_name ? class_name.constantize : name.to_s.classify.constantize
end

#nameObject

Returns the association name of the options.



31
32
33
# File 'lib/mongoid/associations/options.rb', line 31

def name
  @attributes[:name]
end

#parent_keyObject

Returns the parent foreign key association name.



36
37
38
# File 'lib/mongoid/associations/options.rb', line 36

def parent_key
  @attributes[:parent_key]
end

#polymorphicObject

Returns whether or not this association is polymorphic.



41
42
43
# File 'lib/mongoid/associations/options.rb', line 41

def polymorphic
  @attributes[:polymorphic] == true
end