Pleroma.Web.get_api_routes/0 --> Pleroma.Web.Router.get_api_routes/0
authorAlex Gleason <alex@alexgleason.me>
Fri, 21 May 2021 19:47:11 +0000 (14:47 -0500)
committerAlex Gleason <alex@alexgleason.me>
Fri, 28 May 2021 18:51:01 +0000 (13:51 -0500)
Reduce recompilation time by breaking compile-time cycles

lib/pleroma/web.ex
lib/pleroma/web/plugs/frontend_static.ex
lib/pleroma/web/router.ex
test/pleroma/web/plugs/frontend_static_plug_test.exs

index 8630f244b8505dc5bba489fa88f72061f1b65396..f1f9d6229683c354e49aa2ea8e3148d79b9df492 100644 (file)
@@ -233,16 +233,4 @@ defmodule Pleroma.Web do
   def base_url do
     Pleroma.Web.Endpoint.url()
   end
-
-  # TODO: Change to Phoenix.Router.routes/1 for Phoenix 1.6.0+
-  def get_api_routes do
-    Pleroma.Web.Router.__routes__()
-    |> Enum.reject(fn r -> r.plug == Pleroma.Web.Fallback.RedirectController end)
-    |> Enum.map(fn r ->
-      r.path
-      |> String.split("/", trim: true)
-      |> List.first()
-    end)
-    |> Enum.uniq()
-  end
 end
index eb385e94dfc97020acd05ba0b3d988fa9e1007a9..e7c943b41375765562c8d25b4dee7af0518fe995 100644 (file)
@@ -10,7 +10,7 @@ defmodule Pleroma.Web.Plugs.FrontendStatic do
   """
   @behaviour Plug
 
-  @api_routes Pleroma.Web.get_api_routes()
+  @api_routes Pleroma.Web.Router.get_api_routes()
 
   def file_path(path, frontend_type \\ :primary) do
     if configuration = Pleroma.Config.get([:frontends, frontend_type]) do
index 72ad14f052a39e56f10e8262e07406f52620f97b..3550088bb34cde2db8f0dc364699e17eb5b91a8f 100644 (file)
@@ -821,4 +821,16 @@ defmodule Pleroma.Web.Router do
 
     options("/*path", RedirectController, :empty)
   end
+
+  # TODO: Change to Phoenix.Router.routes/1 for Phoenix 1.6.0+
+  def get_api_routes do
+    __MODULE__.__routes__()
+    |> Enum.reject(fn r -> r.plug == Pleroma.Web.Fallback.RedirectController end)
+    |> Enum.map(fn r ->
+      r.path
+      |> String.split("/", trim: true)
+      |> List.first()
+    end)
+    |> Enum.uniq()
+  end
 end
index 100b83d6a30a69e759772330a59e6fe4af1ac2bd..4152cdefe90ebd572254a5954dc98aeff768f33e 100644 (file)
@@ -103,6 +103,6 @@ defmodule Pleroma.Web.Plugs.FrontendStaticPlugTest do
       "check_password"
     ]
 
-    assert expected_routes == Pleroma.Web.get_api_routes()
+    assert expected_routes == Pleroma.Web.Router.get_api_routes()
   end
 end