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
quote do
override =
unquote(overrides)
|> Enum.reduce_while(nil, fn module, _ ->
|> Enum.reduce_while(unquote(default), fn module, value ->
module.overrides()
|> Map.fetch({unquote(component), unquote(selector)})
# credo:disable-for-next-line Credo.Check.Refactor.Nesting
|> case do
{:ok, value} -> {:halt, value}
:error -> {:cont, nil}
:error -> {:cont, value}
end
end)
override || unquote(default)
end
else
IO.warn(