class TinOpener::DataFileProcessors::CsvProcessor
Public Class Methods
new(args = {})
click to toggle source
Calls superclass method
TinOpener::DataFileProcessor::new
# File lib/tin_opener/data_file_processors/csv_processor.rb, line 4 def initialize(args = {}) super @separator = args.fetch(:separator) { ';' } end
Public Instance Methods
headers()
click to toggle source
# File lib/tin_opener/data_file_processors/csv_processor.rb, line 9 def headers @headers ||= rows.first.try do |row| row.transform_values do |value| value ? value.class.name : 'String' end end end
rows()
click to toggle source
# File lib/tin_opener/data_file_processors/csv_processor.rb, line 17 def rows @csv_data ||= CSV.parse(@file, col_sep: @separator, headers: true).map do |row| row.to_hash.transform_keys{ |a| a.gsub(/\s+/, ' ').strip.gsub(/\s/, '_').underscore.to_sym } end end