lib/patch/case.ex
defmodule Patch.Case do
defmacro __using__(_) do
quote do
setup do
debug = Application.fetch_env(:patch, :debug)
start_supervised!(Patch.Supervisor)
on_exit(fn ->
Patch.Mock.Code.Freezer.empty()
case debug do
{:ok, value} ->
Application.put_env(:patch, :debug, value)
:error ->
Application.delete_env(:patch, :debug)
end
end)
:ok
end
end
end
end