You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
28 lines
385 B
28 lines
385 B
# frozen_string_literal: true
|
|
|
|
class ActivityPub::Parser::CustomEmojiParser
|
|
include JsonLdHelper
|
|
|
|
def initialize(json)
|
|
@json = json
|
|
end
|
|
|
|
def uri
|
|
@json['id']
|
|
end
|
|
|
|
def shortcode
|
|
@json['name']&.delete(':')
|
|
end
|
|
|
|
def image_remote_url
|
|
@json.dig('icon', 'url')
|
|
end
|
|
|
|
def updated_at
|
|
@json['updated']&.to_datetime
|
|
rescue ArgumentError
|
|
nil
|
|
end
|
|
end
|