class Cequel::Record::BelongsToAssociation
Represents a parent association declared by {Associations::ClassMethods#belongs_to belongs_to}
@see Associations::ClassMethods#parent_association @since 1.0.0
Attributes
association_class_name[R]
@return [String] name of parent class
foreign_keys[R]
@return [Array] array of foreign key symbols
name[R]
@return [Symbol] name of the association
owner_class[R]
@return [Class] child class that declared `belongs_to`
Public Class Methods
new(owner_class, name, options = {})
click to toggle source
@param owner_class
[Class] child class that declared `belongs_to` @param name [Symbol] name of the association @param options [Options] options for association @option options [String] :class_name name of parent class
@api private
# File lib/cequel/record/belongs_to_association.rb, line 34 def initialize(owner_class, name, options = {}) options.assert_valid_keys(:class_name, :foreign_key) @foreign_keys = Array(options.fetch(:foreign_key, [])).map { |x| x.to_sym } @owner_class, @name = owner_class, name.to_sym @association_class_name = options.fetch(:class_name, @name.to_s.classify) end
Public Instance Methods
association_class()
click to toggle source
@return [Class] parent class declared by `belongs_to`
# File lib/cequel/record/belongs_to_association.rb, line 46 def association_class @association_class ||= association_class_name.constantize end
instance_variable_name()
click to toggle source
@return [Symbol] instance variable name to use for storing the parent
instance in a record
@api private
# File lib/cequel/record/belongs_to_association.rb, line 56 def instance_variable_name @instance_variable_name ||= :"@#{name}" end