module DataSaver

Public Class Methods

csv(filename, data) click to toggle source
# File lib/contentar/data_saver.rb, line 2
def self.csv(filename, data)
  create_data_dir
  file    = "#{ Dir.pwd }/data/#{ filename }.csv"
  headers = data[0].keys.map { |k| k.to_s }
  create_csv(file, data, headers)
end

Private Class Methods

create_csv(file, data, headers) click to toggle source
# File lib/contentar/data_saver.rb, line 11
def self.create_csv(file, data, headers)
  CSV.open(file, 'w', write_headers: true, headers: headers, encoding: 'UTF-8') do |csv|
    data.each do |d|
      values = d.values.map { |value| value.to_s.force_encoding('UTF-8') }
      csv << values
    end
  end
end
create_data_dir() click to toggle source
# File lib/contentar/data_saver.rb, line 20
def self.create_data_dir
  Dir.mkdir('data') unless File.directory?('data')
end