ejabberd v17.01.0 Ejabberd.Config.Attr

Module used to work with the attributes parsed from an elixir block (do…end).

Contains functions for extracting attrs from a block and validation.

Summary

Functions

Takes a block with annotations and extracts the list of attributes

Returns the default value for an attribute, given its name

Returns the type of an attribute, given its name

Takes an attribute or a list of attrs and validate them

Types

attr()
attr() :: {atom, any}

Functions

extract_attrs_from_block_with_defaults(block)
extract_attrs_from_block_with_defaults(any) :: [attr]

Takes a block with annotations and extracts the list of attributes.

get_default_for_attr(attr_name)
get_default_for_attr(atom) :: any

Returns the default value for an attribute, given its name.

get_type_for_attr(attr_name)
get_type_for_attr(atom) :: atom

Returns the type of an attribute, given its name.

validate(attrs)
validate([attr]) :: [{:ok, attr}] | [{:error, attr, atom}]

Takes an attribute or a list of attrs and validate them.

Returns a {:ok, attr} or {:error, attr, cause} for each of the attributes.