class Saxlsx::FileSystem

Constants

IO_METHODS

Public Class Methods

new(filename) click to toggle source
# File lib/saxlsx/file_system.rb, line 15
def initialize(filename)
  if IO_METHODS.map { |method| filename.respond_to?(method) }.all?
    @zip = Zip::File.open_buffer filename
    @io = true
  else
    @zip = Zip::File.open filename
  end
end
open(filename) { |file_system| ... } click to toggle source
# File lib/saxlsx/file_system.rb, line 6
def self.open(filename)
  begin
    file_system = self.new(filename)
    yield file_system
  ensure
    file_system.close
  end
end

Public Instance Methods

close() click to toggle source
# File lib/saxlsx/file_system.rb, line 24
def close
  @zip.close unless @io
end
shared_strings() click to toggle source
# File lib/saxlsx/file_system.rb, line 32
def shared_strings
  file = @zip.glob('xl/shared[Ss]trings.xml').first
  @zip.get_input_stream(file) if file
end
sheet(i) click to toggle source
# File lib/saxlsx/file_system.rb, line 41
def sheet(i)
  @zip.get_input_stream("xl/worksheets/sheet#{i+1}.xml")
end
styles() click to toggle source
# File lib/saxlsx/file_system.rb, line 37
def styles
  @zip.get_input_stream('xl/styles.xml')
end
workbook() click to toggle source
# File lib/saxlsx/file_system.rb, line 28
def workbook
  @zip.get_input_stream('xl/workbook.xml')
end