config v0.1.0 Config
Provides convenient way to load application configuration from config files and environment variables.
Quickstart example:
defmodule MyApplication do
use Application
use Config
Config.config :my_app do
option timeout, int, ["-t", "--timeout", "MY_TIMEOUT", default: 100]
category connection do
type :map
option host, string, [h, host, MY_HOST, default: "localhost"]
end
end
def start(_type, _args) do
Config.load(:my_app)
Application.get_env(:my_app, :timeout) # -> 100
Application.get_env(:my_app, :connection) # -> %{host: "localhost"}
end
end
Options, available inside config block:
Config.Configuration.add_path/1
: adds path to a list of search paths where config files will be searchedConfig.Configuration.remove_path/1
: removes path from search path listConfig.Configuration.paths/1
: resets search path listConfig.Configuration.add_file/1
: adds config file patternConfig.Configuration.remove_file/1
: remove config file patternConfig.Configuration.files/1
: resets config file pattern listConfig.Container.type/1
: specifies configuration container typeConfig.Category.category/2
: adds config categoryConfig.Option.option/2
: adds config option
Summary
Functions
Loads configuration for specified application
Loads configuration for specified application or raises error
Macros
Specifies configuration that will be used in Config.load/2
function
Types
env :: map | keyword
errors :: [Exception.t]
Functions
Specs
load(Config.Configuration.t, atom) ::
{:ok, keyword | map} |
{:error, errors}
load(Config.Configuration.t, atom) ::
{:ok, env} |
no_return
Loads configuration for specified application.
Returns {:ok, config}
tuple with loaded configuration on success or
{:error, list}
with list of errors.
Loads configuration for specified application or raises error.
Bang version of load/2
.
Macros
Specifies configuration that will be used in Config.load/2
function.
See Config.Configuration
for all options, available inside config block.