From aed3a436a2dbef40096ec8596cec08e185efe936 Mon Sep 17 00:00:00 2001 From: ThibG Date: Thu, 4 Jun 2020 19:03:31 +0200 Subject: Fix serialization of replies when some of them are URIs (#13957) * Fix serialization of replies when some of them are URIs Fixes #13956 * Add test --- app/serializers/activitypub/collection_serializer.rb | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'app/serializers') diff --git a/app/serializers/activitypub/collection_serializer.rb b/app/serializers/activitypub/collection_serializer.rb index 00c7b786a..ea7af5433 100644 --- a/app/serializers/activitypub/collection_serializer.rb +++ b/app/serializers/activitypub/collection_serializer.rb @@ -1,6 +1,15 @@ # frozen_string_literal: true class ActivityPub::CollectionSerializer < ActivityPub::Serializer + class StringSerializer < ActiveModel::Serializer + # Despite the name, it does not return a hash, but the same can be said of + # the ActiveModel::Serializer::CollectionSerializer class which handles + # arrays. + def serializable_hash(*_args) + object + end + end + def self.serializer_for(model, options) case model.class.name when 'Status' @@ -9,6 +18,8 @@ class ActivityPub::CollectionSerializer < ActivityPub::Serializer ActivityPub::DeviceSerializer when 'ActivityPub::CollectionPresenter' ActivityPub::CollectionSerializer + when 'String' + StringSerializer else super end -- cgit