class ArrayToCsv

Public Class Methods

new(array, csv_lib=nil) click to toggle source
# File lib/array_to_csv.rb, line 5
def initialize array, csv_lib=nil
  @array = array
  @csv_lib = csv_lib
end

Public Instance Methods

to_csv(io_or_file_path=nil) click to toggle source

@return [String, nil]

# File lib/array_to_csv.rb, line 11
def to_csv io_or_file_path=nil
  case io_or_file_path
    when nil
      to_csv_string
    when String
      to_csv_file io_or_file_path
    else
      to_csv_io io_or_file_path
  end
end

Private Instance Methods

to_csv_file(file_path) click to toggle source
# File lib/array_to_csv.rb, line 31
def to_csv_file file_path
  file_io = File.open(file_path, 'w')
  self.to_csv file_io
end
to_csv_io(io) click to toggle source

@return [nil]

# File lib/array_to_csv.rb, line 37
def to_csv_io io
  CsvWriter.new(@array, io, @csv_lib).write
end
to_csv_string() click to toggle source

@return [String]

# File lib/array_to_csv.rb, line 25
def to_csv_string
  StringIO.new.tap do |string_io|
    self.to_csv string_io
  end.string
end