logo

pleroma

My custom branche(s) on git.pleroma.social/pleroma/pleroma git clone https://hacktivis.me/git/pleroma.git
commit: c23b81e399d5be6fc30f4acb1d757d5eb291d8e1
parent b221d77a6da07c684bdbc63ddf4500e0d7ffeae8
Author: Alex Gleason <alex@alexgleason.me>
Date:   Fri, 21 May 2021 14:47:11 -0500

Pleroma.Web.get_api_routes/0 --> Pleroma.Web.Router.get_api_routes/0
Reduce recompilation time by breaking compile-time cycles

Diffstat:

Mlib/pleroma/web.ex12------------
Mlib/pleroma/web/plugs/frontend_static.ex2+-
Mlib/pleroma/web/router.ex12++++++++++++
Mtest/pleroma/web/plugs/frontend_static_plug_test.exs2+-
4 files changed, 14 insertions(+), 14 deletions(-)

diff --git a/lib/pleroma/web.ex b/lib/pleroma/web.ex @@ -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 diff --git a/lib/pleroma/web/plugs/frontend_static.ex b/lib/pleroma/web/plugs/frontend_static.ex @@ -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 diff --git a/lib/pleroma/web/router.ex b/lib/pleroma/web/router.ex @@ -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 diff --git a/test/pleroma/web/plugs/frontend_static_plug_test.exs b/test/pleroma/web/plugs/frontend_static_plug_test.exs @@ -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