Class CSV::Writer
In: csv.rb
Parent: Object

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

Methods

<<   add_row   close   create   generate   new  

Public Class methods

str_or_writable must handle ’<<(string)’.

[Source]

# File csv.rb, line 686
    def Writer.create(str_or_writable, fs = ',', rs = nil)
      BasicWriter.new(str_or_writable, fs, rs)
    end

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

[Source]

# 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

[Source]

# File csv.rb, line 703
    def initialize(dev)
      raise RuntimeError.new('Do not instanciate this class directly.')
    end

Public Instance methods

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

[Source]

# File csv.rb, line 691
    def <<(row)
      CSV.generate_row(row, row.size, @dev, @fs, @rs)
      self
    end
add_row(row)

Alias for #<<

[Source]

# File csv.rb, line 697
    def close
      terminate
    end

[Validate]