Method: ActiveRecord::Reflection::ClassMethods#create_reflection

Defined in:
lib/ocean-dynamo/active_record_stuff/reflection.rb

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

:nodoc: all



20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/ocean-dynamo/active_record_stuff/reflection.rb', line 20

def create_reflection(macro, name, scope, options, active_record)
  case macro
  when :has_many, :belongs_to, :has_one, :has_and_belongs_to_many
    klass = options[:through] ? ThroughReflection : AssociationReflection
    reflection = klass.new(macro, name, scope, options, active_record)
  when :composed_of
    reflection = AggregateReflection.new(macro, name, scope, options, active_record)
  end

  self.reflections = self.reflections.merge(name => reflection)
  reflection
end