class Asciidoctor::Table::Column

Public: Methods to manage the columns of an AsciiDoc table. In particular, it keeps track of the column specs

Attributes

style[RW]

Public: Get/Set the style Symbol for this column.

Public Class Methods

new(table, index, attributes = {}) click to toggle source
Calls superclass method Asciidoctor::AbstractNode::new
# File lib/asciidoctor/table.rb, line 181
def initialize table, index, attributes = {}
  super table, :table_column
  @style = attributes['style']
  attributes['colnumber'] = index + 1
  attributes['width'] ||= 1
  attributes['halign'] ||= 'left'
  attributes['valign'] ||= 'top'
  update_attributes(attributes)
end

Public Instance Methods

assign_width(col_pcwidth, width_base, precision) click to toggle source

Internal: Calculate and assign the widths (percentage and absolute) for this column

This method assigns the colpcwidth and colabswidth attributes.

returns the resolved colpcwidth value

# File lib/asciidoctor/table.rb, line 199
def assign_width col_pcwidth, width_base, precision
  if width_base
    col_pcwidth = (@attributes['width'].to_f * 100.0 / width_base).truncate precision
    col_pcwidth = col_pcwidth.to_i if col_pcwidth.to_i == col_pcwidth
  end
  if parent.attributes['tableabswidth']
    @attributes['colabswidth'] = (col_abswidth = ((col_pcwidth / 100.0) * parent.attributes['tableabswidth']).truncate precision) == col_abswidth.to_i ? col_abswidth.to_i : col_abswidth
  end
  @attributes['colpcwidth'] = col_pcwidth
end
block?() click to toggle source
# File lib/asciidoctor/table.rb, line 210
def block?
  false
end
inline?() click to toggle source
# File lib/asciidoctor/table.rb, line 214
def inline?
  false
end