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