Sha256: d797b0487de76b820561076f7b2dd9232f7a3e9fd71e28a298ed634d0ff13044

Contents?: true

Size: 854 Bytes

Versions: 4

Compression:

Stored size: 854 Bytes

Contents

module OpenXml
  module DrawingML
    module Properties
      class FlatText < OpenXml::Properties::ComplexProperty
        namespace :a
        tag :flatTx

        attribute :z, expects: :coordinate

        def initialize(value)
          super()
          @value = value
        end

        def render?
          value || super
        end

      private

        attr_reader :value

        def coordinate(value)
          message = "Invalid coordinate: should either be an integer (in EMUs) or include a unit"
          raise ArgumentError, message unless integer?(value) || universal_measure?(value)
        end

        def universal_measure?(value)
          value.is_a?(String) && value =~ OpenXml::DrawingML::ST_UniversalMeasure
        end

        def integer?(value)
          value.is_a?(Integer)
        end

      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
openxml-drawingml-0.3.1 lib/openxml/drawingml/properties/flat_text.rb
openxml-drawingml-0.3.0 lib/openxml/drawingml/properties/flat_text.rb
openxml-drawingml-0.2.1 lib/openxml/drawingml/properties/flat_text.rb
openxml-drawingml-0.2.0 lib/openxml/drawingml/properties/flat_text.rb