Config.Reader
Config.Reader
Config로 정의한 설정 파일을 읽는 API예요. 설정 파일을 파싱하고 평가(eval)해서 시스템에서 쓰는 설정 값으로 바꿔 주는 역할을 해요.
출처: Config.Reader
본문
프로바이더로서 사용하기(As a provider)
Config.Reader는 Config.Provider로도 쓸 수 있어요. 설정 프로바이더는 릴리스 배포 시 애플리케이션이 설정되는 방식을 커스터마이즈하는 데 쓰이죠. 프로바이더로 사용할 때는 인자를 하나만 받아요 — 바로 시스템 부팅 중에 읽고 로드할 파일의 설정 경로입니다(Config.Provider.config_path/0에 정리되어 있어요).
예를 들어 대상 시스템에 절대 경로 위치에 설정 파일이 있을 거라고 예상한다면, mix.exs의 def project 부분 안에 이렇게 추가하면 돼요.
releases: [
demo: [
config_providers: [
{Config.Reader, "/etc/config.exs"}
]
]
]
아니면 릴리스 안의 커스텀 경로를 읽고 싶다면 이렇게 하면 됩니다.
config_providers: [{Config.Reader, {:system, "RELEASE_ROOT", "/config.exs"}}]
리더(reader)에 옵션의 키워드 리스트를 넘길 수도 있는데, 이때 :path는 필수 키예요.
config_providers: [
{Config.Reader,
path: "/etc/config.exs",
env: :prod,
imports: :disabled}
]
Mix가 이미 기본적으로 config/runtime.exs를 로드한다는 점을 기억하세요. 더 많은 예시와 시나리오는 Config.Provider 모듈을 참고해요.
Summary(요약)
Types
config_opts()
Functions
eval!(file, contents, opts \\\\ [])— 주어진file에 대해 설정contents를 평가해요.merge(config1, config2)— 두 설정을 병합해요.read!(file, opts \\\\ [])— 설정 파일을 읽어요.read_imports!(file, opts \\\\ [])— 주어진 설정 파일을 읽고, import를 포함한 설정을 반환해요.