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