Class: SpreadsheetManager

Inherits:
Object
  • Object
show all
Defined in:
lib/spreadsheet_manager_refi.rb

Instance Method Summary collapse

Constructor Details

#initializeSpreadsheetManager

  • each file will only be opened once for all requests that are made



8
9
10
11
# File 'lib/spreadsheet_manager_refi.rb', line 8

def initialize
  @ss_s = {} # file_pn => spreadsheet

   = {}
end

Instance Method Details

#get_metadata(ss_pn) ⇒ Object



29
30
31
32
33
34
# File 'lib/spreadsheet_manager_refi.rb', line 29

def (ss_pn)
  if([ss_pn] == nil)
    [ss_pn] = {"ss_pn" => ss_pn}.merge( File.(ss_pn) )
  end
  return [ss_pn]
end

#get_ss(ss_pn) ⇒ Object

ss_pn spreadsheet-pathname



13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/spreadsheet_manager_refi.rb', line 13

def get_ss(ss_pn)
  if @ss_s[ss_pn] == nil # spreadsheet not opened yet

    $Log.indent
    $Log.tlog( {id: 'info1035', ss_pn: ss_pn } )
    #myreq 'roo'

    file_extension = ss_pn.match(/.+\.(.+)$/)[1].to_s
    ss = case file_extension
      when 'xlsx' then Excelx.new(ss_pn)
      when 'xls' then Excel.new(ss_pn)
      when 'ods' then Openoffice.new(ss_pn)
    end
    @ss_s[ss_pn] = ss
    $Log.undent
  end
  return @ss_s[ss_pn]
end