summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Gleason <alex@alexgleason.me>2021-05-22 14:32:49 -0500
committerAlex Gleason <alex@alexgleason.me>2021-06-01 15:53:54 -0500
commit9166ae1bcf8a8ec113bb21aab7effca5a14601ca (patch)
tree9a9298d1daa763e558ae86f8a51adcc4ddc29471
parenteb8c2de586937128777421bb8c3d2fca37ca331d (diff)
Pleroma.User.avatar_url/2 --> Pleroma.User.Media.avatar_url/2
Speeds up recompilation by reducing compile-time cycles
-rw-r--r--lib/pleroma/user.ex20
-rw-r--r--lib/pleroma/user/media.ex26
-rw-r--r--lib/pleroma/web/views/email_view.ex2
3 files changed, 29 insertions, 19 deletions
diff --git a/lib/pleroma/user.ex b/lib/pleroma/user.ex
index ed62da21d..3f690e97a 100644
--- a/lib/pleroma/user.ex
+++ b/lib/pleroma/user.ex
@@ -351,24 +351,8 @@ defmodule Pleroma.User do
def invisible?(%User{invisible: true}), do: true
def invisible?(_), do: false
- def avatar_url(user, options \\ []) do
- case user.avatar do
- %{"url" => [%{"href" => href} | _]} ->
- href
-
- _ ->
- unless options[:no_default] do
- Config.get([:assets, :default_user_avatar], "#{Config.url()}/images/avi.png")
- end
- end
- end
-
- def banner_url(user, options \\ []) do
- case user.banner do
- %{"url" => [%{"href" => href} | _]} -> href
- _ -> !options[:no_default] && "#{Config.url()}/images/banner.png"
- end
- end
+ defdelegate avatar_url(user, options \\ []), to: User.Media
+ defdelegate banner_url(user, options \\ []), to: User.Media
# Should probably be renamed or removed
def ap_id(%User{nickname: nickname}), do: "#{Config.url()}/users/#{nickname}"
diff --git a/lib/pleroma/user/media.ex b/lib/pleroma/user/media.ex
new file mode 100644
index 000000000..c81660bc6
--- /dev/null
+++ b/lib/pleroma/user/media.ex
@@ -0,0 +1,26 @@
+# Pleroma: A lightweight social networking server
+# Copyright © 2017-2021 Pleroma Authors <https://pleroma.social/>
+# SPDX-License-Identifier: AGPL-3.0-only
+
+defmodule Pleroma.User.Media do
+ alias Pleroma.Config
+
+ def avatar_url(user, options \\ []) do
+ case user.avatar do
+ %{"url" => [%{"href" => href} | _]} ->
+ href
+
+ _ ->
+ unless options[:no_default] do
+ Config.get([:assets, :default_user_avatar], "#{Config.url()}/images/avi.png")
+ end
+ end
+ end
+
+ def banner_url(user, options \\ []) do
+ case user.banner do
+ %{"url" => [%{"href" => href} | _]} -> href
+ _ -> !options[:no_default] && "#{Config.url()}/images/banner.png"
+ end
+ end
+end
diff --git a/lib/pleroma/web/views/email_view.ex b/lib/pleroma/web/views/email_view.ex
index 84c37e1b2..8f9f8efcc 100644
--- a/lib/pleroma/web/views/email_view.ex
+++ b/lib/pleroma/web/views/email_view.ex
@@ -8,7 +8,7 @@ defmodule Pleroma.Web.EmailView do
import Phoenix.HTML.Link
def avatar_url(user) do
- Pleroma.User.avatar_url(user)
+ Pleroma.User.Media.avatar_url(user)
end
def format_date(date) when is_binary(date) do