| 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']
# or
csv.add_row [
CSV::Cell.new('c1', false),
CSV::Cell.new('dummy', true),
CSV::Cell.new('', false),
CSV::Cell.new('"', false),
CSV::Cell.new("\r\n", false)
CSV::Cell.new('c2', false)
]
...
...
end
outfile.close
str_or_writable must handle ’<<(string)’.
# File csv.rb, line 680 def Writer.create(str_or_writable, col_sep = ?,, row_sep = nil) BasicWriter.new(str_or_writable, col_sep, row_sep) end
# File csv.rb, line 711 def initialize(dev) raise RuntimeError.new('do not instantiate this class directly') end
dump CSV stream to the device. argument must be an Array of String.
# File csv.rb, line 685 def <<(ary) row = ary.collect { |item| if item.is_a?(Cell) item elsif (item.nil?) Cell.new('', true) else Cell.new(item.to_s, false) end } CSV.generate_row(row, row.size, @dev, @col_sep, @row_sep) self end