Method: Array#to_csv

Defined in:
lib/sixarm_ruby_ramp/array.rb

#to_csv(ops = {}) ⇒ String

N.b. this method uses the multi-dimensional if the array’s first item is also an array.

Examples:

of a one-dimensional array


[1,2,3].to_csv => "1,2,3\n"

of a multi-dimensional array


[[1,2,3],[4,5,6]] => "1,2,3\n4,5,6\n"

of a blank array


[].to_csv => ""

Returns:

  • (String)

    a CSV (Comma Separated Value) string of this array.



236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
# File 'lib/sixarm_ruby_ramp/array.rb', line 236

def to_csv(ops={})

  return "" if size==0

  generator = RUBY_VERSION >= "1.9" ? CSV : CSV::Writer

  str=''
  if size>0 and self[0].is_a?Array
    generator.generate(str) do |csv|
      self.each do |row|
        csv << row
      end
    end
  else
    generator.generate(str) do |csv|
      csv << self.map{|item| item.to_s}
    end
  end
  return str
end