Sha256: 5830d63dce1138526877dc6b8b0e589e2af1b9b4fae4e0abce889120c6d69593

Contents?: true

Size: 979 Bytes

Versions: 4

Compression:

Stored size: 979 Bytes

Contents

module OoxmlParser
  class TargetElement < OOXMLDocumentObject
    attr_accessor :type, :id, :name, :built_in

    def initialize(type = '', id = '', parent: nil)
      @type = type
      @id = id
      @parent = parent
    end

    # Parse TargetElement object
    # @param node [Nokogiri::XML:Element] node to parse
    # @return [TargetElement] result of parsing
    def parse(node)
      node.xpath('*').each do |node_child|
        case node_child.name
        when 'sldTgt'
          @type = :slide
        when 'sndTgt'
          @type = :sound
          @name = node_child.attribute('name').value
          @built_in = node_child.attribute('builtIn').value ? StringHelper.to_bool(node_child.attribute('builtIn').value) : false
        when 'spTgt'
          @type = :shape
          @id = node_child.attribute('spid').value
        when 'inkTgt'
          @type = :ink
          @id = node_child.attribute('spid').value
        end
      end
      self
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
ooxml_parser-0.4.1 lib/ooxml_parser/pptx_parser/pptx_data/presentation/slide/slide/timing/set_time_node/behavior/target_element.rb
ooxml_parser-0.4.0 lib/ooxml_parser/pptx_parser/pptx_data/presentation/slide/slide/timing/set_time_node/behavior/target_element.rb
ooxml_parser-0.3.0 lib/ooxml_parser/pptx_parser/pptx_data/presentation/slide/slide/timing/set_time_node/behavior/target_element.rb
ooxml_parser-0.2.0 lib/ooxml_parser/pptx_parser/pptx_data/presentation/slide/slide/timing/set_time_node/behavior/target_element.rb