X-Git-Url: http://git.squeep.com/?a=blobdiff_plain;f=lib%2Fpleroma%2Fconfig%2Fholder.ex;h=d4fe892af73c36becca3658d27149574d1384b8d;hb=d9e4b77f8be8249b428a7ef1448c9a2161dee88a;hp=0d9cfef66bea4cbe193fbcfff0703e4aabaeed60;hpb=7676ed82397d73a20aad1ae4b47690923ddfb162;p=akkoma diff --git a/lib/pleroma/config/holder.ex b/lib/pleroma/config/holder.ex index 0d9cfef66..d4fe892af 100644 --- a/lib/pleroma/config/holder.ex +++ b/lib/pleroma/config/holder.ex @@ -1,60 +1,16 @@ -defmodule Pleroma.Config.Loader do - # TODO: add support for releases - if Code.ensure_loaded?(Config.Reader) do - @spec load() :: map() - def load do - config = load("config/config.exs") - env_config = load("config/#{Mix.env()}.exs") - - Config.Reader.merge(config, env_config) - end - - @spec load(Path.t()) :: keyword() - def load(path), do: Config.Reader.read!(path) - else - # support for Elixir less than 1.9 - @spec load() :: map() - def load do - {config, _paths} = load("config/config.exs") - {env_config, _paths} = load("config/#{Mix.env()}.exs") - - Mix.Config.merge(config, env_config) - end - - @spec load(Path.t()) :: keyword() - def load(path) do - {config, _paths} = Mix.Config.eval!(path) - config - end - end -end +# Pleroma: A lightweight social networking server +# Copyright © 2017-2019 Pleroma Authors +# SPDX-License-Identifier: AGPL-3.0-only defmodule Pleroma.Config.Holder do - @config Pleroma.Config.Loader.load() + @config Pleroma.Config.Loader.load_and_merge() @spec config() :: keyword() - def config do - @config - |> Keyword.keys() - |> Enum.map(&filter(&1, config(&1))) - |> List.flatten() - end + def config, do: @config @spec config(atom()) :: any() def config(group), do: @config[group] @spec config(atom(), atom()) :: any() def config(group, key), do: @config[group][key] - - defp filter(group, settings) when group not in [:swarm] do - filtered = - Enum.reject(settings, fn {k, _v} -> - k in [Pleroma.Repo, Pleroma.Web.Endpoint, :env, :configurable_from_database] or - (group == :phoenix and k == :serve_endpoints) - end) - - {group, filtered} - end - - defp filter(_, _), do: [] end