Sha256: 356425745d7049cc95224528e0a663cc1bc715ec56302b7c7dea6f4564b25dd5

Contents?: true

Size: 814 Bytes

Versions: 1

Compression:

Stored size: 814 Bytes

Contents

require_relative 'tabs/paragraph_tab'
module OoxmlParser
  # Class for working with `w:tabs`
  class Tabs < OOXMLDocumentObject
    # @return [Array, ParagraphTabs]
    attr_accessor :tabs_array

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

    # @return [Array, Column] accessor
    def [](key)
      @tabs_array[key]
    end

    # @return [True, False] if empty
    def empty?
      @tabs_array.empty?
    end

    # Parse Tabs data
    # @param [Nokogiri::XML:Element] node with Tabs data
    # @return [Tabs] value of Columns data
    def parse(node)
      node.xpath('*').each do |node_child|
        case node_child.name
        when 'tab'
          @tabs_array << ParagraphTab.new(parent: self).parse(node_child)
        end
      end
      self
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
ooxml_parser-0.2.0 lib/ooxml_parser/common_parser/common_data/paragraph/paragrpah_properties/tabs.rb