Sha256: 3103140298d8b11f14ef17435498a94296ed918cdda838cc6891e589fddfba13

Contents?: true

Size: 813 Bytes

Versions: 2

Compression:

Stored size: 813 Bytes

Contents

require "esv/version"
require "esv/generator"
require "esv/rails_controller"
require "spreadsheet"

module ESV
  def self.generate
    generator = Generator.new
    yield(generator)
    generator.render
  end

  def self.generate_file(path, &block)
    File.open(path, "wb") do |file|
      file.write generate(&block)
    end
  end

  def self.parse(data)
    fake_file = StringIO.new(data)
    book = Spreadsheet.open(fake_file)

    # We could support multiple worksheets, but let's not until we actually need it.
    # Until then, we prefer raising to silently ignoring worksheets.
    worksheet_count = book.worksheets.length
    raise "Expected 1 worksheet, found #{worksheet_count}." if worksheet_count > 1

    book.worksheet(0).to_a
  end

  def self.parse_file(path)
    parse File.read(path)
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
excel-esv-1.0.0 lib/esv.rb
excel-esv-0.0.7 lib/esv.rb