| 
									
										
										
										
											2020-11-02 11:20:09 +00:00
										 |  |  | # typed: false | 
					
						
							|  |  |  | # frozen_string_literal: true | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | module Homebrew | 
					
						
							|  |  |  |   # Provides helper methods for unlinking formulae and kegs with consistent output. | 
					
						
							|  |  |  |   module Unlink | 
					
						
							|  |  |  |     module_function | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     def unlink_versioned_formulae(formula, verbose: false) | 
					
						
							|  |  |  |       formula.versioned_formulae | 
					
						
							| 
									
										
										
										
											2020-11-16 13:21:23 +00:00
										 |  |  |              .select(&:keg_only?) | 
					
						
							| 
									
										
										
										
											2020-11-02 11:20:09 +00:00
										 |  |  |              .select(&:linked?) | 
					
						
							|  |  |  |              .map(&:any_installed_keg) | 
					
						
							|  |  |  |              .compact | 
					
						
							|  |  |  |              .select(&:directory?) | 
					
						
							|  |  |  |              .each do |keg| | 
					
						
							|  |  |  |         unlink(keg, verbose: verbose) | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |     end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     def unlink(keg, dry_run: false, verbose: false) | 
					
						
							|  |  |  |       options = { dry_run: dry_run, verbose: verbose } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       keg.lock do | 
					
						
							|  |  |  |         print "Unlinking #{keg}... " | 
					
						
							|  |  |  |         puts if verbose | 
					
						
							| 
									
										
										
										
											2021-01-26 15:21:24 -05:00
										 |  |  |         puts "#{keg.unlink(**options)} symlinks removed." | 
					
						
							| 
									
										
										
										
											2020-11-02 11:20:09 +00:00
										 |  |  |       end | 
					
						
							|  |  |  |     end | 
					
						
							|  |  |  |   end | 
					
						
							|  |  |  | end |