Class: OoxmlParser::Columns

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

Constant Summary

Constants inherited from OOXMLDocumentObject

OOXMLDocumentObject::DEFAULT_DIRECTORY_FOR_MEDIA

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from OOXMLDocumentObject

#==, add_to_xmls_stack, copy_file_and_rename_to_zip, copy_media_file, current_xml, dir, encrypted_file?, get_link_from_rels, media_folder, option_enabled?, unzip_file

Constructor Details

#initialize(columns_count) ⇒ Columns

Returns a new instance of Columns.



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

def initialize(columns_count)
  @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

Class Method Details

.parse(columns_grid) ⇒ DocumentGrid

Parse Columns data

Parameters:

  • node (Nokogiri::XML:Element)

    with Columns data

Returns:



23
24
25
26
27
28
29
30
31
32
33
34
35
# File 'lib/ooxml_parser/docx_parser/docx_data/document_structure/page_properties/columns.rb', line 23

def self.parse(columns_grid)
  columns_count = 1
  columns_count = columns_grid.attribute('num').value.to_i unless columns_grid.attribute('num').nil?
  columns = Columns.new(columns_count)
  columns.separator = columns_grid.attribute('sep').value unless columns_grid.attribute('sep').nil?
  columns.equal_width = option_enabled?(columns_grid, 'equalWidth') unless columns_grid.attribute('equalWidth').nil?
  columns_grid.xpath('w:col').each do |col|
    width = (col.attribute('w').value.to_f / OoxmlParser.configuration.units_delimiter).round(2)
    space = (col.attribute('space').value.to_f / OoxmlParser.configuration.units_delimiter).round(2) unless col.attribute('space').nil?
    columns.column_array << Column.new(width, space)
  end
  columns
end

Instance Method Details

#[](key) ⇒ Array, Column

Returns accessor.

Returns:

  • (Array, Column)

    accessor



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

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