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.