Class: Processor::Data::CsvProcessor
Instance Method Summary
collapse
#error, #finalize, #finish, #record_error, #start
Constructor Details
#initialize(file, csv_options = {}) ⇒ CsvProcessor
Returns a new instance of CsvProcessor.
6
7
8
9
10
11
12
13
|
# File 'lib/processor/data/csv_processor.rb', line 6
def initialize(file, csv_options = {})
@file = file
@separator = separator
@csv_options = {
col_sep: ";",
headers: true,
}.merge csv_options
end
|
Instance Method Details
#process(row) ⇒ Object
15
16
17
|
# File 'lib/processor/data/csv_processor.rb', line 15
def process(row)
raise NotImplementedError
end
|
#records ⇒ Object
19
20
21
22
23
24
25
|
# File 'lib/processor/data/csv_processor.rb', line 19
def records
Enumerator.new do |result|
::CSV.foreach(file, csv_options) do |record|
result << record
end
end
end
|
#total_records ⇒ Object
27
28
29
|
# File 'lib/processor/data/csv_processor.rb', line 27
def total_records
@total_records ||= File.new(file).readlines.size
end
|