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
69 70 71 |
# File 'app/models/importo/import.rb', line 69 def allow_export? importer.class.allow_export? end |
#can_revert? ⇒ Boolean
65 66 67 |
# File 'app/models/importo/import.rb', line 65 def can_revert? importer.allow_revert? && super end |
#content_validator ⇒ Object
73 74 75 76 77 78 79 80 81 82 |
# File 'app/models/importo/import.rb', line 73 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.} backtrace #{e.backtrace.join(";")}" errors.add(:original, I18n.t("importo.errors.parse_error", error: e.)) end |
#failure? ⇒ Boolean
88 89 90 |
# File 'app/models/importo/import.rb', line 88 def failure? results.where("details @> ?", '{"state":"failure"}').any? end |
#importer ⇒ Object
84 85 86 |
# File 'app/models/importo/import.rb', line 84 def importer @importer ||= "#{kind.camelize}Importer".constantize.new(self) end |
#no_failure? ⇒ Boolean
92 93 94 |
# File 'app/models/importo/import.rb', line 92 def no_failure? results.where("details @> ?", '{"state":"failure"}').none? end |
#no_processing? ⇒ Boolean
108 109 110 |
# File 'app/models/importo/import.rb', line 108 def no_processing? results.where("details @> ?", '{"state":"processing"}').none? end |
#no_succes? ⇒ Boolean
100 101 102 |
# File 'app/models/importo/import.rb', line 100 def no_succes? results.where("details @> ?", '{"state":"success"}').none? end |
#processing? ⇒ Boolean
104 105 106 |
# File 'app/models/importo/import.rb', line 104 def processing? results.where("details @> ?", '{"state":"processing"}').any? end |
#success? ⇒ Boolean
96 97 98 |
# File 'app/models/importo/import.rb', line 96 def success? results.where("details @> ?", '{"state":"success"}').any? end |