Sha256: 993daec22aeb4fcb92a3006f49f65f9c139d71109b94cdea03fe09757bae5cb0
Contents?: true
Size: 971 Bytes
Versions: 4
Compression:
Stored size: 971 Bytes
Contents
module Bmg class Database class Xlsx < Database DEFAULT_OPTIONS = { } def initialize(path, options = {}) path = Path(path) if path.is_a?(String) @path = path @options = options.merge(DEFAULT_OPTIONS) end def method_missing(name, *args, &bl) return super(name, *args, &bl) unless args.empty? && bl.nil? rel = rel_for(name) raise NotSuchRelationError(name.to_s) unless rel rel end def each_relation_pair return to_enum(:each_relation_pair) unless block_given? spreadsheet.sheets.each do |sheet_name| yield(sheet_name.to_sym, rel_for(sheet_name)) end end protected def spreadsheet @spreadsheet ||= Roo::Spreadsheet.open(@path, @options) end def rel_for(sheet_name) Bmg.excel(@path, { sheet: sheet_name.to_s }) end end # class Sequel end # class Database end # module Bmg
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
bmg-0.23.3 | lib/bmg/database/xlsx.rb |
bmg-0.23.2 | lib/bmg/database/xlsx.rb |
bmg-0.23.1 | lib/bmg/database/xlsx.rb |
bmg-0.23.0 | lib/bmg/database/xlsx.rb |