Skip to content
Snippets Groups Projects
Commit 0cb329f6 authored by puckipedia's avatar puckipedia Committed by Eugen Rochko
Browse files

Allow ActivityPub Note's tag and attachment to be single objects (#5534)

parent 0129f5ea
No related branches found
No related tags found
No related merge requests found
......@@ -9,6 +9,10 @@ module JsonLdHelper
value.is_a?(Array) ? value.first : value
end
def as_array(value)
value.is_a?(Array) ? value : [value]
end
def value_or_id(value)
value.is_a?(String) || value.nil? ? value : value['id']
end
......
......@@ -53,9 +53,9 @@ class ActivityPub::Activity::Create < ActivityPub::Activity
end
def process_tags(status)
return unless @object['tag'].is_a?(Array)
return if @object['tag'].nil?
@object['tag'].each do |tag|
as_array(@object['tag']).each do |tag|
case tag['type']
when 'Hashtag'
process_hashtag tag, status
......@@ -103,9 +103,9 @@ class ActivityPub::Activity::Create < ActivityPub::Activity
end
def process_attachments(status)
return unless @object['attachment'].is_a?(Array)
return if @object['attachment'].nil?
@object['attachment'].each do |attachment|
as_array(@object['attachment']).each do |attachment|
next if unsupported_media_type?(attachment['mediaType']) || attachment['url'].blank?
href = Addressable::URI.parse(attachment['url']).normalize.to_s
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment