Sha256: 507dd22a75e815e3669de513bb123f48cf756c7b50caac12e3f28b507604e5c1

Contents?: true

Size: 769 Bytes

Versions: 4

Compression:

Stored size: 769 Bytes

Contents

module OpenXml
  module DrawingML
    module Properties
      class TabStop < OpenXml::Properties::ComplexProperty
        namespace :a
        tag :tab

        attribute :alignment, displays_as: :algn, one_of: %i{ ctr dec l r }
        attribute :position, displays_as: :pos, expects: :coordinate

      private

        def coordinate(value)
          message = "Invalid coordinate: Must be an integer or include a unit measure"
          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/tab_stop.rb
openxml-drawingml-0.3.0 lib/openxml/drawingml/properties/tab_stop.rb
openxml-drawingml-0.2.1 lib/openxml/drawingml/properties/tab_stop.rb
openxml-drawingml-0.2.0 lib/openxml/drawingml/properties/tab_stop.rb