Всем привет. Есть вопрос.
Вот кусочек кода, хочу понять, каким образом мне реализовать данный кейс, а именно переопределить функцию request/1
defmodule Common do
@callback request(term) :: term
defmacro
using(_) do
quote do
@behaviour Common
def get_stat(from, to, opts), do:
MODULE.get_stat(from, to, opts)
@impl Common
def request(_opts), do: %{}
defoverridable request: 1
end
end
def get_stat(from, to, opts), do: request(%{from: from, to: to} |> Map.merge(opts))
end
defmodule A do
use Common
def request(_opts), do: :error
end
defmodule B do
use Common
def request(_opts), do: :ok
end