defmodule MsihkaSendingEmailPlugin.SendingSMS do
# This module was just made for testing
alias MsihkaSendingEmailPlugin.TestEvent
use MishkaInstaller.Hook,
module: __MODULE__,
behaviour: TestEvent,
event: :on_test_event,
initial: []
def initial(args) do
Logger.warn("SendingSMS plugin was started")
event = %PluginState{name: "MsihkaSendingEmailPlugin.SendingSMS", event: Atom.to_string(@ref), priority: 1}
Hook.register(event: event)
{:ok, @ref, args}
end
def call(%TestEvent{} = state) do
new_state = Map.merge(state, %{ip: "128.0.1.1"})
{:reply, new_state}
end
def stop(%PluginState{} = registerd_info) do
case Hook.stop(module: registerd_info.name) do
{:ok, :stop, _msg} -> {:ok, @ref, registerd_info}
{:error, :stop, msg} -> {:error, @ref, msg}
end
end
def restart(%PluginState{} = registerd_info) do
case Hook.restart(module: registerd_info.name) do
{:ok, :restart, _msg} -> {:ok, @ref, registerd_info}
{:error, :restart, msg} -> {:error, @ref, msg}
end
end
end