Packages
guard
0.14.6
0.19.1
0.19.0
0.18.0
0.17.2
0.17.1
0.17.0
0.16.3
0.16.2
0.16.1
0.16.0
0.15.3
0.15.2
0.15.1
0.15.0
0.14.9
0.14.8
0.14.7
0.14.6
0.14.5
0.14.4
0.14.3
0.14.2
0.14.1
0.14.0
0.13.1
0.13.0
0.12.9
0.12.8
0.12.7
0.12.6
0.12.5
0.12.4
0.12.3
0.12.2
0.12.1
0.12.0
0.11.3
0.11.2
0.11.1
0.11.0
0.10.4
0.10.3
0.10.2
0.10.1
0.10.0
0.9.0
0.8.0
0.7.1
0.7.0
0.6.1
0.6.0
0.5.0
0.4.1
0.4.0
0.3.0
0.2.0
0.1.0
Useful package for dealing with user authentication and signup
Current section
Files
Jump to
Current section
Files
lib/guard/sms.ex
defmodule Guard.Sms do
@moduledoc false
alias Guard.User
def send_message(user, message, callback \\ nil)
def send_message(%User{} = user, message, callback) do
send_message([user.mobile || user.requested_mobile], message, callback)
end
def send_message(recipients, message, callback) do
Guard.Sms.Server.send_message(Guard.Sms.Server, recipients, message, callback)
end
def status() do
Guard.Sms.Server.status(Guard.Sms.Server)
end
def send_template(%User{} = user, type, meta, callback \\ nil) do
module = Map.get(sms_templates(), type)
locale = user.locale
message = apply(module, :text_body, [locale, user, meta])
send_message(user, message, callback)
end
def send_template_with_options(%User{} = user, type, meta, options, callback \\ nil) do
module = Map.get(sms_templates(), type)
locale = user.locale
message = apply(module, :text_body, [locale, user, meta])
options = options || %{}
send_message(user, Map.put(options, :message, message), callback)
end
def send_confirm_mobile(user, pin, callback \\ nil) do
module = Map.get(sms_templates(), :confirm)
locale = user.locale
message = apply(module, :text_body, [locale, user, %{pin: pin}])
send_message(user.requested_mobile, message, callback)
end
defp sms_templates do
# Look for templates email module if one has been defined for Guard.Sms
Application.get_env(:guard, Guard.Sms)[:templates] ||
Application.get_env(:guard, Guard.Mailer)[:templates]
end
end