Class: OoxmlParser::Columns

Inherits:
OOXMLDocumentObject show all
Defined in:
lib/ooxml_parser/docx_parser/docx_data/document_structure/page_properties/columns.rb

Instance Attribute Summary collapse

Attributes inherited from OOXMLDocumentObject

#parent

Instance Method Summary collapse

Methods inherited from OOXMLDocumentObject

#==, add_to_xmls_stack, copy_file_and_rename_to_zip, current_xml, dir, encrypted_file?, get_link_from_rels, unzip_file, #with_data?

Methods included from OoxmlDocumentObjectHelper

#to_hash

Constructor Details

#initialize(columns_count = 0) ⇒ Columns

Returns a new instance of Columns.



12
13
14
15
# File 'lib/ooxml_parser/docx_parser/docx_data/document_structure/page_properties/columns.rb', line 12

def initialize(columns_count = 0)
  @count = columns_count
  @column_array = []
end

Instance Attribute Details

#column_arrayObject

Returns the value of attribute column_array.



8
9
10
# File 'lib/ooxml_parser/docx_parser/docx_data/document_structure/page_properties/columns.rb', line 8

def column_array
  @column_array
end

#countObject

Returns the value of attribute count.



5
6
7
# File 'lib/ooxml_parser/docx_parser/docx_data/document_structure/page_properties/columns.rb', line 5

def count
  @count
end

#equal_widthObject Also known as: equal_width?

Returns the value of attribute equal_width.



6
7
8
# File 'lib/ooxml_parser/docx_parser/docx_data/document_structure/page_properties/columns.rb', line 6

def equal_width
  @equal_width
end

#separatorObject

Returns the value of attribute separator.



4
5
6
# File 'lib/ooxml_parser/docx_parser/docx_data/document_structure/page_properties/columns.rb', line 4

def separator
  @separator
end

#spaceOoxmlSize

Returns space between columns.

Returns:



10
11
12
# File 'lib/ooxml_parser/docx_parser/docx_data/document_structure/page_properties/columns.rb', line 10

def space
  @space
end

Instance Method Details

#[](key) ⇒ Array, Column

Returns accessor.

Returns:

  • (Array, Column)

    accessor



18
19
20
# File 'lib/ooxml_parser/docx_parser/docx_data/document_structure/page_properties/columns.rb', line 18

def [](key)
  @column_array[key]
end

#parse(node) ⇒ Columns

Parse Columns data

Parameters:

  • node (Nokogiri::XML:Element)

    with Columns data

Returns:

  • (Columns)

    value of Columns data



25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
# File 'lib/ooxml_parser/docx_parser/docx_data/document_structure/page_properties/columns.rb', line 25

def parse(node)
  node.attributes.each do |key, value|
    case key
    when 'num'
      @count = value.value.to_i
    when 'sep'
      @separator = value.value
    when 'equalWidth'
      @equal_width = option_enabled?(node, 'equalWidth')
    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