From bd8177a7c0aa75860ba1a41a608a7f740ace7ba2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=BCdiger=20Diedrich?= Date: Mon, 25 Jul 2022 11:04:46 +0200 Subject: [PATCH] we don't need to pass self() on to client functions --- lib/something_erlang/grover.ex | 10 ++--- .../live/thread_live/show.ex | 41 ++++++++++++++++--- 2 files changed, 41 insertions(+), 10 deletions(-) diff --git a/lib/something_erlang/grover.ex b/lib/something_erlang/grover.ex index 982deb2..a348e1c 100644 --- a/lib/something_erlang/grover.ex +++ b/lib/something_erlang/grover.ex @@ -3,15 +3,15 @@ defmodule SomethingErlang.Grover do require Logger - def mount(lv_pid, user, thread_id) do + def mount(user, thread_id) do DynamicSupervisor.start_child( SomethingErlang.Supervisor.Grovers, - {__MODULE__, [lv_pid, user, thread_id]} + {__MODULE__, [self(), user, thread_id]} ) end - def get_thread!(lv_pid, thread_id, page_number) do - GenServer.call(via(lv_pid), {:show_thread, thread_id, page_number}) + def get_thread!(thread_id, page_number) do + GenServer.call(via(self()), {:show_thread, thread_id, page_number}) end def start_link([lv_pid, user, thread_id]) do @@ -47,9 +47,9 @@ defmodule SomethingErlang.Grover do Logger.debug "received :DOWN from: #{inspect(state.lv_pid)} reason: #{inspect(reason)}" case reason do {:shutdown, _} -> {:stop, :normal, state} + :killed -> {:stop, :normal, state} _ -> {:noreply, state} end - |> IO.inspect() end defp via(lv_pid), diff --git a/lib/something_erlang_web/live/thread_live/show.ex b/lib/something_erlang_web/live/thread_live/show.ex index 8d2320b..202e724 100644 --- a/lib/something_erlang_web/live/thread_live/show.ex +++ b/lib/something_erlang_web/live/thread_live/show.ex @@ -9,13 +9,13 @@ defmodule SomethingErlangWeb.ThreadLive.Show do @impl true def mount(%{"id" => id} = _params, _session, socket) do - Grover.mount(self(), socket.assigns.current_user, id) + Grover.mount(socket.assigns.current_user, id) {:ok, socket} end @impl true def handle_params(%{"id" => id, "page" => page}, _, socket) do - thread = Grover.get_thread!(self(), id, page |> String.to_integer()) + thread = Grover.get_thread!(id, page |> String.to_integer()) {:noreply, socket |> assign(:thread, thread)} @@ -40,12 +40,43 @@ defmodule SomethingErlangWeb.ThreadLive.Show do def user(assigns) do ~H""" -