Sha256: 4782eedbab9994405fa81103b7f97a3af9dd0a56326fdbf13fa608eb1ca86779

Contents?: true

Size: 1.03 KB

Versions: 10

Compression:

Stored size: 1.03 KB

Contents

require 'singleton'
module Spread2RDF
  class RooAdapter
    include Singleton

    def initialize

    end

    # TODO: make this work with other spreadsheets than Excel
    def load(file)
      options = {}
      options[:packed], options[:file_warning] = :zip, :ignore if
          File.extname(file).downcase == '.xlsm'
      @roo = Roo::Excelx.new(file, options)
    end

    def select_worksheet(worksheet)
      @roo.default_sheet = worksheet
    end

    def roo(worksheet = nil)
      return @roo if worksheet.nil?
      last_default_sheet = @roo.default_sheet
      select_worksheet(worksheet)
      return @roo unless block_given?
      result = yield @roo
      @roo.default_sheet = last_default_sheet
      result
    end

    def cell(coord, worksheet = nil)
      coord = Coord[coord] unless coord.is_a? Coord
      #if worksheet
        @roo.cell(coord.column, coord.row, worksheet)
      #else
      #  @roo.cell(coord.column, coord.row)
      #end
    end

  end

  ROO = RooAdapter.instance

end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
spread2rdf-0.1.7 lib/spread2rdf/roo_helper.rb
spread2rdf-0.1.6 lib/spread2rdf/roo_helper.rb
spread2rdf-0.1.5 lib/spread2rdf/roo_helper.rb
spread2rdf-0.1.4 lib/spread2rdf/roo_helper.rb
spread2rdf-0.1.3 lib/spread2rdf/roo_helper.rb
spread2rdf-0.1.2 lib/spread2rdf/roo_helper.rb
spread2rdf-0.1.1 lib/spread2rdf/roo_helper.rb
spread2rdf-0.1.0 lib/spread2rdf/roo_helper.rb
spread2rdf-0.0.2 lib/spread2rdf/roo_helper.rb
spread2rdf-0.0.1 lib/spread2rdf/roo_helper.rb