HomingPigeon/lib/irc/irc_supervisor.ex

23 lines
497 B
Elixir
Raw Normal View History

2022-11-10 19:41:03 -05:00
defmodule HomingPigeon.IrcNetworkSupervisor do
@moduledoc """
Supervises all of the IRC networks.
"""
use Supervisor
2022-11-10 19:41:03 -05:00
alias HomingPigeon.IRC
def start_link(init_arg) do
Supervisor.start_link(__MODULE__, init_arg, name: __MODULE__)
end
@impl true
def init(_init_arg) do
networks =
2022-11-10 19:41:03 -05:00
Application.get_env(:homingpigeon, :networks)
|> Enum.map(&%{start: {IRC, :start_link, [&1]}, id: &1.network})
Supervisor.init(networks, strategy: :one_for_one)
end
end