class CsvSource

Attributes

delimeter[R]
filename[R]
headers[R]
quote_char[R]

Public Class Methods

new(filename:, headers: true, delimeter: "\t", quote_char: '"') click to toggle source
# File lib/etl/csv_source.rb, line 8
def initialize(filename:, headers: true, delimeter: "\t", quote_char: '"')
  @filename   = filename
  @headers    = headers
  @delimeter  = delimeter
  @quote_char = quote_char
end

Public Instance Methods

each() { |to_hash| ... } click to toggle source
# File lib/etl/csv_source.rb, line 15
def each
  CSV.open(filename,
    col_sep: delimeter,
    headers: headers,
    header_converters: :symbol,
    quote_char: quote_char) do |csv|
    csv.each do |row|
      yield(row.to_hash)
    end
  end
end