Packages
finitomata
0.30.3
0.41.0
0.40.0
0.35.0
0.34.0
0.33.0
0.32.0
0.31.1
0.30.3
0.30.2
0.30.1
0.30.0
0.29.10
0.29.9
0.29.8
0.29.7
0.29.6
0.29.5
0.29.4
0.29.3
0.29.2
0.29.1
0.29.0
0.28.1
0.28.0
0.27.1
0.27.0
0.26.4
0.26.3
0.26.2
0.26.1
0.26.0
0.25.0
0.24.4
0.24.3
0.24.2
0.24.1
0.24.0
0.23.7
0.23.6
0.23.5
0.23.4
0.23.3
0.23.2
0.23.1
0.23.0
0.22.1
0.22.0
0.21.4
0.21.3
0.21.2
0.21.1
0.21.0
0.20.2
0.20.1
0.20.0
0.19.6
0.19.5
0.19.4
0.19.3
0.19.2
0.19.1
0.19.0
0.18.4
0.18.3
0.18.2
0.18.1
0.18.0
0.17.1
0.17.0
0.16.0
0.15.1
0.15.0
0.14.6
0.14.5
0.14.4
0.14.3
0.14.2
0.14.1
0.14.0
0.13.0
0.12.1
0.12.0
0.11.3
0.11.2
0.11.1
0.11.0
0.10.0
0.9.1
0.9.0
0.8.2
0.8.1
0.8.0
0.7.2
0.7.1
0.7.0
0.6.3
0.6.2
0.6.1
0.6.0
0.5.2
0.5.1
0.5.0
0.4.0
0.3.0
0.2.0
0.1.1
0.1.0
The FSM implementation generated from PlantUML textual representation.
Current section
Files
Jump to
Current section
Files
lib/finitomata/telemetria.ex
case {Application.compile_env(:finitomata, :telemetria, false), Code.ensure_compiled(Telemetria)} do
{false, _} ->
defmodule Telemetria.Wrapper do
@moduledoc false
defmacro __using__(_opts \\ []) do
quote do
Module.register_attribute(__MODULE__, :telemetria, accumulate: true, persist: true)
end
end
def telemetria?(_, _), do: false
end
{_, {:error, error}} ->
IO.warn("""
Telemetria has been requested, but it cannot be found (:#{error}).
Please add `{:telemetria, "~> ..."}` to the `deps` section of `mix.exs`.
""")
raise CompileError, description: "Unavailable module: `Telemetria`"
{settings, {:module, Telemetria}} ->
defmodule Telemetria.Wrapper do
@moduledoc false
defmacro __using__(opts \\ []) do
quote do
use Telemetria, unquote(opts)
end
end
@settings settings
case settings do
true ->
def telemetria?(_module, _function), do: @settings
list when is_list(list) ->
def telemetria?(_module, function), do: function in @settings
map when is_map(map) ->
def telemetria?(module, function) do
case Map.get(@settings, module, false) do
true -> true
list when is_list(list) -> function in list
_ -> false
end
end
end
end
end