Skip to content

Commit 7d913fd

Browse files
sb8244sorentwo
authored andcommitted
Ensure the resolver moduler is loaded (#135)
Due to how the resolver is defined, it won't be automatically loaded locally by Elixir (unless eager module loading is turned on). So we need to ensure that the resolver is loaded before checking if the function is exported. Fixes #134
1 parent 88dbad5 commit 7d913fd

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

lib/oban/web/resolver.ex

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -431,7 +431,12 @@ defmodule Oban.Web.Resolver do
431431

432432
@doc false
433433
def call_with_fallback(resolver, fun, args) when is_atom(fun) and is_list(args) do
434-
resolver = if function_exported?(resolver, fun, length(args)), do: resolver, else: __MODULE__
434+
resolver =
435+
if Code.ensure_loaded(resolver) and function_exported?(resolver, fun, length(args)) do
436+
resolver
437+
else
438+
__MODULE__
439+
end
435440

436441
apply(resolver, fun, args)
437442
end

0 commit comments

Comments
 (0)