Sha256: 8d26364c04584a70651c7fdd0e9a67be24a900d9e3404f60fda236d37ef0ac50

Contents?: true

Size: 1.1 KB

Versions: 4

Compression:

Stored size: 1.1 KB

Contents

# frozen_string_literal: true

module OoxmlParser
  # Class for parsing `w:shd` object
  class Shade < OOXMLDocumentObject
    # @return [Symbol] value of shade
    attr_accessor :value
    # @return [Symbol] color of shade
    attr_accessor :color
    # @return [Color] fill of shade
    attr_accessor :fill

    def initialize(value: nil,
                   color: nil,
                   fill: nil,
                   parent: nil)
      @value = value
      @color = color
      @fill = fill
      super(parent: parent)
    end

    # @return [String] text representation
    def to_s
      "Value: `#{value}`, "\
      "Color: `#{color}`, "\
      "Fill: `#{fill}`"
    end

    # Parse Shade
    # @param [Nokogiri::XML:Node] node with Shade
    # @return [Shade] result of parsing
    def parse(node)
      node.attributes.each do |key, value|
        case key
        when 'val'
          @value = value.value.to_sym
        when 'color'
          @color = value.value.to_sym
        when 'fill'
          @fill = Color.new(parent: self).parse_hex_string(value.value.to_s)
        end
      end
      self
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
ooxml_parser-0.11.0 lib/ooxml_parser/common_parser/common_data/paragraph/paragraph_run/run_properties/shade.rb
ooxml_parser-0.10.0 lib/ooxml_parser/common_parser/common_data/paragraph/paragraph_run/run_properties/shade.rb
ooxml_parser-0.9.1 lib/ooxml_parser/common_parser/common_data/paragraph/paragraph_run/run_properties/shade.rb
ooxml_parser-0.9.0 lib/ooxml_parser/common_parser/common_data/paragraph/paragraph_run/run_properties/shade.rb