Sha256: 6b0a9bddf0f77150884bcd2ce3ddb5fd4b3b9376c9a8ed954000458c3a1962b0
Contents?: true
Size: 1012 Bytes
Versions: 1
Compression:
Stored size: 1012 Bytes
Contents
module Hako class Container DEFAULT_CONFIG = { 'docker_labels' => {}, 'links' => [], }.freeze def initialize(app, definition) @app = app @definition = DEFAULT_CONFIG.merge(definition) end %w[ image_tag docker_labels cpu memory links ].each do |name| define_method(name) do @definition[name] end define_method("#{name}=") do |val| @definition[name] = val end end def env @expanded_env ||= expand_env(@definition.fetch('env', {})) end private PROVIDERS_KEY = '$providers'.freeze def expand_env(env) env = env.dup providers = load_providers(env.delete(PROVIDERS_KEY) || []) EnvExpander.new(providers).expand(env) end def load_providers(provider_configs) provider_configs.map do |yaml| Loader.new(Hako::EnvProviders, 'hako/env_providers').load(yaml.fetch('type')).new(@app.root_path, yaml) end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
hako-0.6.0 | lib/hako/container.rb |