Current section
Files
Jump to
Current section
Files
lib/api_doc.ex
defmodule APIDoc do
@moduledoc ~S"""
API documentation generator for Elixir.
"""
@doc false
defmacro __using__(opts \\ []) do
keys = Keyword.keys(__CALLER__.macros)
documenter =
cond do
Plug.Builder in keys -> APIDoc.PlugRouterDocumenter
Phoenix.Router in keys -> APIDoc.PhoenixRouterDocumenter
Phoenix.Controller in keys -> APIDoc.PhoenixControllerDocumenter
:default -> APIDoc.APIDocumenter
end
quote do
use unquote(documenter), unquote(opts)
end
end
end