Module: Usman::ImportErrorHandler

Included in:
Feature, Permission, Role, User
Defined in:
lib/usman/extras/import_error_handler.rb

Instance Method Summary collapse

Instance Method Details

#import_from_csv(dummy = true, verbose = true) ⇒ Object



49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
# File 'lib/usman/extras/import_error_handler.rb', line 49

def import_from_csv(dummy=true, verbose=true)
 
  if dummy
    folder_path = "/import_data/dummy/"
  else
    folder_path = "/import_data/"
  end

  base_path = File.expand_path('../../../../db/', __FILE__) + folder_path
  csv_path = File.expand_path(base_path + "#{self.table_name}.csv")

  csv_table = CSV.table(csv_path, {headers: true, converters: nil, header_converters: :symbol})
  headers = csv_table.headers

  errors = []

  csv_table.each do |row|
    error_object = save_row_data(row, base_path)
    errors << error_object if error_object
    error_object.print_dot if error_object
  end

  if verbose
    puts ""
    errors.each do |error_object|
      error_object.print_all if error_object
    end
  end
end