module ObjectTable::Stacking::ClassMethods

Public Instance Methods

_stack(grids) click to toggle source
# File lib/object_table/stacking.rb, line 18
def _stack(grids)
  keys = nil

  grids = grids.map do |grid|
    grid = Stacking.process_stackable_grid(grid, keys)
    keys ||= grid.keys if grid
    grid
  end.compact
  return __table_cls__.new if grids.empty?

  result = keys.map do |k|
    segments = grids.map{|grid| grid[k]}
    [k, Stacking.stack_segments(segments)]
  end

  __table_cls__.new(BasicGrid[result])
end
stack(*grids) click to toggle source
# File lib/object_table/stacking.rb, line 16
def stack(*grids); _stack(grids); end