class OoxmlParser::Columns

Class for data of Columns

Attributes

column_array[RW]

@return [Array<Column>] list of colujmns

count[RW]

@return [Integer] count of columns

equal_width[RW]

@return [True, False] is columns are equal width

equal_width?[RW]

@return [True, False] is columns are equal width

separator[R]

@return [Boolean] Draw Line Between Columns

space[RW]

@return [OoxmlSize] space between columns

Public Class Methods

new(columns_count = 0) click to toggle source
Calls superclass method OoxmlParser::OOXMLDocumentObject::new
# File lib/ooxml_parser/docx_parser/document_structure/page_properties/columns.rb, line 19
def initialize(columns_count = 0)
  @count = columns_count
  @column_array = []
  super(parent: nil)
end

Public Instance Methods

[](key) click to toggle source

@return [Array, Column] accessor

# File lib/ooxml_parser/docx_parser/document_structure/page_properties/columns.rb, line 26
def [](key)
  @column_array[key]
end
parse(node) click to toggle source

Parse Columns data @param [Nokogiri::XML:Element] node with Columns data @return [Columns] value of Columns data

# File lib/ooxml_parser/docx_parser/document_structure/page_properties/columns.rb, line 33
def parse(node)
  node.attributes.each do |key, value|
    case key
    when 'num'
      @count = value.value.to_i
    when 'sep'
      @separator = boolean_attribute_value(value)
    when 'equalWidth'
      @equal_width = boolean_attribute_value(value)
    when 'space'
      @space = OoxmlSize.new(value.value.to_f)
    end
  end

  node.xpath('*').each do |column_node|
    case column_node.name
    when 'col'
      @column_array << Column.new(parent: self).parse(column_node)
    end
  end
  self
end