From 8dd615a24b74f741d6c2669d3a303ed1cea3d306 Mon Sep 17 00:00:00 2001 From: Zach Daniel Date: Fri, 12 Jul 2024 19:40:16 -0400 Subject: [PATCH] fix: use any overridden value, including `nil` or `false` fixes #475 --- .../overrides/overridable.ex | 23 ++++++++----------- 1 file changed, 10 insertions(+), 13 deletions(-) diff --git a/lib/ash_authentication_phoenix/overrides/overridable.ex b/lib/ash_authentication_phoenix/overrides/overridable.ex index 40e9e2d..1ad43da 100644 --- a/lib/ash_authentication_phoenix/overrides/overridable.ex +++ b/lib/ash_authentication_phoenix/overrides/overridable.ex @@ -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, _ -> - 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} - end - end) - - override || unquote(default) + unquote(overrides) + |> 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, value} + end + end) end else IO.warn(