Packages
io_ansi_table
1.0.21
1.0.40
1.0.39
1.0.38
1.0.37
1.0.36
1.0.34
1.0.33
1.0.32
1.0.31
1.0.30
1.0.29
1.0.28
1.0.27
1.0.26
1.0.25
1.0.24
1.0.23
1.0.22
1.0.21
1.0.20
1.0.19
1.0.18
1.0.17
1.0.16
1.0.15
1.0.14
1.0.13
1.0.12
1.0.11
1.0.10
1.0.9
1.0.8
1.0.7
1.0.6
1.0.5
1.0.4
1.0.3
1.0.2
1.0.1
1.0.0
0.4.32
0.4.31
0.4.30
0.4.29
0.4.28
0.4.27
0.4.26
0.4.25
0.4.24
0.4.23
0.4.22
0.4.21
0.4.20
0.4.19
0.4.18
0.4.17
0.4.16
0.4.15
0.4.14
0.4.13
0.4.12
0.4.11
0.4.10
0.4.9
0.4.8
0.4.7
0.4.6
0.4.5
0.4.4
0.4.3
0.4.2
0.4.1
0.4.0
0.3.29
0.3.28
0.3.27
0.3.26
0.3.25
0.3.24
0.3.23
0.3.22
0.3.21
0.3.20
0.3.19
0.3.18
0.3.17
0.3.16
0.3.15
0.3.14
0.3.13
0.3.12
0.3.11
0.3.10
0.3.9
0.3.8
0.3.7
0.3.6
0.3.5
0.3.4
0.3.3
0.3.2
0.3.1
0.3.0
0.2.5
0.2.4
0.2.3
0.2.2
0.2.1
0.2.0
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
Writes data to "stdio" in a table with borders and colors. Can choose a table style to change the look of the table.
Current section
Files
Jump to
Current section
Files
lib/io/ansi/table/spec_recovery.ex
defmodule IO.ANSI.Table.SpecRecovery do
@moduledoc """
Makes processes under the spec supervisor fault-tolerant. If any crashes (or
is killed), it is immediately restarted and the system remains undisturbed.
"""
use GenServer
use PersistConfig
alias __MODULE__
alias IO.ANSI.Table.{DynSpecSup, SpecServer}
@ets get_env(:ets_name)
@spec start_link(term) :: GenServer.on_start()
def start_link(:ok = _init_arg),
do: GenServer.start_link(SpecRecovery, :ok, name: SpecRecovery)
## Private functions
@spec restart_servers :: :ok
defp restart_servers do
@ets
|> :ets.match_object({{SpecServer, :_}, :_})
|> Enum.each(fn {{SpecServer, _spec_name}, spec} ->
# Child may already be started...
DynamicSupervisor.start_child(DynSpecSup, {SpecServer, spec})
end)
end
## Callbacks
@spec init(term) :: {:ok, term}
def init(:ok = _init_arg), do: {:ok, restart_servers()}
end