summaryrefslogtreecommitdiff
path: root/lib/nola/plugins.ex
diff options
context:
space:
mode:
Diffstat (limited to 'lib/nola/plugins.ex')
-rw-r--r--lib/nola/plugins.ex44
1 files changed, 29 insertions, 15 deletions
diff --git a/lib/nola/plugins.ex b/lib/nola/plugins.ex
index ac94736..6bfcfec 100644
--- a/lib/nola/plugins.ex
+++ b/lib/nola/plugins.ex
@@ -31,7 +31,7 @@ defmodule Nola.Plugins do
Nola.Plugins.Untappd,
Nola.Plugins.UserMention,
Nola.Plugins.WolframAlpha,
- Nola.Plugins.YouTube,
+ Nola.Plugins.YouTube
]
defmodule Supervisor do
@@ -44,13 +44,23 @@ defmodule Nola.Plugins do
def start_child(module, opts \\ []) do
Logger.info("Starting #{module}")
- spec = %{id: {Nola.Plugins,module}, start: {Nola.Plugins, :start_link, [module, opts]}, name: module, restart: :transient}
+
+ spec = %{
+ id: {Nola.Plugins, module},
+ start: {Nola.Plugins, :start_link, [module, opts]},
+ name: module,
+ restart: :transient
+ }
+
case DynamicSupervisor.start_child(__MODULE__, spec) do
- {:ok, _} = res -> res
+ {:ok, _} = res ->
+ res
+
:ignore ->
Logger.warn("Ignored #{module}")
:ignore
- {:error,_} = res ->
+
+ {:error, _} = res ->
Logger.error("Could not start #{module}: #{inspect(res, pretty: true)}")
res
end
@@ -73,10 +83,14 @@ defmodule Nola.Plugins do
end
def enabled() do
- :dets.foldl(fn
- {name, true, _}, acc -> [name | acc]
- _, acc -> acc
- end, [], dets())
+ :dets.foldl(
+ fn
+ {name, true, _}, acc -> [name | acc]
+ _, acc -> acc
+ end,
+ [],
+ dets()
+ )
end
def start_all() do
@@ -107,10 +121,12 @@ defmodule Nola.Plugins do
@doc "Enables or disables a plugin"
def switch(name, value) when is_boolean(value) do
- last = case get(name) do
- {:ok, last} -> last
- _ -> nil
- end
+ last =
+ case get(name) do
+ {:ok, last} -> last
+ _ -> nil
+ end
+
:dets.insert(dets(), {name, value, last})
end
@@ -124,8 +140,7 @@ defmodule Nola.Plugins do
def start_link(module, options \\ []) do
with {:disabled, {_, true, last}} <- {:disabled, get(module)},
- {:throttled, false} <- {:throttled, false}
- do
+ {:throttled, false} <- {:throttled, false} do
module.start_link()
else
{error, _} ->
@@ -133,5 +148,4 @@ defmodule Nola.Plugins do
:ignore
end
end
-
end