| 
									
										
										
										
											2012-09-14 07:54:14 -07:00
										 |  |  | require 'set' | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class BuildEnvironment | 
					
						
							| 
									
										
										
										
											2012-12-23 19:43:10 -06:00
										 |  |  |   def initialize(*settings) | 
					
						
							| 
									
										
										
										
											2014-07-07 18:12:24 -05:00
										 |  |  |     @settings = Set.new(*settings) | 
					
						
							| 
									
										
										
										
											2012-09-14 07:54:14 -07:00
										 |  |  |   end | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-07-07 09:15:56 -05:00
										 |  |  |   def merge(*args) | 
					
						
							|  |  |  |     @settings.merge(*args) | 
					
						
							| 
									
										
										
										
											2014-07-07 20:03:15 -05:00
										 |  |  |     self | 
					
						
							| 
									
										
										
										
											2014-07-07 09:15:56 -05:00
										 |  |  |   end | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-12-23 19:43:10 -06:00
										 |  |  |   def <<(o) | 
					
						
							| 
									
										
										
										
											2014-07-07 17:34:30 -05:00
										 |  |  |     @settings << o | 
					
						
							| 
									
										
										
										
											2012-12-23 19:43:10 -06:00
										 |  |  |     self | 
					
						
							|  |  |  |   end | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2012-09-14 07:54:14 -07:00
										 |  |  |   def std? | 
					
						
							|  |  |  |     @settings.include? :std | 
					
						
							|  |  |  |   end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   def userpaths? | 
					
						
							|  |  |  |     @settings.include? :userpaths | 
					
						
							|  |  |  |   end | 
					
						
							| 
									
										
										
										
											2013-01-19 20:45:57 -06:00
										 |  |  | end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | module BuildEnvironmentDSL | 
					
						
							| 
									
										
										
										
											2014-07-07 21:32:36 -05:00
										 |  |  |   def env(*settings) | 
					
						
							| 
									
										
										
										
											2013-01-19 20:45:57 -06:00
										 |  |  |     @env ||= BuildEnvironment.new | 
					
						
							| 
									
										
										
										
											2014-07-07 21:32:36 -05:00
										 |  |  |     @env.merge(settings) | 
					
						
							| 
									
										
										
										
											2013-01-19 20:45:57 -06:00
										 |  |  |   end | 
					
						
							| 
									
										
										
										
											2012-09-14 07:54:14 -07:00
										 |  |  | end |