class Terminal::Table

def render

def render
  separator = Separator.new(self)
  buffer = style.border_top ? [separator] : []
  unless @title.nil?
    buffer << Row.new(self, [title_cell_options])
    buffer << separator
  end
  @headings.each do |row|
    unless row.cells.empty?
      buffer << row
      buffer << separator
    end
  end
  if style.all_separators
    buffer += @rows.product([separator]).flatten
  else
    buffer += @rows
    buffer << separator if style.border_bottom
  end
  buffer.map { |r| style.margin_left + r.render.rstrip }.join("\n")
end