module ObjectTable::Stacking
Public Class Methods
process_stackable_grid(grid, keys)
click to toggle source
# File lib/object_table/stacking.rb, line 50 def self.process_stackable_grid(grid, keys) case grid when TableMethods grid = grid.columns when BasicGrid grid._ensure_uniform_columns! end raise "Don't know how to join a #{grid.class}" unless grid.is_a?(BasicGrid) return if grid.empty? raise 'Mismatch in column names' unless !keys or ( (keys - grid.keys).empty? and (grid.keys - keys).empty? ) return grid end
stack_segments(segments)
click to toggle source
# File lib/object_table/stacking.rb, line 39 def self.stack_segments(segments) if segments.all?{|seg| seg.is_a? Array} column = NArray.to_na(segments.flatten(1)) else segments.map!{|seg| NArray.to_na seg} column = Column._stack(segments) end end
Public Instance Methods
stack(*others)
click to toggle source
# File lib/object_table/stacking.rb, line 4 def stack(*others) __table_cls__.stack(self, *others) end