fedibird-fe/app/serializers/activitypub/emoji_serializer.rb

51 lines
826 B
Ruby
Raw Normal View History

# frozen_string_literal: true
class ActivityPub::EmojiSerializer < ActivityPub::Serializer
include RoutingHelper
context_extensions :emoji
attributes :id, :type, :name, :updated
2022-04-13 01:33:23 +00:00
has_one :icon
2022-04-13 01:33:23 +00:00
class RemoteImageSerializer < ActivityPub::ImageSerializer
def url
object.instance.image_remote_url
end
end
def self.serializer_for(model, options)
case model.class.name
when 'Paperclip::Attachment'
if model.instance.local?
ActivityPub::ImageSerializer
else
RemoteImageSerializer
end
2022-04-14 07:20:16 +00:00
else
super
2022-04-13 01:33:23 +00:00
end
end
def id
ActivityPub::TagManager.instance.uri_for(object)
end
def type
'Emoji'
end
def icon
object.image
end
def updated
object.updated_at.iso8601
end
def name
":#{object.shortcode}:"
end
end