Current section
Files
Jump to
Current section
Files
lib/loaders/environment.ex
defmodule Weave.Loaders.Environment do
use Weave.Loader
def load_configuration() do
with {:ok, environment_prefix} <- Application.fetch_env(:weave, :environment_prefix),
{:ok, handler} <- Application.fetch_env(:weave, :handler),
environment_variables <- System.get_env()
do
environment_variables
|> Enum.filter_map(
fn({key, value}) -> String.starts_with?(key, environment_prefix) end,
fn({key, value}) ->
apply_configuration(String.trim_leading(key, environment_prefix), value, handler)
end)
else
:error -> Logger.warn("Tried to load configuration, but :weave hasn't been configured properly. Check :environment_prefix and :handler")
end
end
end