Class: Exporters::ExportImportErrors

Inherits:
Object
  • Object
show all
Includes:
Interactor
Defined in:
app/interactors/ntq_excelsior_engine/exporters/export_import_errors.rb

Instance Method Summary collapse

Instance Method Details

#callObject



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'app/interactors/ntq_excelsior_engine/exporters/export_import_errors.rb', line 5

def call
  import = context.import

  package = Axlsx::Package.new
  wb = package.workbook
  wb_styles = wb.styles
  wb.add_worksheet(name: import.import_type) do |sheet|
    sheet.add_row import.headers.keys.concat(['error'])
    import.import_lines.each do |import_line|
      data = []
      import.headers.each do |_h, accessor|
        data << import_line.line[accessor] || ''
      end
      data << import_line.line_errors if import_line.line_errors.present?
      sheet.add_row data
    end
  end

  context.stream = package.to_stream.read
end