diff options
author | Alexander Strizhakov <alex.strizhakov@gmail.com> | 2020-01-21 17:49:22 +0300 |
---|---|---|
committer | Alexander Strizhakov <alex.strizhakov@gmail.com> | 2020-01-21 18:42:00 +0300 |
commit | f01ab6cd29aaae39fef6a95ec8490223fb692499 (patch) | |
tree | f398cb1acaba3289e6d555c53b14a4a1407ffc6a /lib/pleroma/config/transfer_task.ex | |
parent | 503d966e9f7d4c41a1bfbd215b375443a858564a (diff) | |
download | pleroma-f01ab6cd29aaae39fef6a95ec8490223fb692499.tar.gz |
some refactor and tests
Diffstat (limited to 'lib/pleroma/config/transfer_task.ex')
-rw-r--r-- | lib/pleroma/config/transfer_task.ex | 49 |
1 files changed, 25 insertions, 24 deletions
diff --git a/lib/pleroma/config/transfer_task.ex b/lib/pleroma/config/transfer_task.ex index 9b571d5d9..00c8790f8 100644 --- a/lib/pleroma/config/transfer_task.ex +++ b/lib/pleroma/config/transfer_task.ex @@ -37,31 +37,29 @@ defmodule Pleroma.Config.TransferTask do group = ConfigDB.from_string(setting.group) value = ConfigDB.from_binary(setting.value) - if group != :phoenix and key != :serve_endpoints do - default = Pleroma.Config.Holder.config(group, key) + default = Pleroma.Config.Holder.config(group, key) - merged_value = - if can_be_merged?(default, value) do - ConfigDB.deep_merge(group, key, default, value) - else - value - end + merged_value = + if can_be_merged?(default, value) do + ConfigDB.merge_group(group, key, default, value) + else + value + end - :ok = Application.put_env(group, key, merged_value) + :ok = Application.put_env(group, key, merged_value) - if group != :logger do - group + if group != :logger do + group + else + # change logger configuration in runtime, without restart + if Keyword.keyword?(merged_value) and + key not in [:compile_time_application, :backends, :compile_time_purge_matching] do + Logger.configure_backend(key, merged_value) else - # change logger configuration in runtime, without restart - if Keyword.keyword?(merged_value) and - key not in [:compile_time_application, :backends, :compile_time_purge_matching] do - Logger.configure_backend(key, merged_value) - else - Logger.configure([{key, merged_value}]) - end - - nil + Logger.configure([{key, merged_value}]) end + + nil end rescue e -> @@ -80,13 +78,16 @@ defmodule Pleroma.Config.TransferTask do :ok <- Application.stop(app) do :ok = Application.start(app) else - nil -> Logger.warn("#{app} is not started.") - error -> Logger.warn(inspect(error)) + nil -> + Logger.warn("#{app} is not started.") + + error -> + error + |> inspect() + |> Logger.warn() end end - defp can_be_merged?(val1, val2) when is_map(val1) and is_map(val2), do: true - defp can_be_merged?(val1, val2) when is_list(val1) and is_list(val2) do Keyword.keyword?(val1) and Keyword.keyword?(val2) end |