lib/diesel/generator.ex
defmodule Diesel.Generator do
@moduledoc """
Generators produce actual Elixir code from DSLs.
Given a definition, a generator returns one or multiple quoted expressions.
The following info are passed in the keyword list of options:
- `:otp_app`
- `:caller_module`
"""
@callback generate(definition :: term(), opts :: Keyword.t()) :: Macro.t() | [Macro.t()]
end