Class: CsvSource
- Inherits:
-
Object
- Object
- CsvSource
- Defined in:
- lib/etl/csv_source.rb
Instance Attribute Summary collapse
-
#delimeter ⇒ Object
readonly
Returns the value of attribute delimeter.
-
#filename ⇒ Object
readonly
Returns the value of attribute filename.
-
#headers ⇒ Object
readonly
Returns the value of attribute headers.
-
#quote_char ⇒ Object
readonly
Returns the value of attribute quote_char.
Instance Method Summary collapse
- #each ⇒ Object
-
#initialize(filename:, headers: true, delimeter: "\t", quote_char: '"') ⇒ CsvSource
constructor
A new instance of CsvSource.
Constructor Details
#initialize(filename:, headers: true, delimeter: "\t", quote_char: '"') ⇒ CsvSource
Returns a new instance of CsvSource.
8 9 10 11 12 13 |
# 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 |
Instance Attribute Details
#delimeter ⇒ Object (readonly)
Returns the value of attribute delimeter.
6 7 8 |
# File 'lib/etl/csv_source.rb', line 6 def delimeter @delimeter end |
#filename ⇒ Object (readonly)
Returns the value of attribute filename.
6 7 8 |
# File 'lib/etl/csv_source.rb', line 6 def filename @filename end |
#headers ⇒ Object (readonly)
Returns the value of attribute headers.
6 7 8 |
# File 'lib/etl/csv_source.rb', line 6 def headers @headers end |
#quote_char ⇒ Object (readonly)
Returns the value of attribute quote_char.
6 7 8 |
# File 'lib/etl/csv_source.rb', line 6 def quote_char @quote_char end |
Instance Method Details
#each ⇒ Object
15 16 17 18 19 20 21 22 23 24 25 |
# 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 |