Sha256: e0f1d32a9eeef649f10350e49034aeb46a8dee5d0961e6273f0440a446c60295

Contents?: true

Size: 924 Bytes

Versions: 2

Compression:

Stored size: 924 Bytes

Contents

require_relative 'shapes_grouping/grouping_properties'
module OoxmlParser
  class ShapesGrouping
    attr_accessor :elements, :properties

    def initialize(elements = [])
      @elements = elements
    end

    def self.parse(grouping_node)
      grouping = ShapesGrouping.new
      grouping_node.xpath('*').each do |grouping_node_child|
        case grouping_node_child.name
        when 'nvGrpSpPr'
        when 'grpSpPr'
          grouping.properties = GroupingProperties.parse(grouping_node_child)
        when 'pic'
          grouping.elements << DocxPicture.parse(grouping_node_child)
        when 'sp'
          grouping.elements << PresentationShape.parse(grouping_node_child).dup
        when 'grpSp'
          grouping.elements << parse(grouping_node_child)
        when 'graphicFrame'
          grouping.elements << GraphicFrame.parse(grouping_node_child)
        end
      end
      grouping
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
ooxml_parser-0.1.2 lib/ooxml_parser/pptx_parser/pptx_data/presentation/slide/slide/shapes_grouping.rb
ooxml_parser-0.1.1 lib/ooxml_parser/pptx_parser/pptx_data/presentation/slide/slide/shapes_grouping.rb