class ArcFurnace::ExcelSink

Public Class Methods

new(filename: , fields:, types: nil) click to toggle source
# File lib/arc-furnace/excel_sink.rb, line 8
def initialize(filename: , fields:, types: nil)
  @filename = filename
  @fields = fields
  @package = Axlsx::Package.new
  @workbook = package.workbook
  @worksheet = workbook.add_worksheet(name: 'Sheet1')
  @types = types ? types : []
  worksheet.add_row(fields)
end

Public Instance Methods

finalize() click to toggle source
# File lib/arc-furnace/excel_sink.rb, line 18
def finalize
  package.serialize(filename)
end
row(hash) click to toggle source
# File lib/arc-furnace/excel_sink.rb, line 22
def row(hash)
  worksheet.add_row(fields.map { |field_id| hash[field_id] }, types: types)
end