Refactor code to comply with credo suggestions
[akkoma] / lib / pleroma / web / web.ex
index d03db22313df1bf78d6bd3f0ac81b39d60081dbd..19b1ff848590b3a6924d1cce9340d64d8141cd93 100644 (file)
@@ -20,8 +20,7 @@ defmodule Pleroma.Web do
     quote do
       use Phoenix.Controller, namespace: Pleroma.Web
       import Plug.Conn
-      import Pleroma.Web.Router.Helpers
-      import Pleroma.Web.Gettext
+      import Pleroma.Web.{Gettext, Router.Helpers}
     end
   end
 
@@ -33,9 +32,7 @@ defmodule Pleroma.Web do
       # Import convenience functions from controllers
       import Phoenix.Controller, only: [get_csrf_token: 0, get_flash: 2, view_module: 1]
 
-      import Pleroma.Web.Router.Helpers
-      import Pleroma.Web.ErrorHelpers
-      import Pleroma.Web.Gettext
+      import Pleroma.Web.{ErrorHelpers, Gettext, Router.Helpers}
     end
   end
 
@@ -61,16 +58,22 @@ defmodule Pleroma.Web do
     apply(__MODULE__, which, [])
   end
 
+  def host do
+    settings = Application.get_env(:pleroma, Pleroma.Web.Endpoint)
+    settings
+    |> Keyword.fetch!(:url)
+    |> Keyword.fetch!(:host)
+  end
+
   def base_url do
     settings = Application.get_env(:pleroma, Pleroma.Web.Endpoint)
-    host =
-      settings
-      |> Keyword.fetch!(:url)
-      |> Keyword.fetch!(:host)
+
+    host = host()
 
     protocol = settings |> Keyword.fetch!(:protocol)
 
-    port_fragment = with {:ok, protocol_info} <- settings |> Keyword.fetch(String.to_atom(protocol)),
+    port_fragment = with {:ok, protocol_info} <- settings
+                         |> Keyword.fetch(String.to_atom(protocol)),
                          {:ok, port} <- protocol_info |> Keyword.fetch(:port)
     do
       ":#{port}"