Files
wanderer/lib/wanderer_app/helpers/config.ex
Dmitry Popov 4136aaad76 Initial commit
2024-09-18 01:55:30 +04:00

27 lines
663 B
Elixir

defmodule WandererApp.ConfigHelpers do
def get_var_from_path_or_env(config_dir, var_name, default \\ nil) do
var_path = Path.join(config_dir, var_name)
if File.exists?(var_path) do
File.read!(var_path) |> String.trim()
else
System.get_env(var_name, default)
end
end
def get_int_from_path_or_env(config_dir, var_name, default \\ nil) do
var = get_var_from_path_or_env(config_dir, var_name)
case var do
nil ->
default
var ->
case Integer.parse(var) do
{int, ""} -> int
_ -> raise "Config variable #{var_name} must be an integer. Got #{var}"
end
end
end
end