# File lib/asciidoctor/table.rb, line 71
  def initialize parent, attributes
    super parent, :table
    @rows = Rows.new
    @columns = []

    @has_header_option = attributes.key? 'header-option'

    # smell like we need a utility method here
    # to resolve an integer width from potential bogus input
    pcwidth = attributes['width']
    pcwidth_intval = pcwidth.to_i.abs
    if pcwidth_intval == 0 && pcwidth != '0' || pcwidth_intval > 100
      pcwidth_intval = 100
    end
    @attributes['tablepcwidth'] = pcwidth_intval

    if @document.attributes.key? 'pagewidth'
      @attributes['tableabswidth'] ||=
          ((@attributes['tablepcwidth'].to_f / 100) * @document.attributes['pagewidth']).round
    end
  end