Class: ActiveRecordCSVImporter::Report

Inherits:
Object
  • Object
show all
Defined in:
lib/activerecord_csv_importer/report.rb

Overview

The Report you get back from an import.

  • It has a status (pending, invalid_csv_file, invalid_header, in_progress, done, aborted)

  • It lists out missing columns

  • It reports parser_error

  • It lists out (created / updated) * (success / failed) records

  • It provides a human readable message

Instance Method Summary collapse

Instance Method Details

#aborted!Object



74
75
76
77
# File 'lib/activerecord_csv_importer/report.rb', line 74

def aborted!
  self.status = :aborted
  self
end

#aborted?Boolean

Returns:

  • (Boolean)


47
48
49
# File 'lib/activerecord_csv_importer/report.rb', line 47

def aborted?
  status == :aborted
end

#done!Object



69
70
71
72
# File 'lib/activerecord_csv_importer/report.rb', line 69

def done!
  self.status = :done
  self
end

#done?Boolean

Returns:

  • (Boolean)


43
44
45
# File 'lib/activerecord_csv_importer/report.rb', line 43

def done?
  status == :done
end

#in_progress!Object



64
65
66
67
# File 'lib/activerecord_csv_importer/report.rb', line 64

def in_progress!
  self.status = :in_progress
  self
end

#in_progress?Boolean

Returns:

  • (Boolean)


39
40
41
# File 'lib/activerecord_csv_importer/report.rb', line 39

def in_progress?
  status == :in_progress
end

#invalid_csv_file!Object



84
85
86
87
# File 'lib/activerecord_csv_importer/report.rb', line 84

def invalid_csv_file!
  self.status = :invalid_csv_file
  self
end

#invalid_csv_file?Boolean

Returns:

  • (Boolean)


55
56
57
# File 'lib/activerecord_csv_importer/report.rb', line 55

def invalid_csv_file?
  status == :invalid_csv_file
end

#invalid_header!Object



79
80
81
82
# File 'lib/activerecord_csv_importer/report.rb', line 79

def invalid_header!
  self.status = :invalid_header
  self
end

#invalid_header?Boolean

Returns:

  • (Boolean)


51
52
53
# File 'lib/activerecord_csv_importer/report.rb', line 51

def invalid_header?
  status == :invalid_header
end

#messageObject



89
90
91
# File 'lib/activerecord_csv_importer/report.rb', line 89

def message
  message_generator.call(self)
end

#pending!Object



59
60
61
62
# File 'lib/activerecord_csv_importer/report.rb', line 59

def pending!
  self.status = :pending
  self
end

#pending?Boolean

Returns:

  • (Boolean)


35
36
37
# File 'lib/activerecord_csv_importer/report.rb', line 35

def pending?
  status == :pending
end

#progress_percentageObject



26
27
28
29
# File 'lib/activerecord_csv_importer/report.rb', line 26

def progress_percentage
  return 0 if total_count.zero?
  (completed_count.to_f / total_count * 100).round
end

#success?Boolean

Returns:

  • (Boolean)


31
32
33
# File 'lib/activerecord_csv_importer/report.rb', line 31

def success?
  done? && invalid_rows.empty?
end