class TableStructure::CSV::Writer

Constants

BOM

Public Class Methods

new( schema, bom: false, csv_options: {}, header: { context: nil, step: nil } ) click to toggle source
# File lib/table_structure/csv/writer.rb, line 8
def initialize(
  schema,
  bom: false,
  csv_options: {},
  header: { context: nil, step: nil }
)
  require 'csv'

  @options = {
    bom: bom,
    csv_options: csv_options
  }
  inner_options = {
    header: header
  }

  @writer = ::TableStructure::Writer.new(schema, **inner_options)
end

Public Instance Methods

write( items, to:, bom: @options[:bom], csv_options: @options[:csv_options], &block ) click to toggle source
# File lib/table_structure/csv/writer.rb, line 27
def write(
  items,
  to:,
  bom: @options[:bom],
  csv_options: @options[:csv_options],
  &block
)
  to << BOM if bom

  csv = ::CSV.new(to, **csv_options)
  @writer.write(items, to: csv, &block)
end