Ignore runtime deps in Pleroma.Config.Loader with Module.concat/1
authorAlex Gleason <alex@alexgleason.me>
Tue, 8 Jun 2021 21:07:51 +0000 (16:07 -0500)
committerAlex Gleason <alex@alexgleason.me>
Tue, 8 Jun 2021 21:07:51 +0000 (16:07 -0500)
Speeds up recompilation

lib/pleroma/config/loader.ex

index 9489f58c4f3018671df18616605bd60868c66e22..2a945999ed7730a067331f7661b1b63f6f841038 100644 (file)
@@ -3,21 +3,21 @@
 # SPDX-License-Identifier: AGPL-3.0-only
 
 defmodule Pleroma.Config.Loader do
-  defp reject_keys,
-    do: [
-      Pleroma.Repo,
-      Pleroma.Web.Endpoint,
-      :env,
-      :configurable_from_database,
-      :database,
-      :swarm
-    ]
-
-  defp reject_groups,
-    do: [
-      :postgrex,
-      :tesla
-    ]
+  # These modules are only being used as keys here (for equality check),
+  # so it's okay to use `Module.concat/1` to have the compiler ignore them.
+  @reject_keys [
+    Module.concat(["Pleroma.Repo"]),
+    Module.concat(["Pleroma.Web.Endpoint"]),
+    :env,
+    :configurable_from_database,
+    :database,
+    :swarm
+  ]
+
+  @reject_groups [
+    :postgrex,
+    :tesla
+  ]
 
   if Code.ensure_loaded?(Config.Reader) do
     @reader Config.Reader
@@ -54,7 +54,7 @@ defmodule Pleroma.Config.Loader do
   @spec filter_group(atom(), keyword()) :: keyword()
   def filter_group(group, configs) do
     Enum.reject(configs[group], fn {key, _v} ->
-      key in reject_keys() or group in reject_groups() or
+      key in @reject_keys or group in @reject_groups or
         (group == :phoenix and key == :serve_endpoints)
     end)
   end