34 lines
		
	
	
		
			802 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
			
		
		
	
	
			34 lines
		
	
	
		
			802 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
| module Hbc::Verify; end
 | |
| 
 | |
| require "hbc/verify/checksum"
 | |
| require "hbc/verify/gpg"
 | |
| 
 | |
| module Hbc::Verify
 | |
|   module_function
 | |
| 
 | |
|   def verifications
 | |
|     [
 | |
|       Hbc::Verify::Checksum
 | |
|       # TODO: Hbc::Verify::Gpg
 | |
|     ]
 | |
|   end
 | |
| 
 | |
|   def all(cask, downloaded_path)
 | |
|     odebug "Verifying download"
 | |
|     verifications = for_cask(cask)
 | |
|     odebug "#{verifications.size} verifications defined", verifications
 | |
|     verifications.each do |verification|
 | |
|       odebug "Running verification of class #{verification}"
 | |
|       verification.new(cask, downloaded_path).verify
 | |
|     end
 | |
|   end
 | |
| 
 | |
|   def for_cask(cask)
 | |
|     odebug "Determining which verifications to run for Cask #{cask}"
 | |
|     verifications.select do |verification|
 | |
|       odebug "Checking for verification class #{verification}"
 | |
|       verification.me?(cask)
 | |
|     end
 | |
|   end
 | |
| end
 | 
