about summary refs log tree commit diff
path: root/app/serializers/activitypub/hashtag_serializer.rb
diff options
context:
space:
mode:
authorEugen Rochko <eugen@zeonfederated.com>2020-09-02 02:11:12 +0200
committerGitHub <noreply@github.com>2020-09-02 02:11:12 +0200
commit17340365bbf057314d3cb19ec20c5d74b52c6395 (patch)
treec4169b4d30e4b361fa4806693eb4e39d3c4c9ec4 /app/serializers/activitypub/hashtag_serializer.rb
parentabc91e5fa6a0c9d621e798ae3e2de7377696dfc0 (diff)
Add featured hashtags as an ActivityPub collection (#11595)
Diffstat (limited to 'app/serializers/activitypub/hashtag_serializer.rb')
-rw-r--r--app/serializers/activitypub/hashtag_serializer.rb23
1 files changed, 23 insertions, 0 deletions
diff --git a/app/serializers/activitypub/hashtag_serializer.rb b/app/serializers/activitypub/hashtag_serializer.rb
new file mode 100644
index 000000000..1a56e4dfe
--- /dev/null
+++ b/app/serializers/activitypub/hashtag_serializer.rb
@@ -0,0 +1,23 @@
+# frozen_string_literal: true
+
+class ActivityPub::HashtagSerializer < ActivityPub::Serializer
+  include RoutingHelper
+
+  attributes :type, :href, :name
+
+  def type
+    'Hashtag'
+  end
+
+  def name
+    "##{object.name}"
+  end
+
+  def href
+    if object.class.name == 'FeaturedTag'
+      short_account_tag_url(object.account, object.tag)
+    else
+      tag_url(object)
+    end
+  end
+end