diff --git a/lib/something_erlang/grover.ex b/lib/something_erlang/grover.ex index be8dc3b..1d05b38 100644 --- a/lib/something_erlang/grover.ex +++ b/lib/something_erlang/grover.ex @@ -4,10 +4,10 @@ defmodule SomethingErlang.Grover do alias SomethingErlang.AwfulApi require Logger - def mount(user, thread_id) do - DynamicSupervisor.start_child( + def mount(user) do + {:ok, _pid} = DynamicSupervisor.start_child( SomethingErlang.Supervisor.Grovers, - {__MODULE__, [self(), user, thread_id]} + {__MODULE__, [self(), user]} ) end @@ -15,24 +15,22 @@ defmodule SomethingErlang.Grover do GenServer.call(via(self()), {:show_thread, thread_id, page_number}) end - def start_link([lv_pid, user, thread_id]) do + def start_link([lv_pid, user]) do GenServer.start_link( __MODULE__, - [lv_pid, user, thread_id], + [lv_pid, user], name: via(lv_pid)) end @impl true - def init([pid, user, thread_id]) do + def init([pid, user]) do %{bbuserid: userid, bbpassword: userhash} = user initial_state = %{ lv_pid: pid, - thread_id: thread_id, - page_number: 1, user: %{id: userid, hash: userhash} } - Logger.debug "init #{userid} #{thread_id}" + Logger.debug "init #{userid} #{inspect(pid)}" Process.monitor(pid) {:ok, initial_state} end @@ -40,7 +38,7 @@ defmodule SomethingErlang.Grover do @impl true def handle_call({:show_thread, thread_id, page_number}, _from, state) do thread = AwfulApi.parsed_thread(thread_id, page_number, state.user) - {:reply, thread, %{state | page_number: page_number}} + {:reply, thread, state} end @impl true diff --git a/lib/something_erlang_web/live/thread_live/show.ex b/lib/something_erlang_web/live/thread_live/show.ex index 29e50e3..d9f8e65 100644 --- a/lib/something_erlang_web/live/thread_live/show.ex +++ b/lib/something_erlang_web/live/thread_live/show.ex @@ -7,8 +7,8 @@ defmodule SomethingErlangWeb.ThreadLive.Show do require Logger @impl true - def mount(%{"id" => id} = _params, _session, socket) do - Grover.mount(socket.assigns.current_user, id) + def mount(_params, _session, socket) do + Grover.mount(socket.assigns.current_user) {:ok, socket} end diff --git a/notebooks/something_erlang.livemd b/notebooks/something_erlang.livemd index f38d0d1..4e43d9d 100644 --- a/notebooks/something_erlang.livemd +++ b/notebooks/something_erlang.livemd @@ -27,7 +27,7 @@ DynamicSupervisor.count_children(SomethingErlang.Supervisor.Grovers) ``` ```elixir -SomethingErlang.Grover.mount(self(), 1, 123) +SomethingErlang.Grover.mount(%{bbuserid: 12345, bbpassword: "deadbeaf"}) ``` ## Client stuff