nas/app/lib/activitypub/parser/custom_emoji_parser.rb
2025-01-23 18:50:38 +09:00

39 lines
656 B
Ruby

# 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 aliases
as_array_ex(@json['keywords'])
end
def image_remote_url
@json.dig('icon', 'url')
end
def updated_at
@json['updated']&.to_datetime
rescue ArgumentError
nil
end
def is_sensitive # rubocop:disable Naming/PredicateName
@json['isSensitive'].presence || false
end
def license
@json.dig('_misskey_license', 'freeText') || @json['license'] || @json['licence']
end
end