From dfd2158557a2974a8e6e43db8829dd5b1b4c5ce5 Mon Sep 17 00:00:00 2001 From: Jordan Bracco Date: Wed, 13 May 2020 21:29:48 +0200 Subject: [PATCH] Pool: format & doc --- lib/gen_magic/pool.ex | 25 ++++++++++++++++--------- test/gen_magic/pool_test.exs | 3 +-- 2 files changed, 17 insertions(+), 11 deletions(-) diff --git a/lib/gen_magic/pool.ex b/lib/gen_magic/pool.ex index 2793f98..821f903 100644 --- a/lib/gen_magic/pool.ex +++ b/lib/gen_magic/pool.ex @@ -1,5 +1,6 @@ defmodule GenMagic.Pool do @behaviour NimblePool + @moduledoc "Pool of `GenMagic.Server`" def start_link(options, pool_size \\ nil) do pool_size = pool_size || System.schedulers_online() @@ -10,18 +11,25 @@ defmodule GenMagic.Pool do pool_timeout = Keyword.get(opts, :pool_timeout, 5000) timeout = Keyword.get(opts, :timeout, 5000) - NimblePool.checkout!(pool, :checkout, fn _, server -> - {GenMagic.Server.perform(server, path, timeout), server} - end, pool_timeout) + NimblePool.checkout!( + pool, + :checkout, + fn _, server -> + {GenMagic.Server.perform(server, path, timeout), server} + end, + pool_timeout + ) end @impl NimblePool def init_pool(options) do - {name, options} = case Keyword.pop(options, :name) do - {name, options} when is_atom(name) -> {name, options} - {nil, options} -> {__MODULE__, options} - {_, options} -> {nil, options} - end + {name, options} = + case Keyword.pop(options, :name) do + {name, options} when is_atom(name) -> {name, options} + {nil, options} -> {__MODULE__, options} + {_, options} -> {nil, options} + end + if name, do: Process.register(self(), name) {:ok, options} end @@ -46,5 +54,4 @@ defmodule GenMagic.Pool do def terminate_worker(_reason, _worker, state) do {:ok, state} end - end diff --git a/test/gen_magic/pool_test.exs b/test/gen_magic/pool_test.exs index 17c4a9d..b987186 100644 --- a/test/gen_magic/pool_test.exs +++ b/test/gen_magic/pool_test.exs @@ -2,7 +2,7 @@ defmodule GenMagic.PoollTest do use GenMagic.MagicCase test "pool" do - {:ok, _} = GenMagic.Pool.start_link([name: TestPool, pool_size: 2]) + {:ok, _} = GenMagic.Pool.start_link(name: TestPool, pool_size: 2) assert {:ok, _} = GenMagic.Pool.perform(TestPool, absolute_path("Makefile")) assert {:ok, _} = GenMagic.Pool.perform(TestPool, absolute_path("Makefile")) assert {:ok, _} = GenMagic.Pool.perform(TestPool, absolute_path("Makefile")) @@ -13,5 +13,4 @@ defmodule GenMagic.PoollTest do assert {:ok, _} = GenMagic.Pool.perform(TestPool, absolute_path("Makefile")) assert {:ok, _} = GenMagic.Pool.perform(TestPool, absolute_path("Makefile")) end - end