Replace map with reduce to remove nils
This commit is contained in:
parent
ff01fd3c4f
commit
b44995866b
1 changed files with 8 additions and 6 deletions
|
@ -50,23 +50,25 @@ def build_tags(%{user: user}) do
|
|||
end
|
||||
end
|
||||
|
||||
defp build_attachments(activity) do
|
||||
Enum.reduce(activity.data["object"]["attachment"], [], fn attachment, acc ->
|
||||
defp build_attachments(%{data: %{"object" => %{"attachment" => attachments}}} = _activity) do
|
||||
Enum.reduce(attachments, [], fn attachment, acc ->
|
||||
rendered_tags =
|
||||
Enum.map(attachment["url"], fn url ->
|
||||
Enum.reduce(attachment["url"], [], fn url, acc ->
|
||||
media_type =
|
||||
Enum.find(["image", "audio", "video"], fn media_type ->
|
||||
String.starts_with?(url["mediaType"], media_type)
|
||||
end)
|
||||
|
||||
if media_type do
|
||||
{:meta, [property: "og:" <> media_type, content: attachment_url(url["href"])], []}
|
||||
[
|
||||
{:meta, [property: "og:" <> media_type, content: attachment_url(url["href"])], []}
|
||||
| acc
|
||||
]
|
||||
else
|
||||
nil
|
||||
acc
|
||||
end
|
||||
end)
|
||||
|
||||
Enum.reject(rendered_tags, &is_nil/1)
|
||||
acc ++ rendered_tags
|
||||
end)
|
||||
end
|
||||
|
|
Loading…
Reference in a new issue