class Processor::Data::CsvProcessor
Attributes
csv_options[R]
file[R]
separator[R]
Public Class Methods
new(file, csv_options = {})
click to toggle source
# 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
Public Instance Methods
process(row)
click to toggle source
# File lib/processor/data/csv_processor.rb, line 15 def process(row) raise NotImplementedError end
records()
click to toggle source
# 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()
click to toggle source
# File lib/processor/data/csv_processor.rb, line 27 def total_records @total_records ||= File.new(file).readlines.size end
Private Instance Methods
fetch_field(field_name, row)
click to toggle source
# File lib/processor/data/csv_processor.rb, line 34 def fetch_field(field_name, row) row[field_name].to_s.strip end