38 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
			
		
		
	
	
			38 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
| require "hbc/container/base"
 | |
| 
 | |
| module Hbc
 | |
|   class Container
 | |
|     class Air < Base
 | |
|       INSTALLER_PATHNAME =
 | |
|         Pathname("/Applications/Utilities/Adobe AIR Application Installer.app" \
 | |
|                  "/Contents/MacOS/Adobe AIR Application Installer")
 | |
| 
 | |
|       def self.me?(criteria)
 | |
|         %w[.air].include?(criteria.path.extname)
 | |
|       end
 | |
| 
 | |
|       def self.installer_cmd
 | |
|         return @installer_cmd ||= INSTALLER_PATHNAME if installer_exist?
 | |
|         raise CaskError, <<~EOS
 | |
|           Adobe AIR runtime not present, try installing it via
 | |
| 
 | |
|               brew cask install adobe-air
 | |
| 
 | |
|         EOS
 | |
|       end
 | |
| 
 | |
|       def self.installer_exist?
 | |
|         INSTALLER_PATHNAME.exist?
 | |
|       end
 | |
| 
 | |
|       def extract
 | |
|         install = @command.run(self.class.installer_cmd,
 | |
|                                args: ["-silent", "-location", @cask.staged_path, Pathname.new(@path).realpath])
 | |
| 
 | |
|         return unless install.exit_status == 9
 | |
|         raise CaskError, "Adobe AIR application #{@cask} already exists on the system, and cannot be reinstalled."
 | |
|       end
 | |
|     end
 | |
|   end
 | |
| end
 | 
