class PrawnHtml::Tags::Table

def add_col_width(width)

def add_col_width(width)
  @col_widths << width
end

def add_row(row_data)

def add_row(row_data)
  @rows << row_data
end

def block?

def block?
  true
end

def custom_render(pdf, _context)

def custom_render(pdf, _context)
  @pdf_wrapper = pdf
end

def on_context_add(_context)

def on_context_add(_context)
  @rows = []
  @col_widths = []
end

def on_context_remove(_context)

def on_context_remove(_context)
  return if @pdf_wrapper.nil?
  cell_style = {
    borders: [:top, :bottom, :left, :right],
    border_width: 1,
    border_color: '000000',
    padding: 5,
    inline_format: true
  }
  if @col_widths.any?
    @pdf_wrapper.table(@rows, column_widths: @col_widths, cell_style: cell_style)
  else
    # When providing column_widths, Prawn::Table transform nil into [] and raise error. Better not to provide it at all.
    @pdf_wrapper.table(@rows, cell_style: cell_style)
  end
  @rows = []
end