Module: Workbook

Defined in:
lib/workbook.rb

Class Method Summary collapse

Class Method Details

.hash_workbook_to_hash_tables(hash_workbook) ⇒ Object



37
38
39
40
41
# File 'lib/workbook.rb', line 37

def self.hash_workbook_to_hash_tables(hash_workbook)
  hash_workbook.keys.each_with_object({}) do |key, hash_tables|
    hash_tables[key] = Worksheet.hash_worksheet_to_hash_table(hash_workbook[key])
  end
end

.hash_workbook_to_rubyxl_workbook(hash_workbook) ⇒ Object



13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/workbook.rb', line 13

def self.hash_workbook_to_rubyxl_workbook(hash_workbook)
  validate_hash_workbook(hash_workbook)
  rubyxl_workbook = RubyXL::Workbook.new
  first_worksheet = true
  hash_workbook.each do |hash_key, hash_value|
    if first_worksheet
      rubyxl_workbook.worksheets[0].sheet_name = hash_key
      first_worksheet = false
    else
      rubyxl_workbook.add_worksheet(hash_key)
    end
    Worksheet.hash_worksheet_to_rubyxl_worksheet(hash_value, rubyxl_workbook[hash_key])
  end
  rubyxl_workbook
end

.hashes_to_hash_workbook(hash_tables, write_headers: true) ⇒ Object



29
30
31
32
33
34
35
# File 'lib/workbook.rb', line 29

def self.hashes_to_hash_workbook(hash_tables, write_headers: true)
  hash_workbook = {}
  hash_tables.each do |k, v|
    hash_workbook[k] = Worksheet.hashes_to_hash_worksheet(v[:rows], v[:columns], v[:formats] || {}, write_headers: write_headers)
  end
  hash_workbook
end

.rubyxl_to_hash(rubyxl_workbook) ⇒ Object



5
6
7
8
9
10
11
# File 'lib/workbook.rb', line 5

def self.rubyxl_to_hash(rubyxl_workbook)
  hash_workbook = {}
  rubyxl_workbook.each do |rubyxl_worksheet|
    hash_workbook[rubyxl_worksheet.sheet_name] = Worksheet.rubyxl_to_hash(rubyxl_worksheet)
  end
  hash_workbook
end

.validate_hash_workbook(hash_workbook) ⇒ Object



43
44
45
46
47
48
# File 'lib/workbook.rb', line 43

def self.validate_hash_workbook(hash_workbook)
  raise('workbook must be a Hash') unless hash_workbook.is_a?(Hash)
  hash_workbook.each do |hash_worksheet_name, hash_worksheet|
    Worksheet.validate_hash_worksheet(hash_worksheet_name, hash_worksheet)
  end
end