lib/arc-furnace/excel_sink.rb in arc-furnace-0.1.35 vs lib/arc-furnace/excel_sink.rb in arc-furnace-0.1.36

- old
+ new

@@ -1,24 +1,26 @@ require 'arc-furnace/sink' module ArcFurnace class ExcelSink < Sink - private_attr_reader :filename, :fields, :package, :workbook, :worksheet + private_attr_reader :filename, :fields, :types, :package, + :workbook, :worksheet - def initialize(filename: , fields:) + 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 def finalize package.serialize(filename) end def row(hash) - worksheet.add_row(fields.map { |field_id| hash[field_id] }) + worksheet.add_row(fields.map { |field_id| hash[field_id] }, types: types) end end end