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