diff options
author | ThibG <thib@sitedethib.com> | 2020-06-04 19:03:31 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-06-04 19:03:31 +0200 |
commit | aed3a436a2dbef40096ec8596cec08e185efe936 (patch) | |
tree | 11830cfb126e6c10c94ab8990943182deb053cc5 /app/serializers/activitypub | |
parent | f669b8bcceb5043e468b3319c0bb7e834e3892d4 (diff) |
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
Diffstat (limited to 'app/serializers/activitypub')
-rw-r--r-- | app/serializers/activitypub/collection_serializer.rb | 11 |
1 files changed, 11 insertions, 0 deletions
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 |