behaves_like v0.3.0 BehavesLike View Source
Turns a module’s specs into callbacks.
Lets you state that a module behaves like another, without writing behaviour callbacks.
For example:
defmodule API do
use BehavesLike
@spec get(binary()) :: {:ok, any()} | {:error, any()}
def get(id) do
Backend.get(id)
end
end
defmodule Backend do
@behaviour API
@impl true
def get(id) do
database().get(id)
end
end