class ARCSVImporter::Importer
Attributes
file_path[RW]
import_class[RW]
row_order[RW]
Public Class Methods
new(file_path, import_class, *row_order)
click to toggle source
# File lib/ar_csv_importer/importer.rb, line 5 def initialize(file_path, import_class, *row_order) @file_path = file_path @import_class = import_class @row_order = row_order.flatten end
Public Instance Methods
import(raise_validation_errors = false)
click to toggle source
# File lib/ar_csv_importer/importer.rb, line 11 def import(raise_validation_errors = false) meth = raise_validation_errors ? :create! : :create CSV.foreach(file_path) do |row| import_class.send(meth, attrs_from_row(row)) end end
Private Instance Methods
attrs_from_row(row)
click to toggle source
# File lib/ar_csv_importer/importer.rb, line 19 def attrs_from_row(row) Hash[row.each_with_index.map { |r, i| [row_order[i], r] }] end