Sha256: d4c1b042e99f07ef6e731b7972a0fbbb563958802cc04d8b445b038afd0ccb3e

Contents?: true

Size: 1.23 KB

Versions: 2

Compression:

Stored size: 1.23 KB

Contents

# Docx Wrap Drawing
module OoxmlParser
  class DocxWrapDrawing
    attr_accessor :wrap_text, :distance_from_text

    def initialize(wrap_text = :none)
      @wrap_text = wrap_text
    end

    def self.parse(drawing_node)
      wrap = DocxWrapDrawing.new
      unless drawing_node.attribute('behindDoc').nil?
        wrap.wrap_text = :behind if drawing_node.attribute('behindDoc').value == '1'
        wrap.wrap_text = :infront if drawing_node.attribute('behindDoc').value == '0'
      end
      drawing_node.xpath('*').each do |wrap_node|
        case wrap_node.name
        when 'wrapSquare'
          wrap.wrap_text = :square
          wrap.distance_from_text = DocxDrawingDistanceFromText.parse(wrap_node)
          break
        when 'wrapTight'
          wrap.wrap_text = :tight
          wrap.distance_from_text = DocxDrawingDistanceFromText.parse(wrap_node)
          break
        when 'wrapThrough'
          wrap.wrap_text = :through
          wrap.distance_from_text = DocxDrawingDistanceFromText.parse(wrap_node)
          break
        when 'wrapTopAndBottom'
          wrap.wrap_text = :topbottom
          wrap.distance_from_text = DocxDrawingDistanceFromText.parse(wrap_node)
          break
        end
      end
      wrap
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
ooxml_parser-0.1.2 lib/ooxml_parser/common_parser/common_data/alternate_content/drawing/drawing_properties/docx_wrap_drawing.rb
ooxml_parser-0.1.1 lib/ooxml_parser/common_parser/common_data/alternate_content/drawing/drawing_properties/docx_wrap_drawing.rb