Packages
log_reset
0.1.32
0.1.70
0.1.69
0.1.68
0.1.67
0.1.66
0.1.65
0.1.64
0.1.63
0.1.62
0.1.61
0.1.60
0.1.59
0.1.58
0.1.57
0.1.56
0.1.55
0.1.54
0.1.53
0.1.52
0.1.51
0.1.50
0.1.49
0.1.48
0.1.47
0.1.46
0.1.45
0.1.44
0.1.43
0.1.42
0.1.41
0.1.40
0.1.39
0.1.38
0.1.37
0.1.36
0.1.35
0.1.34
0.1.33
0.1.32
0.1.31
0.1.30
0.1.29
0.1.28
0.1.27
0.1.26
0.1.25
0.1.24
0.1.23
0.1.22
0.1.21
0.1.20
0.1.19
0.1.18
0.1.17
0.1.16
0.1.15
0.1.14
0.1.13
0.1.12
0.1.11
0.1.10
0.1.9
0.1.8
0.1.7
0.1.6
0.1.5
0.1.4
0.1.3
0.1.2
0.1.1
0.1.0
Resets configured log files.
Current section
Files
Jump to
Current section
Files
lib/log/reset/config_paths/server.ex
defmodule Log.Reset.ConfigPaths.Server do
@moduledoc """
A server process that holds a map of configured log paths as its state.
"""
use GenServer
alias __MODULE__
alias Log.Reset.ConfigPaths
alias Log.Reset
@type from :: GenServer.from()
@type handle_call :: {:reply, reply :: term, state :: ConfigPaths.t()}
@type init :: {:ok, state :: ConfigPaths.t()}
@type on_start :: GenServer.on_start()
@type request :: atom | tuple
@doc """
Spawns a config paths server process registered under the module name.
"""
@spec start_link(Reset.levels()) :: on_start
def start_link(levels) do
GenServer.start_link(Server, levels, name: Server)
end
## Callbacks
@spec init(Reset.levels()) :: init
def init(levels) do
config_paths = ConfigPaths.new()
:ok = ConfigPaths.reset_logs(config_paths, levels)
{:ok, config_paths}
end
@spec handle_call(request, from, ConfigPaths.t()) :: handle_call
def handle_call(:log_paths, _from, config_paths) do
{:reply, ConfigPaths.log_paths(config_paths), config_paths}
end
def handle_call(:config_paths, _from, config_paths) do
{:reply, config_paths, config_paths}
end
def handle_call(:refresh, _from, _config_paths) do
config_paths = ConfigPaths.new()
{:reply, config_paths, config_paths}
end
def handle_call({:reset_logs, levels}, _from, config_paths) do
:ok = ConfigPaths.reset_logs(config_paths, levels)
{:reply, :ok, config_paths}
end
end