lib/ably/modules/conversions.rb in ably-0.8.1 vs lib/ably/modules/conversions.rb in ably-0.8.2
- old
+ new
@@ -94,7 +94,22 @@
end
string_value.encode!(Encoding::UTF_8) if string_value
rescue Encoding::UndefinedConversionError, Encoding::InvalidByteSequenceError => e
raise ArgumentError, "#{field_name} could not be converted to UTF-8: #{e.message}"
end
+
+ # Ensures that the payload is a type supported by all Ably client libraries.
+ # Ably guarantees interoperability between client libraries and subsequently
+ # client libraries must reject unsupported types
+ #
+ # @return <void>
+ #
+ def ensure_supported_payload(payload)
+ return if payload.kind_of?(String) ||
+ payload.kind_of?(Hash) ||
+ payload.kind_of?(Array) ||
+ payload.nil?
+
+ raise Ably::Exceptions::UnsupportedDataTypeError.new('Invalid data payload', 400, 40011)
+ end
end
end