lib/eco/csv.rb in eco-helpers-1.4.2 vs lib/eco/csv.rb in eco-helpers-1.5.0

- old
+ new

@@ -13,12 +13,17 @@ end Eco::CSV::Table.new(out) end def read(file, **kargs) - coding = Eco::API::Common::Session::FileManager.encoding(file) - kargs = {headers: true, skip_blanks: true, encoding: coding}.merge(kargs) - out = super(file, **kargs).reject do |row| + kargs = {headers: true, skip_blanks: true}.merge(kargs) + + args = [file].tap do |arg| + coding = Eco::API::Common::Session::FileManager.encoding(file) + arg.push("rb:bom|utf-8") if coding == "bom" + end + + out = super(*args, **kargs).reject do |row| values = row.to_hash.values values.all?(&:nil?) || values.map(&:to_s).all?(&:empty?) end Eco::CSV::Table.new(out) end