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.



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

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

Instance Method Details

#rows_for(name) ⇒ Object



189
190
191
192
# File 'lib/opencdd/parcel/workbook_reader.rb', line 189

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



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

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