class Reflections::Remappers::BelongsTo
Attributes
remapper[R]
Public Instance Methods
remap(ar_classes, &block)
click to toggle source
# File lib/reflections/remappers/belongs_to.rb, line 7 def remap(ar_classes, &block) ar_classes.each do |ar_class| associations_for_class(ar_class).each do |association| foreign_key = association.foreign_key || "#{association.name}_id" ar_class.where(foreign_key => from_obj).each do |record| update_record_or_yield record, association, &block end end end end
Private Instance Methods
associations(ar_class)
click to toggle source
# File lib/reflections/remappers/belongs_to.rb, line 30 def associations(ar_class) ar_class.reflect_on_all_associations :belongs_to end
filter_for_class(klass)
click to toggle source
# File lib/reflections/remappers/belongs_to.rb, line 20 def filter_for_class(klass) ->(assoc) { assoc.name == klass.to_s.underscore.to_sym || assoc.options[:class_name] == klass.model_name } end
update_record(record, association)
click to toggle source
# File lib/reflections/remappers/belongs_to.rb, line 26 def update_record(record, association) record.update_attribute association.name, to_obj end