33 lines
		
	
	
		
			442 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
			
		
		
	
	
			33 lines
		
	
	
		
			442 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
| require 'set'
 | |
| 
 | |
| class BuildEnvironment
 | |
|   def initialize(*settings)
 | |
|     @settings = Set.new(*settings)
 | |
|   end
 | |
| 
 | |
|   def merge(*args)
 | |
|     @settings.merge(*args)
 | |
|     self
 | |
|   end
 | |
| 
 | |
|   def <<(o)
 | |
|     @settings << o
 | |
|     self
 | |
|   end
 | |
| 
 | |
|   def std?
 | |
|     @settings.include? :std
 | |
|   end
 | |
| 
 | |
|   def userpaths?
 | |
|     @settings.include? :userpaths
 | |
|   end
 | |
| end
 | |
| 
 | |
| module BuildEnvironmentDSL
 | |
|   def env(*settings)
 | |
|     @env ||= BuildEnvironment.new
 | |
|     @env.merge(settings)
 | |
|   end
 | |
| end
 | 
