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

Version Path
craigmarksmith-rake-0.8.3.100 test/in_environment.rb
craigmarksmith-rake-0.8.4.101 test/in_environment.rb
craigmarksmith-rake-0.8.4.102 test/in_environment.rb
craigmarksmith-rake-0.8.4.103 test/in_environment.rb
elliottcable-echoe-3.1.1 vendor/rake/test/in_environment.rb
elliottcable-echoe-3.1.2 vendor/rake/test/in_environment.rb
jimweirich-rake-0.8.1.11 test/in_environment.rb
jimweirich-rake-0.8.2.99 test/in_environment.rb
jimweirich-rake-0.8.2 test/in_environment.rb
jimweirich-rake-0.8.3.1 test/in_environment.rb
jimweirich-rake-0.8.3.100 test/in_environment.rb
jimweirich-rake-0.8.3.99 test/in_environment.rb
jimweirich-rake-0.8.3 test/in_environment.rb
jimweirich-rake-0.8.4.99 test/in_environment.rb
jimweirich-rake-0.8.5 test/in_environment.rb
luislavena-rake-0.8.3.99 test/in_environment.rb
dirty_history-0.7.3 dirty_history/ruby/1.9.1/gems/rake-0.8.7/test/in_environment.rb
dirty_history-0.7.2 dirty_history/ruby/1.9.1/gems/rake-0.8.7/test/in_environment.rb
dirty_history-0.7.1 dirty_history/ruby/1.9.1/gems/rake-0.8.7/test/in_environment.rb
dirty_history-0.7.0 dirty_history/ruby/1.9.1/gems/rake-0.8.7/test/in_environment.rb