Module: CsvX

Defined in:
lib/csv_x.rb

Class Method Summary collapse

Class Method Details

.export(filename, header, datas) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# File 'lib/csv_x.rb', line 4

def self.export(filename, header, datas)
  fail 'filename must be String' if filename.class != String
  fail 'header must be Array' if header.class != Array
  @header = header
  CSV.open(filename, 'wb') do |csv|
    csv << header
    datas.each do |data|
      if data.class = Hash
        csv << make_row_from_hash(data)
      else 
        csv << make_row(data)
      end
    end
  end
end

.make_row(ins) ⇒ Object



20
21
22
23
24
25
26
# File 'lib/csv_x.rb', line 20

def self.make_row(ins)
  [].tap do |arr|
    @header.each do |getter|
      arr << ins.send(getter.to_sym)
    end
  end
end

.make_row_from_hash(hash) ⇒ Object



28
29
30
31
32
33
34
# File 'lib/csv_x.rb', line 28

def self.make_row_from_hash(hash)
  [].tap do |arr|
    @header.each do |k|
      arr << hash[k]
    end
  end
end