Method: Traject::DelimitedWriter#initialize

Defined in:
lib/traject/delimited_writer.rb

#initialize(settings) ⇒ DelimitedWriter

Returns a new instance of DelimitedWriter.



29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
# File 'lib/traject/delimited_writer.rb', line 29

def initialize(settings)
  super

  # fields to output

  begin
    @fields = settings['delimited_writer.fields'].split(",")
  rescue NoMethodError => e
  end

  if e or @fields.empty?
    raise ArgumentError.new("#{self.class.name} must have a comma-delimited list of field names to output set in setting 'delimited_writer.fields'")
  end

  self.delimiter = settings['delimited_writer.delimiter'] || "\t"
  self.internal_delimiter = settings['delimited_writer.internal_delimiter'] || '|'
  self.header = settings['delimited_writer.header'].to_s != 'false'

  # Output the header if need be
  write_header if @header
end