Sha256: 55b1db40f9bf5b3f09178facc3530197ed9b22c7f328f91dc5adba03c4d60682

Contents?: true

Size: 550 Bytes

Versions: 1

Compression:

Stored size: 550 Bytes

Contents

module Rocx
  module Properties
    class ValueProperty < BaseProperty
      attr_reader :value

      def initialize(value)
        @value = value
        raise ArgumentError, invalid_message unless valid?
      end

      def valid?
        ok_values.member? value
      end

      def invalid_message
        "Invalid value for #{name}; acceptable values are #{ok_values.join(", ")}"
      end

      def render?
        !value.nil?
      end

      def to_xml(xml)
        xml["w"].public_send(tag, "w:val" => value)
      end

    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
rocx-0.5.8 lib/rocx/properties/value_property.rb