Sha256: 0cf39b06b1ac2ebe9fbd35f1cac17a050117bf08b001129dc970c366a4ebd1f7

Contents?: true

Size: 869 Bytes

Versions: 21

Compression:

Stored size: 869 Bytes

Contents

require 'csv'

module Eco
  class CSV < ::CSV

    class << self

      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

      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

    end


  end
end

require_relative 'csv/table'

Version data entries

21 entries across 21 versions & 1 rubygems

Version Path
eco-helpers-1.4.2 lib/eco/csv.rb
eco-helpers-1.3.19 lib/eco/csv.rb
eco-helpers-1.4.1 lib/eco/csv.rb
eco-helpers-1.4.0 lib/eco/csv.rb
eco-helpers-1.3.18 lib/eco/csv.rb
eco-helpers-1.3.17 lib/eco/csv.rb
eco-helpers-1.3.16 lib/eco/csv.rb
eco-helpers-1.3.15 lib/eco/csv.rb
eco-helpers-1.3.14 lib/eco/csv.rb
eco-helpers-1.3.13 lib/eco/csv.rb
eco-helpers-1.3.12 lib/eco/csv.rb
eco-helpers-1.3.11 lib/eco/csv.rb
eco-helpers-1.3.10 lib/eco/csv.rb
eco-helpers-1.3.9 lib/eco/csv.rb
eco-helpers-1.3.8 lib/eco/csv.rb
eco-helpers-1.3.7 lib/eco/csv.rb
eco-helpers-1.3.6 lib/eco/csv.rb
eco-helpers-1.3.5 lib/eco/csv.rb
eco-helpers-1.3.4 lib/eco/csv.rb
eco-helpers-1.3.3 lib/eco/csv.rb