Sha256: 0cb6bdbe34aebd8fbaa247d70fed450e115dc3727f329114661fe29673fc67e2
Contents?: true
Size: 648 Bytes
Versions: 2
Compression:
Stored size: 648 Bytes
Contents
module TinOpener module DataFileProcessors class CsvProcessor < TinOpener::DataFileProcessor def initialize(args = {}) super @separator = args.fetch(:separator) { ';' } end def headers @headers ||= rows.first.try do |row| row.transform_values do |value| value ? value.class.name : 'String' end end end 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 end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
tin_opener-0.0.3 | lib/tin_opener/data_file_processors/csv_processor.rb |
tin_opener-0.0.2 | lib/tin_opener/data_file_processors/csv_processor.rb |