|
|
@@ -0,0 +1,24 @@
|
|
|
+defmodule Toy.Features do
|
|
|
+ use DynamicSupervisor
|
|
|
+ require Logger
|
|
|
+
|
|
|
+ def start_link(init_arg) do
|
|
|
+ DynamicSupervisor.start_link(__MODULE__, init_arg, name: __MODULE__)
|
|
|
+ end
|
|
|
+
|
|
|
+ def start_repo() do
|
|
|
+ case DynamicSupervisor.start_child(__MODULE__, Toy.Repo) do
|
|
|
+ ok = {:ok, _} ->
|
|
|
+ ok
|
|
|
+
|
|
|
+ e = {:error, reason} ->
|
|
|
+ Logger.warning("Could not start Toy.Repo because : #{inspect(reason)}")
|
|
|
+ e
|
|
|
+ end
|
|
|
+ end
|
|
|
+
|
|
|
+ @impl true
|
|
|
+ def init(_init_arg) do
|
|
|
+ DynamicSupervisor.init(strategy: :one_for_one)
|
|
|
+ end
|
|
|
+end
|