module ActsAsCsvImport::Hook def acts_as_csv_import(*args) @csv_options = args.extract_options! def self.import_csv_fields @csv_options[:fields] end def self.import_csv(list, import_csv, m_odr_id=nil) puts self.instance_methods if self.methods.include?(:custom_csv_import) custom_csv_import(list, import_csv, m_odr_id) else default_import_csv(list, import_csv, m_odr_id) end end def self.default_import_csv(list, import_csv, m_odr_id=nil) list.each do |row| n = self.new n.m_odr_id = m_odr_id if m_odr_id row.each do |key, value| eval "n.#{key} = value" end n.save import_csv.import_csv_elements << ImportCsvElement.new(:element => n) end end end end