Skip to content

Commit 5385107

Browse files
craigplpil
authored andcommitted
Improvements to the GenServer and Supervisor snippets
1 parent 9a7f396 commit 5385107

File tree

1 file changed

+13
-8
lines changed

1 file changed

+13
-8
lines changed

snippets/elixir.snippets

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -265,22 +265,27 @@ snippet genserver basic genserver structure
265265
use GenServer
266266

267267
@doc false
268-
def start_link do
269-
GenServer.start_link(__MODULE__, ${1:Map.new})
268+
def start_link(init_args) do
269+
GenServer.start_link(__MODULE__, init_args, name: __MODULE__)
270270
end
271271

272272
@impl true
273-
def init(state) do
274-
{:ok, state}
273+
def init(_init_args) do
274+
{:ok, []}
275275
end
276-
snippet genserver: basic genserver structure
277-
use GenServer
276+
snippet super basic supervisor structure
277+
use Supervisor
278278

279279
@doc false
280-
def start_link, do: GenServer.start_link(__MODULE__, ${1:Map.new})
280+
def start_link(init_args) do
281+
Supervisor.start_link(__MODULE__, init_args, name: __MODULE__)
282+
end
281283

282284
@impl true
283-
def init(state), do: {:ok, state}
285+
def init(_init_args) do
286+
children = [${1}]
287+
Supervisor.init(children, strategy: :one_for_one)
288+
end
284289
snippet impl
285290
@impl true
286291
def ${1:name} do

0 commit comments

Comments
 (0)