class SpreadsheetStreamReader::Reader

Constants

VALID_FILE_EXTS

Attributes

batch_size[RW]
data[RW]
file_path[RW]

Public Class Methods

new(file_path, batch_size = 1000) click to toggle source
# File lib/spreadsheet_stream_reader.rb, line 13
def initialize(file_path, batch_size = 1000)
  raise InvalidParameterError,
        "File extension should be one of the: #{VALID_FILE_EXTS}" unless VALID_FILE_EXTS.include?(File.extname(file_path.to_s))

  self.file_path = file_path.to_s
  self.batch_size = batch_size
  self.data = Array.new
end

Public Instance Methods

each_sheet() { |get_sheet(name)| ... } click to toggle source
# File lib/spreadsheet_stream_reader.rb, line 30
def each_sheet
  sheet_names.each do |name|
    yield get_sheet(name)
  end
end
get_sheet(idx_or_name) click to toggle source
# File lib/spreadsheet_stream_reader.rb, line 26
def get_sheet(idx_or_name)
  Sheet.new(book_reader.get_work_sheet(idx_or_name), @batch_size)
end
sheet_names() click to toggle source
# File lib/spreadsheet_stream_reader.rb, line 22
def sheet_names
  sheets.collect{|s| s.name}
end

Private Instance Methods

book() click to toggle source
# File lib/spreadsheet_stream_reader.rb, line 38
def book
  @book ||= book_reader.open_book
end
book_reader() click to toggle source
# File lib/spreadsheet_stream_reader.rb, line 46
def book_reader
  @book_reader ||= BookReader.new(@file_path)
end
sheets() click to toggle source
# File lib/spreadsheet_stream_reader.rb, line 42
def sheets
  @work_sheets ||= book_reader.get_work_sheets
end