Method: ActiveRecord::Reflection::ClassMethods#create_reflection

Defined in:
lib/active_record/reflection.rb

#create_reflection(macro, name, options, active_record) ⇒ Object



13
14
15
16
17
18
19
20
21
22
# File 'lib/active_record/reflection.rb', line 13

def create_reflection(macro, name, options, active_record)
  case macro
    when :has_many, :belongs_to, :has_one, :has_and_belongs_to_many
      reflection = AssociationReflection.new(macro, name, options, active_record)
    when :composed_of
      reflection = AggregateReflection.new(macro, name, options, active_record)
  end
  write_inheritable_hash :reflections, name => reflection
  reflection
end