fedibird-fe/app/serializers/activitypub/add_serializer.rb
2023-02-06 16:28:36 +09:00

43 lines
795 B
Ruby

# frozen_string_literal: true
class ActivityPub::AddSerializer < ActivityPub::Serializer
class UriSerializer < ActiveModel::Serializer
include RoutingHelper
def serializable_hash(*_args)
ActivityPub::TagManager.instance.uri_for(object)
end
end
def self.serializer_for(model, options)
case model.class.name
when 'Status'
UriSerializer
when 'FeaturedTag'
ActivityPub::HashtagSerializer
else
super
end
end
include RoutingHelper
attributes :type, :actor, :target
has_one :proper_object, key: :object
def type
'Add'
end
def actor
ActivityPub::TagManager.instance.uri_for(object.account)
end
def proper_object
object
end
def target
account_collection_url(object.account, :featured)
end
end