Sha256: 62fc0eaeb8d68fd9850492ec5b4964572959093ee5ced9d2019baec65ee2bf38
Contents?: true
Size: 1.06 KB
Versions: 3
Compression:
Stored size: 1.06 KB
Contents
# frozen_string_literal: true require_relative 'content_types/content_type_default' require_relative 'content_types/content_type_override' module OoxmlParser # Class for data from `[Content_Types].xml` file class ContentTypes < OOXMLDocumentObject # @return [Array] list of content types attr_accessor :content_types_list def initialize(parent: nil) @content_types_list = [] super end # @return [Array] accessor def [](key) @content_types_list[key] end # Parse ContentTypes object # @return [ContentTypes] result of parsing def parse doc = Nokogiri::XML.parse(File.open("#{OOXMLDocumentObject.path_to_folder}/[Content_Types].xml")) node = doc.xpath('*').first node.xpath('*').each do |node_child| case node_child.name when 'Default' @content_types_list << ContentTypeDefault.new(parent: self).parse(node_child) when 'Override' @content_types_list << ContentTypeOverride.new(parent: self).parse(node_child) end end self end end end
Version data entries
3 entries across 3 versions & 1 rubygems