Class: Opencdd::Parcel::WorkbookReader::SpreadsheetSource

Inherits:
Struct
  • Object
show all
Defined in:
lib/opencdd/parcel/workbook_reader.rb

Instance Method Summary collapse

Constructor Details

#initialize(path) ⇒ SpreadsheetSource

Returns a new instance of SpreadsheetSource.



175
176
177
178
179
# File 'lib/opencdd/parcel/workbook_reader.rb', line 175

def initialize(path)
  require "spreadsheet"
  super(path)
  @book = Spreadsheet.open(path)
end

Instance Method Details

#rows_for(name) ⇒ Object



185
186
187
188
# File 'lib/opencdd/parcel/workbook_reader.rb', line 185

def rows_for(name)
  ws = @book.worksheets.find { |w| decode_name(w.name) == name } || @book.worksheet(0)
  ws.rows.map(&:to_a)
end

#sheet_namesObject



181
182
183
# File 'lib/opencdd/parcel/workbook_reader.rb', line 181

def sheet_names
  @sheet_names ||= @book.worksheets.map { |ws| decode_name(ws.name) }
end