Current section
Files
Jump to
Current section
Files
lib/std_json_io/reloader.ex
defmodule StdJsonIo.Reloader do
use GenServer
def start_link(mod, files) do
GenServer.start_link(__MODULE__, [mod, files], name: __MODULE__)
end
def init([mod, files]) do
:fs.subscribe()
{:ok, %{files: files, mod: mod}}
end
def handle_info({_, {:fs, :file_event}, {path, _}}, %{files: files, mod: mod} = state) do
if Enum.member?(files, path |> to_string) do
mod.restart_io_workers!
end
{:noreply, state}
end
def handle_info(_msg, state) do
{:noreply, state}
end
end