| 
									
										
										
										
											2025-02-24 14:49:33 -08:00
										 |  |  | # typed: strict | 
					
						
							| 
									
										
										
										
											2023-04-10 22:07:06 +09:00
										 |  |  | # frozen_string_literal: true | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | module Cask | 
					
						
							|  |  |  |   class Reinstall | 
					
						
							| 
									
										
										
										
											2025-02-24 14:49:33 -08:00
										 |  |  |     sig { | 
					
						
							|  |  |  |       params( | 
					
						
							|  |  |  |         casks: ::Cask::Cask, verbose: T::Boolean, force: T::Boolean, skip_cask_deps: T::Boolean, binaries: T::Boolean, | 
					
						
							|  |  |  |         require_sha: T::Boolean, quarantine: T::Boolean, zap: T::Boolean | 
					
						
							|  |  |  |       ).void | 
					
						
							|  |  |  |     } | 
					
						
							| 
									
										
										
										
											2023-04-10 22:07:06 +09:00
										 |  |  |     def self.reinstall_casks( | 
					
						
							|  |  |  |       *casks, | 
					
						
							| 
									
										
										
										
											2025-02-24 14:49:33 -08:00
										 |  |  |       verbose: false, | 
					
						
							|  |  |  |       force: false, | 
					
						
							|  |  |  |       skip_cask_deps: false, | 
					
						
							|  |  |  |       binaries: false, | 
					
						
							|  |  |  |       require_sha: false, | 
					
						
							|  |  |  |       quarantine: false, | 
					
						
							|  |  |  |       zap: false | 
					
						
							| 
									
										
										
										
											2023-04-10 22:07:06 +09:00
										 |  |  |     ) | 
					
						
							|  |  |  |       require "cask/installer" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       quarantine = true if quarantine.nil? | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       casks.each do |cask| | 
					
						
							| 
									
										
										
										
											2025-02-24 14:49:33 -08:00
										 |  |  |         Installer | 
					
						
							|  |  |  |           .new(cask, binaries:, verbose:, force:, skip_cask_deps:, require_sha:, reinstall: true, quarantine:, zap:) | 
					
						
							|  |  |  |           .install | 
					
						
							| 
									
										
										
										
											2023-04-10 22:07:06 +09:00
										 |  |  |       end | 
					
						
							|  |  |  |     end | 
					
						
							|  |  |  |   end | 
					
						
							|  |  |  | end |