Class: CSV::Writer
- Inherits:
-
Object
- Object
- CSV::Writer
- Defined in:
- lib/csv.rb
Overview
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
Direct Known Subclasses
Class Method Summary collapse
-
.create(str_or_writable, fs = ',', rs = nil) ⇒ Object
str_or_writable must handle ‘<<(string)’.
-
.generate(str_or_writable, fs = ',', rs = nil, &block) ⇒ Object
Given block is called with the writer instance.
Instance Method Summary collapse
-
#<<(row) ⇒ Object
(also: #add_row)
dump CSV stream to the device.
- #close ⇒ Object
Class Method Details
.create(str_or_writable, fs = ',', rs = nil) ⇒ Object
str_or_writable must handle ‘<<(string)’.
686 687 688 |
# File 'lib/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) ⇒ Object
Given block is called with the writer instance. str_or_writable must handle ‘<<(string)’.
674 675 676 677 678 679 680 681 682 683 |
# File 'lib/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 |
Instance Method Details
#<<(row) ⇒ Object Also known as: add_row
dump CSV stream to the device. argument must be an Array of String.
691 692 693 694 |
# File 'lib/csv.rb', line 691 def <<(row) CSV.generate_row(row, row.size, @dev, @fs, @rs) self end |
#close ⇒ Object
697 698 699 |
# File 'lib/csv.rb', line 697 def close terminate end |