Sha256: 59c20c24d213c45729133aa65845bf023f2ba8959a994960cd06fd512cad28d7

Contents?: true

Size: 986 Bytes

Versions: 5

Compression:

Stored size: 986 Bytes

Contents

# frozen_string_literal: true

require_relative 'table_grid/grid_column'
module OoxmlParser
  # Class for parsing `w:tblGrid` object
  class TableGrid < OOXMLDocumentObject
    # @return [Array, GridColumn] array of columns
    attr_accessor :columns

    def initialize(parent: nil)
      @columns = []
      @parent = parent
    end

    # Compare this object to other
    # @param other [Object] any other object
    # @return [True, False] result of comparision
    def ==(other)
      @columns.each_with_index do |cur_column, index|
        return false unless cur_column == other.columns[index]
      end
      true
    end

    # Parse TableGrid
    # @param [Nokogiri::XML:Node] node with TableGrid
    # @return [TableGrid] result of parsing
    def parse(node)
      node.xpath('*').each do |grid_child|
        case grid_child.name
        when 'gridCol'
          @columns << GridColumn.new(parent: self).parse(grid_child)
        end
      end
      self
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
ooxml_parser-0.8.1 lib/ooxml_parser/common_parser/common_data/table/table_grid.rb
ooxml_parser-0.8.0 lib/ooxml_parser/common_parser/common_data/table/table_grid.rb
ooxml_parser-0.7.2 lib/ooxml_parser/common_parser/common_data/table/table_grid.rb
ooxml_parser-0.7.1 lib/ooxml_parser/common_parser/common_data/table/table_grid.rb
ooxml_parser-0.7.0 lib/ooxml_parser/common_parser/common_data/table/table_grid.rb