Class: Eco::CSV

Inherits:
CSV
  • Object
show all
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) ⇒ Object



8
9
10
11
12
13
14
15
# File 'lib/eco/csv.rb', line 8

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) ⇒ Object



17
18
19
20
21
22
23
24
25
# File 'lib/eco/csv.rb', line 17

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|
    values = row.to_hash.values
    values.all?(&:nil?) || values.map(&:to_s).all?(&:empty?)
  end
  Eco::CSV::Table.new(out)
end