diff options
author | Alex Gleason <alex@alexgleason.me> | 2021-05-22 14:32:49 -0500 |
---|---|---|
committer | Alex Gleason <alex@alexgleason.me> | 2021-06-01 15:53:54 -0500 |
commit | 9166ae1bcf8a8ec113bb21aab7effca5a14601ca (patch) | |
tree | 9a9298d1daa763e558ae86f8a51adcc4ddc29471 | |
parent | eb8c2de586937128777421bb8c3d2fca37ca331d (diff) | |
download | pleroma-9166ae1bcf8a8ec113bb21aab7effca5a14601ca.tar.gz |
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.ex | 20 | ||||
-rw-r--r-- | lib/pleroma/user/media.ex | 26 | ||||
-rw-r--r-- | lib/pleroma/web/views/email_view.ex | 2 |
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 |