class Shoji::ODS
Constants
- READER
Public Class Methods
convert_to_hash(filename, opts = {})
click to toggle source
# File lib/shoji/ods.rb, line 27 def self.convert_to_hash(filename, opts = {}) opts_for_parse = opts.slice(:sheet_index) opts_for_convert = opts.slice(:header) rows = self.rows(filename, opts) return {} if rows.size < 2 list = [] header = rows.shift header = opts_for_convert[:header] if opts_for_convert[:header] rows.each do |row| list << make_hash(header, row) end list end
foreach(filename, opts = {}, &block)
click to toggle source
# File lib/shoji/ods.rb, line 9 def self.foreach(filename, opts = {}, &block) raise 'Block must be exist.' unless block_given? READER.open(filename, opts[:sheet]) do |row| block.call(row) end end
new(filename)
click to toggle source
# File lib/shoji/ods.rb, line 41 def initialize(filename) @filename = filename end
row_size(filename, opts = {})
click to toggle source
# File lib/shoji/ods.rb, line 23 def self.row_size(filename, opts = {}) READER.new(filename).row_size(opts) end
rows(filename, opts = {})
click to toggle source
# File lib/shoji/ods.rb, line 19 def self.rows(filename, opts = {}) READER.new(filename).rows(opts) end
valid_file?(filename)
click to toggle source
# File lib/shoji/ods.rb, line 15 def self.valid_file?(filename) READER.valid_file? filename end
Private Class Methods
make_hash(header_columns, row_columns)
click to toggle source
# File lib/shoji/ods.rb, line 68 def self.make_hash(header_columns, row_columns) h = {} header_columns.size.times do |i| h[header_columns[i]] = row_columns[i] end h end
process_rows(sheet, &block)
click to toggle source
# File lib/shoji/ods.rb, line 62 def self.process_rows(sheet, &block) sheet.each do |row| cells = cells_from_row(row) block.call(cells) end end
Public Instance Methods
convert_to_hash(opts = {})
click to toggle source
# File lib/shoji/ods.rb, line 57 def convert_to_hash(opts = {}) self.class.convert_to_hash(@filename, opts) end
foreach(opts = {}, &block)
click to toggle source
# File lib/shoji/ods.rb, line 45 def foreach(opts = {}, &block) self.class.foreach(@filename, opts, &block) end
row_size(opts = {})
click to toggle source
# File lib/shoji/ods.rb, line 54 def row_size(opts = {}) self.class.row_size(@filename, opts) end
rows(opts = {})
click to toggle source
# File lib/shoji/ods.rb, line 51 def rows(opts = {}) self.class.rows(@filename, opts) end
valid_file?()
click to toggle source
# File lib/shoji/ods.rb, line 48 def valid_file? self.class.valid_file? @filename end