Ejabberd.Config.EjabberdModule (ejabberd v21.4.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.

Link to this section 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.

Link to this section Types

Specs

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

Link to this section Functions

Link to this function

fetch_git_repos(modules)

Specs

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}