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
73 74 75 76 |
# File 'lib/activerecord_csv_importer/report.rb', line 73 def aborted! self.status = :aborted self end |
#aborted? ⇒ Boolean
46 47 48 |
# File 'lib/activerecord_csv_importer/report.rb', line 46 def aborted? status == :aborted end |
#done! ⇒ Object
68 69 70 71 |
# File 'lib/activerecord_csv_importer/report.rb', line 68 def done! self.status = :done self end |
#done? ⇒ Boolean
42 43 44 |
# File 'lib/activerecord_csv_importer/report.rb', line 42 def done? status == :done end |
#in_progress! ⇒ Object
63 64 65 66 |
# File 'lib/activerecord_csv_importer/report.rb', line 63 def in_progress! self.status = :in_progress self end |
#in_progress? ⇒ Boolean
38 39 40 |
# File 'lib/activerecord_csv_importer/report.rb', line 38 def in_progress? status == :in_progress end |
#invalid_csv_file! ⇒ Object
83 84 85 86 |
# File 'lib/activerecord_csv_importer/report.rb', line 83 def invalid_csv_file! self.status = :invalid_csv_file self end |
#invalid_csv_file? ⇒ Boolean
54 55 56 |
# File 'lib/activerecord_csv_importer/report.rb', line 54 def invalid_csv_file? status == :invalid_csv_file end |
#invalid_header! ⇒ Object
78 79 80 81 |
# File 'lib/activerecord_csv_importer/report.rb', line 78 def invalid_header! self.status = :invalid_header self end |
#invalid_header? ⇒ Boolean
50 51 52 |
# File 'lib/activerecord_csv_importer/report.rb', line 50 def invalid_header? status == :invalid_header end |
#message ⇒ Object
88 89 90 |
# File 'lib/activerecord_csv_importer/report.rb', line 88 def .call(self) end |
#pending! ⇒ Object
58 59 60 61 |
# File 'lib/activerecord_csv_importer/report.rb', line 58 def pending! self.status = :pending self end |
#pending? ⇒ Boolean
34 35 36 |
# File 'lib/activerecord_csv_importer/report.rb', line 34 def pending? status == :pending end |
#progress_percentage ⇒ Object
25 26 27 28 |
# File 'lib/activerecord_csv_importer/report.rb', line 25 def progress_percentage return 0 if total_count.zero? (completed_count.to_f / total_count * 100).round end |
#success? ⇒ Boolean
30 31 32 |
# File 'lib/activerecord_csv_importer/report.rb', line 30 def success? done? && invalid_rows.empty? end |