| 
									
										
										
										
											2020-10-10 14:16:11 +02:00
										 |  |  | # typed: true | 
					
						
							| 
									
										
										
										
											2020-03-27 14:29:50 +00:00
										 |  |  | # frozen_string_literal: true | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-08-17 06:01:54 +02:00
										 |  |  | require "socket" | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-03-27 14:29:50 +00:00
										 |  |  | module Homebrew | 
					
						
							| 
									
										
										
										
											2020-08-17 06:01:54 +02:00
										 |  |  |   # Helper function for finding a free port. | 
					
						
							|  |  |  |   # | 
					
						
							|  |  |  |   # @api private | 
					
						
							| 
									
										
										
										
											2020-03-27 14:29:50 +00:00
										 |  |  |   module FreePort | 
					
						
							| 
									
										
										
										
											2020-08-17 06:01:54 +02:00
										 |  |  |     # Returns a free port. | 
					
						
							|  |  |  |     # @api public | 
					
						
							| 
									
										
										
										
											2020-03-27 14:29:50 +00:00
										 |  |  |     def free_port | 
					
						
							|  |  |  |       server = TCPServer.new 0
 | 
					
						
							|  |  |  |       _, port, = server.addr | 
					
						
							|  |  |  |       server.close | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       port | 
					
						
							|  |  |  |     end | 
					
						
							|  |  |  |   end | 
					
						
							|  |  |  | end |