mirror of
https://github.com/wanderer-industries/wanderer
synced 2025-12-13 11:15:51 +00:00
27 lines
663 B
Elixir
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
|