Sha256: 47755f4a24410401cc757fa45e1132afcf51713403943db356721db5017ac0f3

Contents?: true

Size: 1.1 KB

Versions: 1

Compression:

Stored size: 1.1 KB

Contents

require 'rxl/version'
require 'rubyXL'
require_relative 'workbook'

module Rxl

  def self.write_file(filepath, hash_workbook)
    begin
      rubyxl_workbook = Workbook.hash_workbook_to_rubyxl_workbook(hash_workbook)
      rubyxl_workbook.write(filepath)
      nil
    rescue => e
      return e
    end
  end

  def self.write_file_as_tables(filepath, hash_tables, order, write_headers: true)
    hash_workbook = Workbook.hashes_to_hash_workbook(hash_tables, order, write_headers: write_headers)
    write_file(filepath, hash_workbook)
  end

  def self.read_file(filepath)
    rubyxl_workbook = RubyXL::Parser.parse(filepath)
    Workbook.rubyxl_to_hash(rubyxl_workbook)
  end

  def self.read_file_as_tables(filepath)
    hash_workbook = read_file(filepath)
    Workbook.hash_workbook_to_hash_tables(hash_workbook)
  end

  def self.read_files(filepaths_hash, read_style = nil)
    return_hash = {}
    filepaths_hash.each do |key, value|
      if read_style == :as_tables
        return_hash[key] = read_file_as_tables(value)
      else
        return_hash[key] = read_file(value)
      end
    end
    return_hash
  end

end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
rxl-0.3.0 lib/rxl.rb