Sha256: 5709976bfd89fa1d125e2cfea0a9c4cae100f6d57db2c60b40e85a47066d7943
Contents?: true
Size: 552 Bytes
Versions: 5
Compression:
Stored size: 552 Bytes
Contents
# frozen_string_literal: true require 'csv' class CsvSource attr_reader :filename, :delimeter, :quote_char, :headers def initialize(filename:, headers: true, delimeter: "\t", quote_char: '"') @filename = filename @headers = headers @delimeter = delimeter @quote_char = quote_char end 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 end
Version data entries
5 entries across 5 versions & 1 rubygems