module Fig::EnvironmentVariables

Abstract manager of a set of environment variables.

Public Class Methods

new(variables_override = nil) click to toggle source
# File lib/fig/environment_variables.rb, line 7
def initialize(variables_override = nil)
  @variables = variables_override || get_system_environment_variables
end

Public Instance Methods

empty?() click to toggle source
# File lib/fig/environment_variables.rb, line 11
def empty?
  return @variables.empty?
end
keys() click to toggle source
# File lib/fig/environment_variables.rb, line 15
def keys
  return @variables.keys
end
with_environment() { || ... } click to toggle source
# File lib/fig/environment_variables.rb, line 19
def with_environment
  original_environment = {}
  original_environment.merge!(ENV.to_hash)

  begin
    set_system_environment_variables(@variables)
    yield
  ensure
    ENV.clear
    set_system_environment_variables(original_environment)
  end

  return
end

Private Instance Methods

get_system_environment_variables() click to toggle source
# File lib/fig/environment_variables.rb, line 36
def get_system_environment_variables
  vars = {}
  ENV.each { |key,value| vars[key]=value }

  return vars
end
set_system_environment_variables(variables) click to toggle source
# File lib/fig/environment_variables.rb, line 43
def set_system_environment_variables(variables)
  variables.each { |key, value| ENV[key] = value }
end