Sha256: 6365412b9c5abf4cd0f4e69877ce3f19a8379dbd13727a4a2648ab41d39682cd
Contents?: true
Size: 1 KB
Versions: 1
Compression:
Stored size: 1 KB
Contents
module Hako class Container 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 def default_config { 'docker_labels' => {}, 'links' => [], } end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
hako-0.6.1 | lib/hako/container.rb |