module ActiveModel::Associations::ActiveRecordReflection::ClassMethods

Public Instance Methods

create_reflection(macro, name, scope, options, active_record) click to toggle source
# File lib/active_model/associations/active_record_reflection.rb, line 17
def create_reflection(macro, name, scope, options, active_record)
  case macro
  when :has_many, :belongs_to
    klass =  ActiveRecord::Reflection::AssociationReflection
    reflection = klass.new(macro, name, scope, options, active_record)
  end

  self.reflections = self.reflections.merge(name => reflection)
  reflection
end
reflect_on_association(association) click to toggle source
# File lib/active_model/associations/active_record_reflection.rb, line 29
def reflect_on_association(association)
  if ActiveRecord.version >= Gem::Version.new("4.1.2")
    _reflections[association.to_s]
  else
    reflections[association]
  end
end