Class: Eco::CSV
- Inherits:
-
CSV
- Object
- CSV
- Eco::CSV
- Defined in:
- lib/eco/csv.rb,
lib/eco/csv/table.rb
Defined Under Namespace
Classes: Table
Class Method Summary collapse
Class Method Details
.parse(data, **kargs, &block) ⇒ Eco::CSV::Table
9 10 11 12 13 14 15 16 |
# File 'lib/eco/csv.rb', line 9 def parse(data, **kargs, &block) kargs = {headers: true, skip_blanks: true}.merge(kargs) out = super(data, **kargs, &block).reject do |row| values = row.to_hash.values values.all?(&:nil?) || values.map(&:to_s).all?(&:empty?) end Eco::CSV::Table.new(out) end |
.read(file, **kargs) ⇒ Eco::CSV::Table
19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/eco/csv.rb', line 19 def read(file, **kargs) kargs = {headers: true, skip_blanks: true}.merge(kargs) args = [file].tap do |arg| encoding = Eco::API::Common::Session::FileManager.encoding(file) #encoding = (encoding != "utf-8")? "#{encoding}|utf-8": encoding #arg.push(encoding) arg.push("rb:bom|utf-8") if encoding == "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 |