Current section

Files

Jump to
ndc_ex_sdk lib ndc_config.ex
Raw

lib/ndc_config.ex

defmodule NDCConfig do
def check_mandatory_provider_config(config) do
if is_nil(config[:label]) || is_nil(config[:server][:url]) || is_nil(config[:rest][:generic_headers]) || is_nil(config[:ndc]) do
raise ConfigError
else
config
end
end
def load_provider(path), do: path |> read_provider_config |> expose_provider_config |> check_mandatory_provider_config
def load_consumer(path), do: path |> read_file |> expose_consumer_config
defp read_provider_config(path), do: read_file(path <> "config.exs")
defp read_file(path), do: Mix.Config.read!(path)
defp expose_consumer_config(config), do: config[:CONSUMER]
defp expose_provider_config(config), do: config[:PROVIDER]
end
defmodule ConfigError do
defexception message: "The configuration file is missing some mandatory data."
end
defmodule ConfigNotExistError do
defexception message: "The configuration file is missed."
end