fix: use any overridden value, including nil or false

fixes #475
This commit is contained in:
Zach Daniel 2024-07-12 19:40:16 -04:00
parent 1114d929d2
commit 8dd615a24b

View file

@ -63,19 +63,16 @@ defmodule AshAuthentication.Phoenix.Overrides.Overridable do
if Map.has_key?(component_overrides, selector) do if Map.has_key?(component_overrides, selector) do
quote do quote do
override = unquote(overrides)
unquote(overrides) |> Enum.reduce_while(unquote(default), fn module, value ->
|> Enum.reduce_while(nil, fn module, _ -> module.overrides()
module.overrides() |> Map.fetch({unquote(component), unquote(selector)})
|> Map.fetch({unquote(component), unquote(selector)}) # credo:disable-for-next-line Credo.Check.Refactor.Nesting
# credo:disable-for-next-line Credo.Check.Refactor.Nesting |> case do
|> case do {:ok, value} -> {:halt, value}
{:ok, value} -> {:halt, value} :error -> {:cont, value}
:error -> {:cont, nil} end
end end)
end)
override || unquote(default)
end end
else else
IO.warn( IO.warn(