Class: Importo::Import
- Inherits:
-
ApplicationRecord
- Object
- ActiveRecord::Base
- ApplicationRecord
- Importo::Import
- Defined in:
- app/models/importo/import.rb
Instance Method Summary collapse
- #allow_export? ⇒ Boolean
- #can_revert? ⇒ Boolean
- #content_validator ⇒ Object
- #failure? ⇒ Boolean
- #importer ⇒ Object
- #no_failure? ⇒ Boolean
- #no_processing? ⇒ Boolean
- #no_succes? ⇒ Boolean
- #processing? ⇒ Boolean
- #success? ⇒ Boolean
Instance Method Details
#allow_export? ⇒ Boolean
68 69 70 |
# File 'app/models/importo/import.rb', line 68 def allow_export? importer.class.allow_export? end |
#can_revert? ⇒ Boolean
64 65 66 |
# File 'app/models/importo/import.rb', line 64 def can_revert? importer.allow_revert? && super end |
#content_validator ⇒ Object
72 73 74 75 76 77 78 79 80 |
# File 'app/models/importo/import.rb', line 72 def content_validator unless importer.structure_valid? errors.add(:original, I18n.t("importo.errors.structure_invalid", invalid_headers: importer.invalid_header_names.join(", "))) end rescue => e errors.add(:original, I18n.t("importo.errors.parse_error", error: e.)) end |
#failure? ⇒ Boolean
86 87 88 |
# File 'app/models/importo/import.rb', line 86 def failure? results.where("details @> ?", '{"state":"failure"}').any? end |
#importer ⇒ Object
82 83 84 |
# File 'app/models/importo/import.rb', line 82 def importer @importer ||= "#{kind.camelize}Importer".constantize.new(self) end |
#no_failure? ⇒ Boolean
90 91 92 |
# File 'app/models/importo/import.rb', line 90 def no_failure? results.where("details @> ?", '{"state":"failure"}').none? end |
#no_processing? ⇒ Boolean
106 107 108 |
# File 'app/models/importo/import.rb', line 106 def no_processing? results.where("details @> ?", '{"state":"processing"}').none? end |
#no_succes? ⇒ Boolean
98 99 100 |
# File 'app/models/importo/import.rb', line 98 def no_succes? results.where("details @> ?", '{"state":"success"}').none? end |
#processing? ⇒ Boolean
102 103 104 |
# File 'app/models/importo/import.rb', line 102 def processing? results.where("details @> ?", '{"state":"processing"}').any? end |
#success? ⇒ Boolean
94 95 96 |
# File 'app/models/importo/import.rb', line 94 def success? results.where("details @> ?", '{"state":"success"}').any? end |