Class: Ticket::Replicator::FileTransformer::ForXLSX

Inherits:
Ticket::Replicator::FileTransformer show all
Defined in:
lib/ticket/replicator/file_transformer/for_xlsx.rb

Defined Under Namespace

Classes: XLSXReaderError

Constant Summary collapse

XLS_FIRST_LINE_NUMBER =
1

Instance Attribute Summary

Attributes inherited from Ticket::Replicator::FileTransformer

#extracted_path, #transformed_path

Instance Method Summary collapse

Methods inherited from Ticket::Replicator::FileTransformer

file_extension_without_dot, #initialize, #run, run_class, run_on

Constructor Details

This class inherits a constructor from Ticket::Replicator::FileTransformer

Instance Method Details

#extracted_rowsObject



13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/ticket/replicator/file_transformer/for_xlsx.rb', line 13

def extracted_rows
  rows = sheet.simple_rows.to_a

  headers = rows.shift.values.collect(&:downcase)

  rows.collect { |row| headers.zip(row.values).to_h }
rescue StandardError => e
  raise XLSXReaderError, <<~EOERRORMSG
    #{extracted_path}:#{XLS_FIRST_LINE_NUMBER}: error while reading XLSX file:
    #{e.message}
  EOERRORMSG
end