Sha256: ad5ebf833c3ca80c3e5ca75250af0cfccf2910aff37d2bc2f69a63f3c34d31e0
Contents?: true
Size: 638 Bytes
Versions: 2
Compression:
Stored size: 638 Bytes
Contents
require 'narray' class ObjectTable::BasicGrid < Hash # def self.[](*args) # grid = super # grid._ensure_uniform_columns! # end def _get_number_rows! each{|k, v| self[k] = v.to_a if v.is_a?(Range)} rows = map{|k, v| ObjectTable::Column.length_of(v)}.compact.uniq end def _ensure_uniform_columns!(rows = nil) unique_rows = _get_number_rows! unique_rows |= [rows] if rows raise "Differing number of rows: #{unique_rows}" if unique_rows.length > 1 rows = (unique_rows[0] or 1) each do |k, v| self[k] = [v] * rows unless (v.is_a?(Array) || v.is_a?(NArray)) end rows end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
object_table-0.4.1 | lib/object_table/basic_grid.rb |
object_table-0.4.0 | lib/object_table/basic_grid.rb |