# File lib/codec/data.rb, line 774
    def uuid=(value)
      raise ::ArgumentError, "invalid uuid: #{value}" if value.nil?

      # if the uuid that was submitted was numeric value, then translated
      # it into a hex string, otherwise assume it was a string represtation
      # and attempt to decode it
      if value.is_a? Numeric
        value = "%032x" % value
      else
        raise ::ArgumentError, "invalid uuid: #{value}" if !valid_uuid?(value)

        value = (value[0, 8]  +
                 value[9, 4]  +
                 value[14, 4] +
                 value[19, 4] +
                 value[24, 12])
      end
      bytes = []
      value.scan(/(..)/) {|v| bytes << v[0].to_i(16)}
      check(Cproton.pn_data_put_uuid(@data, bytes))
    end