module BSON::Hash

def serialize_key_value_pairs(buffer)

Raises:
  • (Error::UnserializableClass) - if a value cannot be serialized

Parameters:
  • buffer (ByteBuf) -- The buffer to received the serialized
def serialize_key_value_pairs(buffer)
  each do |field, value|
    unless value.respond_to?(:bson_type)
      raise Error::UnserializableClass,
            "Hash value for key '#{field}' does not define its BSON serialized type: #{value}"
    end
    buffer.put_byte(value.bson_type)
    key = field.to_bson_key
    serialize_key(buffer, key)
    value.to_bson(buffer)
  end
end