YAML configuration loader with ERB interpolation and core boundary boot.
Config values support ERB templates. Environment variables are accessed via an EnvBinding class that handles both cases:
<%= gitlab_url %> — method_missing, upcases to ENV["GITLAB_URL"]<%= GITLAB_URL %> — const_missing, reads ENV["GITLAB_URL"]Missing env vars raise ConfigError with the source expression. No silent nils.
Wanderland.boot(config_path) does:
wanderland-core/lib/wanderland/boundaries/boundary_pathservice: dark-lantern
port: 9293
boundary_path: lib/dark_lantern/boundaries
routes:
/repos:
boundary: repo_list
method: get
/repos/:repo/tree:
chain: [resolve_repo, repo_tree]
method: get
# Everything not an engine key is domain config,
# passed to boundaries via input["config"]
repos:
kremis:
url: /home/user/repos/kremis
grammars: [ruby]
wanderland-core/lib/wanderland/config.rb