Class: DataImp::Roo::Spreadsheet

Inherits:
Parser
  • Object
show all
Defined in:
lib/data_imp/roo/spreadsheet.rb

Direct Known Subclasses

Csv, Ods, Xls, Xlsm, Xlsx

Instance Method Summary collapse

Instance Method Details

#optionsObject



3
4
5
# File 'lib/data_imp/roo/spreadsheet.rb', line 3

def options
  { }
end

#process(input, &block) ⇒ Object



17
18
19
# File 'lib/data_imp/roo/spreadsheet.rb', line 17

def process input, &block
  raise "unable to process spreadsheet as a stream"
end

#process_file(&block) ⇒ Object



7
8
9
10
11
12
13
14
15
# File 'lib/data_imp/roo/spreadsheet.rb', line 7

def process_file &block
  spreadsheet = Roo::Spreadsheet.open(filename, options)
  header = spreadsheet.row(1)
  (2..spreadsheet.last_row).each do |index|
    row = spreadsheet.row(index)
    hash = [header, row].transpose.to_h
    yield hash, index
  end
end