Create Object.hashtags/1 wrapper
[akkoma] / lib / pleroma / object.ex
index 4dd929cfd61c6a78a3578073098fa519194e36f6..00d561d1b9cd75a3497e0644afea58c65bfe0b0b 100644 (file)
@@ -255,9 +255,7 @@ defmodule Pleroma.Object do
     end
   end
 
-  defp poll_is_multiple?(%Object{data: %{"anyOf" => anyOf}}) do
-    !Enum.empty?(anyOf)
-  end
+  defp poll_is_multiple?(%Object{data: %{"anyOf" => [_ | _]}}), do: true
 
   defp poll_is_multiple?(_), do: false
 
@@ -346,4 +344,8 @@ defmodule Pleroma.Object do
 
   def self_replies(object, opts \\ []),
     do: replies(object, Keyword.put(opts, :self_only, true))
+
+  def hashtags(%{"hashtags" => hashtags}), do: hashtags || []
+  def hashtags(%{"tag" => tags}), do: Enum.filter(tags, &is_bitstring(&1))
+  def hashtags(_), do: []
 end