Packages
guard
0.15.2
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.ex
defmodule Guard do
@moduledoc false
require Logger
use Application
def start(_type, _args) do
import Supervisor.Spec
Logger.info("Waking up Guard")
{children, repo_started} =
if Application.get_env(:guard, Guard.Repo) do
# Start the Ecto repository
{[
supervisor(Guard.Repo, [])
], true}
else
{[], false}
end
pusher_conf = Application.get_env(:guard, Guard.Pusher)
children =
if pusher_conf != nil do
Logger.info("Adding Pusher supervisor")
[supervisor(Guard.Pusher.Server, [Guard.Pusher.Server, pusher_conf]) | children]
else
children
end
sms_conf = Application.get_env(:guard, Guard.Sms)
children =
if sms_conf != nil do
Logger.info("Adding SMS supervisor")
[supervisor(Guard.Sms.Server, [Guard.Sms.Server, sms_conf]) | children]
else
children
end
# See http://elixir-lang.org/docs/stable/elixir/Supervisor.html
# for other strategies and supported options
opts = [strategy: :one_for_one, name: Guard.Supervisor]
{ok, sup_pid} = Supervisor.start_link(children, opts)
if ok && repo_started do
Guard.Migrations.run(Guard.Repo)
end
{ok, sup_pid}
end
end