Current section
Files
Jump to
Current section
Files
lib/registry.ex
defmodule ViaUtils.Registry do
require Logger
def start_link() do
start_link([])
end
def start_link(_) do
Logger.debug("Start ViaUtils.Registry")
ViaUtils.Process.start_link_redundant(Registry, Registry, [keys: :unique, name: __MODULE__])
end
def via_tuple(process_module, process_name) do
key = get_key_for_module_and_name(process_module, process_name)
{:via, Registry, {__MODULE__, key}}
end
def get_key_for_module_and_name(process_module, process_name) do
case process_name do
nil -> {process_module, process_module}
_valid_name -> {process_module, process_name}
end
end
def child_spec(_) do
Supervisor.child_spec(
Registry,
id: __MODULE__,
start: {__MODULE__, :start_link, []}
)
end
end