class DockerComposeYamlLoader::Environments

Usage:

DockerComposeYamlLoader::Environments.setup('./path/to/docker-compose.yml', key: 'webapp')

Public Class Methods

new(file_path, key) click to toggle source
# File lib/docker_compose_yaml_loader/environments.rb, line 13
def initialize(file_path, key)
  @file_path = file_path
  @key = key
  @environments = {}
end
setup(file_path, key:, &block) click to toggle source
# File lib/docker_compose_yaml_loader/environments.rb, line 9
def self.setup(file_path, key:, &block)
  new(file_path, key).setup(&block)
end

Public Instance Methods

fetch() click to toggle source
# File lib/docker_compose_yaml_loader/environments.rb, line 34
def fetch
  @environments.each do |key, value|
    ENV[key] = value.to_s unless ENV.key?(key)
  end
end
set(key, value) click to toggle source
# File lib/docker_compose_yaml_loader/environments.rb, line 30
def set(key, value)
  @environments[key.to_s] = value
end
setup() { |self| ... } click to toggle source
# File lib/docker_compose_yaml_loader/environments.rb, line 19
def setup
  return unless File.exist?(@file_path)
  settings = DockerComposeYamlLoader.load(@file_path)
  @key.split('/').each do |k|
    settings = settings[k]
  end
  @environments = settings['environment']
  yield(self) if block_given?
  fetch
end