Sha256: c57affc5a15e1347b422f3db4b17b79b8e3a95454b8715032765369df5469407

Contents?: true

Size: 606 Bytes

Versions: 41

Compression:

Stored size: 606 Bytes

Contents

require 'traject/delimited_writer'
require 'csv'

# A CSV-writer, for folks who like that sort of thing.
# Use DelimitedWriter for non-CSV lines (e.g., tab-delimited)
#
#

class Traject::CSVWriter < Traject::DelimitedWriter

  def initialize(*args)
    super
    self.delimiter = nil # Let CSV take care of it
  end

  def _write(data)
    @output_file << data
  end

  # Turn the output file into a CSV writer
  def open_output_file
    of = super
    CSV.new(of)
  end

  # Let CSV take care of the comma escaping
  def escape(x)
    x = x.to_s
    x.gsub! internal_delimiter, @eidelim
    x
  end


end

Version data entries

41 entries across 41 versions & 1 rubygems

Version Path
traject-3.8.3 lib/traject/csv_writer.rb
traject-3.8.2 lib/traject/csv_writer.rb
traject-3.8.1 lib/traject/csv_writer.rb
traject-3.8.0 lib/traject/csv_writer.rb
traject-3.7.0 lib/traject/csv_writer.rb
traject-3.6.0 lib/traject/csv_writer.rb
traject-3.5.0 lib/traject/csv_writer.rb
traject-3.4.0 lib/traject/csv_writer.rb
traject-3.3.0 lib/traject/csv_writer.rb
traject-3.2.0 lib/traject/csv_writer.rb
traject-3.1.0 lib/traject/csv_writer.rb
traject-3.1.0.rc1 lib/traject/csv_writer.rb
traject-3.0.0 lib/traject/csv_writer.rb
traject-3.0.0.alpha.2 lib/traject/csv_writer.rb
traject-3.0.0.alpha.1 lib/traject/csv_writer.rb
traject-2.3.4-java lib/traject/csv_writer.rb
traject-2.3.4 lib/traject/csv_writer.rb
traject-2.3.3 lib/traject/csv_writer.rb
traject-2.3.3-java lib/traject/csv_writer.rb
traject-2.3.2-java lib/traject/csv_writer.rb