aboutsummaryrefslogtreecommitdiff
path: root/lib/ejabberd/module.ex
diff options
context:
space:
mode:
authorgabrielgatu <gabriel.dny@gmail.com>2016-09-08 11:34:42 +0200
committerMickael Remond <mremond@process-one.net>2016-09-08 11:37:14 +0200
commit803270fc6b8ed3ba718f7e231b149caef70aa1ae (patch)
treecc4508758cbcec7a74568834888f3208d876a953 /lib/ejabberd/module.ex
parentSupport for publishing to hex.pm with latest Elixir mix (diff)
Support for Elixir configuration file #1208
Contribution for Google Summer of code 2016 by Gabriel Gatu
Diffstat (limited to 'lib/ejabberd/module.ex')
-rw-r--r--lib/ejabberd/module.ex19
1 files changed, 19 insertions, 0 deletions
diff --git a/lib/ejabberd/module.ex b/lib/ejabberd/module.ex
new file mode 100644
index 000000000..9fb3f040c
--- /dev/null
+++ b/lib/ejabberd/module.ex
@@ -0,0 +1,19 @@
+defmodule Ejabberd.Module do
+
+ defmacro __using__(opts) do
+ logger_enabled = Keyword.get(opts, :logger, true)
+
+ quote do
+ @behaviour :gen_mod
+ import Ejabberd.Module
+
+ unquote(if logger_enabled do
+ quote do: import Ejabberd.Logger
+ end)
+ end
+ end
+
+ # gen_mod callbacks
+ def depends(_host, _opts), do: []
+ def mod_opt_type(_), do: []
+end