Method: CSV.generate_line
- Defined in:
- lib/csv.rb
.generate_line(row, options = Hash.new) ⇒ Object
This method is a shortcut for converting a single row (Array) into a CSV String.
The options parameter can be anything CSV::new() understands. This method understands an additional :encoding parameter to set the base Encoding for the output. This method will try to guess your Encoding from the first non-nil field in row, if possible, but you may need to use this parameter as a backup plan.
The :row_sep option defaults to $INPUT_RECORD_SEPARATOR ($/) when calling this method.
1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 |
# File 'lib/csv.rb', line 1174 def self.generate_line(row, = Hash.new) = {row_sep: $INPUT_RECORD_SEPARATOR}.merge() encoding = .delete(:encoding) str = "" if encoding str.force_encoding(encoding) elsif field = row.find { |f| not f.nil? } str.force_encoding(String(field).encoding) end (new(str, ) << row).string end |