class RgGen::SpreadsheetLoader::RooLoader
Public Instance Methods
read_spreadsheet(file, book)
click to toggle source
# File lib/rggen/spreadsheet_loader/roo_loader.rb, line 10 def read_spreadsheet(file, book) read_roo(file, &page_processor(book)) end
Private Instance Methods
collect_cells(page)
click to toggle source
# File lib/rggen/spreadsheet_loader/roo_loader.rb, line 29 def collect_cells(page) (1..page.last_row).map do |row| (1..page.last_column).map { |column| page.cell(row, column) } end end
page_processor(book)
click to toggle source
# File lib/rggen/spreadsheet_loader/roo_loader.rb, line 22 def page_processor(book) lambda do |pagename_and_page| pagename, page = pagename_and_page page.first_row && book.add_sheet(pagename, collect_cells(page)) end end
read_roo(file, &block)
click to toggle source
# File lib/rggen/spreadsheet_loader/roo_loader.rb, line 16 def read_roo(file, &block) require 'roo' Roo::Spreadsheet.open(file, extension: File.extname(file)) .each_with_pagename(&block) end