Packages
guard
0.11.0
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/pusher.ex
defmodule Guard.Pusher do
alias Guard.User
def send_user_message(user, message, callback \\ nil) do
Guard.Pusher.Server.send_user_message(Guard.Pusher.Server, user, message, callback)
end
def status() do
Guard.Pusher.Server.status(Guard.Pusher.Server)
end
def send_user_notification(user, title, body, callback \\ nil) do
send_user_message(user, %{notification: %{body: body, title: title}}, callback)
end
def send_message(message, callback \\ nil) do
Guard.Pusher.Server.send_message(Guard.Pusher.Server, message, callback)
end
def send_template(%User{} = user, type, meta, callback \\ nil) do
module = Map.get(email_setup()[:templates], type)
locale = user.locale
title = apply(module, :subject, [locale, user, meta])
message = apply(module, :text_body, [locale, user, meta])
send_user_notification(user, title, message, callback)
end
# Templates are kept in the mailer module
defp email_setup do
Application.get_env(:guard, Guard.Mailer)
end
end