Method: Import#run!

Defined in:
app/models/import.rb

#run!Object



50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
# File 'app/models/import.rb', line 50

def run!
  self.result = []
  count = 0
  CSV.foreach(self.upload.image.path, {:col_sep => self.separator} ) do |row|
    new_object = self.target_model.constantize.new
    self.assignment.each do |key,value|
      next if value.blank?
      attr_name = key
      attr_value = row[value.to_i]
      new_object.send("#{attr_name}=", attr_value)
    end
    unless new_object.save
      self.result << "#{count} - #{new_object.errors.messages}"
    end
    count += 1
  end
  self.save
end