Exsoda.Config (exsoda v4.0.32)

This module handles fetching values from the config with some additional niceties

This config module copied with <3 from: https://gist.github.com/bitwalker/a4f73b33aea43951fe19b242d06da7b9

Link to this section Summary

Functions

Fetches a value from the config, or from the environment if {:system, "VAR"} is provided. An optional default value can be provided if desired.

Same as get/3, but returns the result as an integer. If the value cannot be converted to an integer, the default is returned instead.

Link to this section Functions

Link to this function

get(app, key, default \\ nil)

Specs

get(atom(), atom(), term() | nil) :: term()

Fetches a value from the config, or from the environment if {:system, "VAR"} is provided. An optional default value can be provided if desired.

Example

iex> {test_var, expected_value} = System.get_env |> Enum.take(1) |> List.first
...> Application.put_env(:myapp, :test_var, {:system, test_var})
...> ^expected_value = Elixir.Exsoda.Config.get(:myapp, :test_var)
...> :ok
:ok
iex> Application.put_env(:myapp, :test_var2, 1)
...> 1 = Elixir.Exsoda.Config.get(:myapp, :test_var2)
1
iex> :default = Elixir.Exsoda.Config.get(:myapp, :missing_var, :default)
:default
Link to this function

get_integer(app, key, default \\ nil)

Specs

get_integer(atom(), atom(), integer()) :: integer()

Same as get/3, but returns the result as an integer. If the value cannot be converted to an integer, the default is returned instead.