8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
# File 'lib/abstract_importer/collection.rb', line 8
def association_attrs
return @association_attrs if defined?(@association_attrs)
@association_attrs = {}
association = scope.instance_variable_get(:@association)
if association
unless association.is_a?(ActiveRecord::Associations::HasManyThroughAssociation)
@association_attrs.merge!(association.reflection.foreign_key.to_sym => association.owner.id)
end
if association.reflection.inverse_of && association.reflection.inverse_of.polymorphic?
@association_attrs.merge!(association.reflection.inverse_of.foreign_type.to_sym => association.owner.class.name)
end
end
@association_attrs.freeze
end
|