Sha256: 6e2772b3894b3c5bcc04b0a96816ec45c9b3a347655442a34ddc201a3752cbff
Contents?: true
Size: 1.24 KB
Versions: 48
Compression:
Stored size: 1.24 KB
Contents
# frozen_string_literal: true require_relative 'image_fill' require_relative 'presentation_fill/gradient_color' require_relative 'presentation_fill/presentation_pattern' module OoxmlParser # Class for working with PresentationFill class PresentationFill < OOXMLDocumentObject attr_accessor :type, :image, :color, :pattern # Parse PresentationFill object # @param node [Nokogiri::XML:Element] node to parse # @return [PresentationFill] result of parsing def parse(node) return nil if node.xpath('*').empty? node.xpath('*').each do |node_child| case node_child.name when 'gradFill' @type = :gradient @color = GradientColor.new(parent: self).parse(node_child) when 'solidFill' @type = :solid @color = Color.new(parent: self).parse_color(node_child.xpath('*').first) when 'blipFill' @type = :image @image = ImageFill.new(parent: self).parse(node_child) when 'pattFill' @type = :pattern @pattern = PresentationPattern.new(parent: self).parse(node_child) when 'noFill' @type = :noneColor @color = :none end end return nil if @type.nil? self end end end
Version data entries
48 entries across 48 versions & 1 rubygems