| 
									
										
										
										
											2019-04-19 15:38:03 +09:00
										 |  |  | # frozen_string_literal: true | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-09-06 08:29:14 +02:00
										 |  |  | module Cask | 
					
						
							| 
									
										
										
										
											2018-09-04 08:45:48 +01:00
										 |  |  |   class Cmd | 
					
						
							| 
									
										
										
										
											2020-08-19 10:34:07 +02:00
										 |  |  |     # Implementation of the `brew cask reinstall` command. | 
					
						
							|  |  |  |     # | 
					
						
							|  |  |  |     # @api private | 
					
						
							| 
									
										
										
										
											2016-10-09 10:21:07 +02:00
										 |  |  |     class Reinstall < Install | 
					
						
							| 
									
										
										
										
											2020-08-01 02:30:46 +02:00
										 |  |  |       def self.description | 
					
						
							|  |  |  |         "Reinstalls the given <cask>." | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-09-11 08:37:15 +02:00
										 |  |  |       def run | 
					
						
							| 
									
										
										
										
											2020-08-05 10:28:58 -04:00
										 |  |  |         self.class.reinstall_casks( | 
					
						
							|  |  |  |           *casks, | 
					
						
							| 
									
										
										
										
											2020-08-01 02:30:46 +02:00
										 |  |  |           binaries:       args.binaries?, | 
					
						
							|  |  |  |           verbose:        args.verbose?, | 
					
						
							|  |  |  |           force:          args.force?, | 
					
						
							|  |  |  |           skip_cask_deps: args.skip_cask_deps?, | 
					
						
							|  |  |  |           require_sha:    args.require_sha?, | 
					
						
							|  |  |  |           quarantine:     args.quarantine?, | 
					
						
							| 
									
										
										
										
											2020-08-05 10:28:58 -04:00
										 |  |  |         ) | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |       def self.reinstall_casks( | 
					
						
							|  |  |  |         *casks, | 
					
						
							| 
									
										
										
										
											2020-08-05 12:12:50 -04:00
										 |  |  |         verbose: false, | 
					
						
							|  |  |  |         force: false, | 
					
						
							|  |  |  |         skip_cask_deps: false, | 
					
						
							| 
									
										
										
										
											2020-08-05 10:28:58 -04:00
										 |  |  |         binaries: nil, | 
					
						
							|  |  |  |         require_sha: nil, | 
					
						
							|  |  |  |         quarantine: nil | 
					
						
							|  |  |  |       ) | 
					
						
							| 
									
										
										
										
											2020-08-18 00:23:23 +01:00
										 |  |  |         require "cask/installer" | 
					
						
							| 
									
										
										
										
											2020-08-01 02:30:46 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  |         options = { | 
					
						
							|  |  |  |           binaries:       binaries, | 
					
						
							|  |  |  |           verbose:        verbose, | 
					
						
							|  |  |  |           force:          force, | 
					
						
							|  |  |  |           skip_cask_deps: skip_cask_deps, | 
					
						
							|  |  |  |           require_sha:    require_sha, | 
					
						
							|  |  |  |           quarantine:     quarantine, | 
					
						
							|  |  |  |         }.compact | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         options[:quarantine] = true if options[:quarantine].nil? | 
					
						
							| 
									
										
										
										
											2020-08-05 10:28:58 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-06-13 17:14:01 +02:00
										 |  |  |         casks.each do |cask| | 
					
						
							| 
									
										
										
										
											2020-08-01 02:30:46 +02:00
										 |  |  |           Installer.new(cask, **options).reinstall | 
					
						
							| 
									
										
										
										
											2016-10-09 10:21:07 +02:00
										 |  |  |         end | 
					
						
							|  |  |  |       end | 
					
						
							|  |  |  |     end | 
					
						
							|  |  |  |   end | 
					
						
							|  |  |  | end |