summaryrefslogtreecommitdiffstats
path: root/app/lib/activitypub/activity/announce.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/lib/activitypub/activity/announce.rb')
-rw-r--r--app/lib/activitypub/activity/announce.rb14
1 files changed, 11 insertions, 3 deletions
diff --git a/app/lib/activitypub/activity/announce.rb b/app/lib/activitypub/activity/announce.rb
index 9e108985a3e..349e8f77e71 100644
--- a/app/lib/activitypub/activity/announce.rb
+++ b/app/lib/activitypub/activity/announce.rb
@@ -34,12 +34,20 @@ class ActivityPub::Activity::Announce < ActivityPub::Activity
private
+ def audience_to
+ as_array(@json['to']).map { |x| value_or_id(x) }
+ end
+
+ def audience_cc
+ as_array(@json['cc']).map { |x| value_or_id(x) }
+ end
+
def visibility_from_audience
- if equals_or_includes?(@json['to'], ActivityPub::TagManager::COLLECTIONS[:public])
+ if audience_to.include?(ActivityPub::TagManager::COLLECTIONS[:public])
:public
- elsif equals_or_includes?(@json['cc'], ActivityPub::TagManager::COLLECTIONS[:public])
+ elsif audience_cc.include?(ActivityPub::TagManager::COLLECTIONS[:public])
:unlisted
- elsif equals_or_includes?(@json['to'], @account.followers_url)
+ elsif audience_to.include?(@account.followers_url)
:private
else
:direct