Update clear_config macro
This commit is contained in:
parent
6f60ac9f41
commit
97b5701449
|
@ -127,10 +127,7 @@ test "doesn't do anything if rum disabled" do
|
||||||
:ok
|
:ok
|
||||||
end
|
end
|
||||||
|
|
||||||
setup do
|
setup do: clear_config([:i_am_aware_this_may_cause_data_loss, :disable_migration_check])
|
||||||
Pleroma.Config.get(:i_am_aware_this_may_cause_data_loss, 42) |> IO.inspect()
|
|
||||||
clear_config([:i_am_aware_this_may_cause_data_loss, :disable_migration_check])
|
|
||||||
end
|
|
||||||
|
|
||||||
test "raises if it detects unapplied migrations" do
|
test "raises if it detects unapplied migrations" do
|
||||||
assert_raise Pleroma.ApplicationRequirements.VerifyError,
|
assert_raise Pleroma.ApplicationRequirements.VerifyError,
|
||||||
|
|
|
@ -17,16 +17,16 @@ defmacro clear_config(config_path) do
|
||||||
|
|
||||||
defmacro clear_config(config_path, do: yield) do
|
defmacro clear_config(config_path, do: yield) do
|
||||||
quote do
|
quote do
|
||||||
initial_setting = Config.get(unquote(config_path), :__clear_config_absent__)
|
initial_setting = Config.fetch(unquote(config_path))
|
||||||
unquote(yield)
|
unquote(yield)
|
||||||
|
|
||||||
on_exit(fn ->
|
on_exit(fn ->
|
||||||
case initial_setting do
|
case initial_setting do
|
||||||
:__clear_config_absent__ ->
|
:error ->
|
||||||
Config.delete(unquote(config_path))
|
Config.delete(unquote(config_path))
|
||||||
|
|
||||||
_ ->
|
{:ok, value} ->
|
||||||
Config.put(unquote(config_path), initial_setting)
|
Config.put(unquote(config_path), value)
|
||||||
end
|
end
|
||||||
end)
|
end)
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue