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

create(str_or_writable, fs = ',', rs = nil)

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

generate(str_or_writable, fs = ',', rs = nil) {|writer| ...}

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

new(dev)

[Source]

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

### Public Instance methods

<<(row)

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 #<<

close()

[Source]

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

[Validate]