class Eco::CSV

Public Class Methods

parse(data, **kargs, &block) click to toggle source

@return [Eco::CSV::Table]

Calls superclass method
# 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) click to toggle source

@return [Eco::CSV::Table]

Calls superclass method
# 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