lib/ex_waiter/polling/retries_exhausted.ex

defmodule ExWaiter.Polling.RetriesExhausted do
  defexception [:message]

  alias ExWaiter.Polling.Poller

  @impl true
  def exception(%Poller{} = poller) do
    msg = """
    Tried #{poller.num_attempts} times over #{poller.total_delay}ms, but condition was never met.

    #{inspect(poller, pretty: true)}
    """

    %__MODULE__{message: msg}
  end
end