mirror of
				https://github.com/ruby/ruby.git
				synced 2022-11-09 12:17:21 -05:00 
			
		
		
		
	* lib/rake/loaders/makefile.rb (Rake::MakefileLoader#process_line): respace dependencies too. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25199 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
		
			
				
	
	
		
			30 lines
		
	
	
	
		
			674 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
			
		
		
	
	
			30 lines
		
	
	
	
		
			674 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
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) if 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
 |