module NinjaModel::Associations

Attributes

association_cache[R]

Public Instance Methods

association(name) click to toggle source
# File lib/ninja_model/associations.rb, line 26
def association(name)
  association = association_instance_get(name)

  if association.nil?
    reflection = self.class.reflect_on_association(name)
    association = reflection.association_class.new(self, reflection)
    association_instance_set(name, association)
  end
  association
end

Private Instance Methods

association_instance_get(name) click to toggle source
# File lib/ninja_model/associations.rb, line 39
def association_instance_get(name)
  @association_cache[name.to_sym]
end
association_instance_set(name, association) click to toggle source
# File lib/ninja_model/associations.rb, line 43
def association_instance_set(name, association)
  @association_cache[name.to_sym] = association
end