lib/eco/api/common/people/default_parsers/csv_parser.rb in eco-helpers-1.3.1 vs lib/eco/api/common/people/default_parsers/csv_parser.rb in eco-helpers-1.3.2

- old
+ new

@@ -7,10 +7,13 @@ def process @parsers.define_attribute(:csv, dependencies: @options) do |parser| parser.def_parser do |data, deps| arr_hash = [] - CSV.parse(data, headers: true).each do |row| + CSV.parse(data, headers: true, skip_blanks: true).reject do |row| + values = row.to_hash.values + values.all?(&:nil?) || values.map(&:to_s).all?(&:empty?) + end.each do |row| row_hash = row.headers.uniq.each_with_object({}) do |attr, hash| value = row[attr] hash[attr] = value.to_s.empty?? nil : value end arr_hash.push(row_hash)