Hi,
I’ve created ConfigExt
lib for handling some common case scenarios when working with configuration.
Reasoning:
I’ve been looking for some lib that correctly handles {:system, "VAR"}
and a more robust options like for example executing a function on runtime. So far there were only some gists for copy/paste, so I’ve wrapped them plus I’ve also added pattern for function execution, i.e. like
System.put_env "BAR", "baz"
defmodule MyApp do
def meta, do: [foo: System.get_env("BAR"), env: "staging"]
end
config :logger, metadata: {:function, MyApp, :meta}
ConfigExt.fetch_env :logger, :metadata
# => [foo: "baz", env: "staging"]
Let me know what do you think. (personally I would rather see it as part of elixir Application
module rather than a separate lib)