class Object
Public Instance Methods
create_importer(*columns, options)
click to toggle source
# File lib/csv_import_ruby.rb, line 10 def create_importer(*columns, options) self.instance_eval do define_singleton_method(:import!) do |csv| CSV.parse(csv) do |row| import_row(row, columns, options) end end define_singleton_method(:import_file!) do |file_name| CSV.foreach(file_name) do |row| import_row(row, columns, options) end end end end
import_row(row, columns, options)
click to toggle source
# File lib/csv_import_ruby.rb, line 3 def import_row(row, columns, options) values = Hash[columns.zip(row)] attributes = values.select{ |key, value| self.column_names.include?(key.to_s) } attributes.each{ |key, value| attributes[key] = value.strip } if options[:remove_whitespace] self.create(attributes) end