Ejabberd.Config.EjabberdModule (ejabberd v23.10.0)

Module representing a module block in the configuration file. It offers functions for validation and for starting the modules.

Warning: The name is EjabberdModule to not collide with the already existing Elixir.Module.

Summary

Functions

Given a list of modules, it takes only the ones with a git attribute and tries to fetch the repo, then, it install them through :ext_mod.install/1

Given a list of modules / single module it runs different validators on them.

Types

@type t() :: %{module: atom(), attrs: [Attr.t()]}

Functions

Link to this function

fetch_git_repos(modules)

@spec fetch_git_repos([t()]) :: none()

Given a list of modules, it takes only the ones with a git attribute and tries to fetch the repo, then, it install them through :ext_mod.install/1

Link to this function

validate(modules)

Given a list of modules / single module it runs different validators on them.

For each module, returns a {:ok, mod} or {:error, mod, errors}