class Aruba::Platforms::LocalEnvironment

Local environemnt

Wraps logic to make enviroment local and restorable

Attributes

platform[R]

Public Class Methods

new(platform) click to toggle source
# File lib/aruba/platforms/local_environment.rb, line 11
def initialize(platform)
  @platform = platform
end

Public Instance Methods

call(env) { || ... } click to toggle source

Run in environment

@param [Hash] env

The environment

@yield

The block of code which should with local ENV
# File lib/aruba/platforms/local_environment.rb, line 24
def call(env)
  old_env = platform.environment_variables.hash_from_env

  ENV.clear
  ENV.update env

  yield if block_given?
ensure
  ENV.clear
  ENV.update old_env
end