Module: Workbook
- Defined in:
- lib/workbook.rb
Class Method Summary collapse
- .hash_workbook_to_hash_tables(hash_workbook) ⇒ Object
- .hash_workbook_to_rubyxl_workbook(hash_workbook) ⇒ Object
- .hashes_to_hash_workbook(hash_tables, write_headers: true) ⇒ Object
- .rubyxl_to_hash(rubyxl_workbook) ⇒ Object
- .validate_hash_workbook(hash_workbook) ⇒ Object
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 |