Sha256: 6bf37fbdeb5308d00d00f863f32b3b220116022cf0026709c6051cb000bbb455
Contents?: true
Size: 653 Bytes
Versions: 125
Compression:
Stored size: 653 Bytes
Contents
module InEnvironment private # Create an environment for a test. At the completion of the yielded # block, the environment is restored to its original conditions. def in_environment(settings) original_settings = set_env(settings) yield ensure set_env(original_settings) end # Set the environment according to the settings hash. def set_env(settings) # :nodoc: result = {} settings.each do |k, v| result[k] = ENV[k] if k == 'PWD' result[k] = Dir.pwd Dir.chdir(v) elsif v.nil? ENV.delete(k) else ENV[k] = v end end result end end
Version data entries
125 entries across 97 versions & 11 rubygems