Class: Importo::Import
- Inherits:
-
ApplicationRecord
- Object
- ActiveRecord::Base
- ApplicationRecord
- Importo::Import
- Defined in:
- app/models/importo/import.rb
Instance Attribute Summary collapse
-
#checked_columns ⇒ Object
include ActiveStorage::Downloading.
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 Attribute Details
#checked_columns ⇒ Object
include ActiveStorage::Downloading
6 7 8 |
# File 'app/models/importo/import.rb', line 6 def checked_columns @checked_columns end |
Instance Method Details
#allow_export? ⇒ Boolean
72 73 74 |
# File 'app/models/importo/import.rb', line 72 def allow_export? importer.class.allow_export? end |
#can_revert? ⇒ Boolean
68 69 70 |
# File 'app/models/importo/import.rb', line 68 def can_revert? importer.allow_revert? && super end |
#content_validator ⇒ Object
76 77 78 79 80 81 82 83 84 85 |
# File 'app/models/importo/import.rb', line 76 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 Rails.logger.info "Importo failed excpetion: #{e.message} backtrace #{e.backtrace.join(";")}" errors.add(:original, I18n.t("importo.errors.parse_error", error: e.)) end |
#failure? ⇒ Boolean
91 92 93 |
# File 'app/models/importo/import.rb', line 91 def failure? results.where("details @> ?", '{"state":"failure"}').any? end |
#importer ⇒ Object
87 88 89 |
# File 'app/models/importo/import.rb', line 87 def importer @importer ||= "#{kind.camelize}Importer".constantize.new(self) end |
#no_failure? ⇒ Boolean
95 96 97 |
# File 'app/models/importo/import.rb', line 95 def no_failure? results.where("details @> ?", '{"state":"failure"}').none? end |
#no_processing? ⇒ Boolean
111 112 113 |
# File 'app/models/importo/import.rb', line 111 def no_processing? results.where("details @> ?", '{"state":"processing"}').none? end |
#no_succes? ⇒ Boolean
103 104 105 |
# File 'app/models/importo/import.rb', line 103 def no_succes? results.where("details @> ?", '{"state":"success"}').none? end |
#processing? ⇒ Boolean
107 108 109 |
# File 'app/models/importo/import.rb', line 107 def processing? results.where("details @> ?", '{"state":"processing"}').any? end |
#success? ⇒ Boolean
99 100 101 |
# File 'app/models/importo/import.rb', line 99 def success? results.where("details @> ?", '{"state":"success"}').any? end |