Sha256: 3d5128eb9f9ccabe08702ed2e5b2f4bbac6aa494c517bef778219e15ead6d928

Contents?: true

Size: 853 Bytes

Versions: 3

Compression:

Stored size: 853 Bytes

Contents

module Roo
  class Spreadsheet
    class << self
      def open(file, options = {})
        file = File === file ? file.path : file

        extension =
          if options[:extension]
            options[:file_warning] = :ignore
            ".#{options[:extension]}"
          else
            File.extname(file)
          end

        case extension.downcase
        when '.xls'
          Roo::Excel.new(file, options)
        when '.xlsx'
          Roo::Excelx.new(file, options)
        when '.ods'
          Roo::OpenOffice.new(file, options)
        when '.xml'
          Roo::Excel2003XML.new(file, options)
        when ''
          Roo::Google.new(file, options)
        when '.csv'
          Roo::CSV.new(file, options)
        else
          raise ArgumentError, "Don't know how to open file #{file}"
        end
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
roo-1.12.2 lib/roo/spreadsheet.rb
roo-1.12.1 lib/roo/spreadsheet.rb
roo-1.12.0 lib/roo/spreadsheet.rb