Class: ActiveRecordCSVImporter::Report
- Inherits:
-
Object
- Object
- ActiveRecordCSVImporter::Report
- 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
- #aborted! ⇒ Object
- #aborted? ⇒ Boolean
- #done! ⇒ Object
- #done? ⇒ Boolean
- #in_progress! ⇒ Object
- #in_progress? ⇒ Boolean
- #invalid_csv_file! ⇒ Object
- #invalid_csv_file? ⇒ Boolean
- #invalid_header! ⇒ Object
- #invalid_header? ⇒ Boolean
- #message ⇒ Object
- #pending! ⇒ Object
- #pending? ⇒ Boolean
- #progress_percentage ⇒ Object
- #success? ⇒ Boolean
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
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
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
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
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
51 52 53 |
# File 'lib/activerecord_csv_importer/report.rb', line 51 def invalid_header? status == :invalid_header end |
#message ⇒ Object
89 90 91 |
# File 'lib/activerecord_csv_importer/report.rb', line 89 def .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
35 36 37 |
# File 'lib/activerecord_csv_importer/report.rb', line 35 def pending? status == :pending end |
#progress_percentage ⇒ Object
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
31 32 33 |
# File 'lib/activerecord_csv_importer/report.rb', line 31 def success? done? && invalid_rows.empty? end |