In Files

  • csv.rb

Parent

CSV::Writer

CSV formatted string/stream writer.

EXAMPLE

Write rows to 'csvout' file.

outfile = File.open('csvout', 'wb')
CSV::Writer.generate(outfile) do |csv|
  csv << ['c1', nil, '', '"', "\r\n", 'c2']
  ...
end

outfile.close

Public Class Methods

create(str_or_writable, fs = ',', rs = nil) click to toggle source

str_or_writable must handle '<<(string)'.

 
               # File csv.rb, line 686
def Writer.create(str_or_writable, fs = ',', rs = nil)
  BasicWriter.new(str_or_writable, fs, rs)
end
            
generate(str_or_writable, fs = ',', rs = nil, &block) click to toggle source

Given block is called with the writer instance. str_or_writable must handle '<<(string)'.

 
               # File csv.rb, line 674
def Writer.generate(str_or_writable, fs = ',', rs = nil, &block)
  writer = Writer.create(str_or_writable, fs, rs)
  if block
    yield(writer)
    writer.close
    nil
  else
    writer
  end
end
            
new(dev) click to toggle source
 
               # File csv.rb, line 703
def initialize(dev)
  raise RuntimeError.new('Do not instanciate this class directly.')
end
            

Public Instance Methods

<<(row) click to toggle source

dump CSV stream to the device. argument must be an Array of String.

 
               # File csv.rb, line 691
def <<(row)
  CSV.generate_row(row, row.size, @dev, @fs, @rs)
  self
end
            
Also aliased as: add_row
add_row(row) click to toggle source
Alias for: <<
close() click to toggle source
 
               # File csv.rb, line 697
def close
  terminate
end