Commit 4f66cb3

mo khan <mo@mokhan.ca>
2016-06-11 21:51:51
update csv import specs.
1 parent 6975b69
Changed files (1)
app
models
app/models/csv/import.rb
@@ -14,11 +14,8 @@ class Csv::Import
 
   def import_from(directory)
     ActiveRecord::Base.transaction do
-      previous = nil
-      ::CSV.foreach(database_file(directory)).drop(1).each do |row|
-        next if previous.present? && row == previous
+      csv_rows_from(database_file(directory)) do |row|
         import(row)
-        previous = row
       end
     end
   end
@@ -51,4 +48,14 @@ class Csv::Import
   def database_file(dir)
     Dir.glob("#{dir}/*csv*").first
   end
+
+  def csv_rows_from(file)
+    previous = nil
+    ::CSV.foreach(file).drop(1).each do |row|
+      duplicate = previous.present? && row == previous
+      next if duplicate
+      yield row
+      previous = row
+    end
+  end
 end