| 
									
										
										
										
											2019-05-24 21:36:48 -03:00
										 |  |  | # frozen_string_literal: true | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class SoftwareSpec | 
					
						
							| 
									
										
										
										
											2019-05-26 00:17:40 -03:00
										 |  |  |   undef uses_from_macos | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-05-24 21:36:48 -03:00
										 |  |  |   def uses_from_macos(deps, **args) | 
					
						
							| 
									
										
										
										
											2019-05-25 22:06:39 -03:00
										 |  |  |     if deps.is_a?(Hash) | 
					
						
							|  |  |  |       args = deps | 
					
						
							|  |  |  |       deps = Hash[*args.shift] | 
					
						
							|  |  |  |     end | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-05-24 21:36:48 -03:00
										 |  |  |     depends_on(deps) if add_mac_dependency?(args) | 
					
						
							|  |  |  |   end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   private | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   def add_mac_dependency?(args) | 
					
						
							|  |  |  |     args.each { |key, version| args[key] = OS::Mac::Version.from_symbol(version) } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     return false if args[:after] && OS::Mac.version < args[:after] | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     return false if args[:before] && OS::Mac.version >= args[:before] | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-05-25 22:06:39 -03:00
										 |  |  |     args.present? | 
					
						
							| 
									
										
										
										
											2019-05-24 21:36:48 -03:00
										 |  |  |   end | 
					
						
							|  |  |  | end |