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)