2017-05-10 23:18:42 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								require  " tmpdir "  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								require  " hbc/container/base "  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								module  Hbc  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  class  Container 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    class  Gpg  <  Base 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      def  self . me? ( criteria ) 
							 
						 
					
						
							
								
									
										
										
										
											2017-05-19 04:24:36 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        criteria . extension ( / ^(gpg)$ / ) 
							 
						 
					
						
							
								
									
										
										
										
											2017-05-10 23:18:42 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								      end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      def  import_key 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        if  @cask . gpg . nil? 
							 
						 
					
						
							
								
									
										
										
										
											2017-05-11 16:26:16 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								          raise  CaskError ,  " Expected to find gpg public key in formula. Cask ' #{ @cask } ' must add: 'gpg :embedded, key_id: [Public Key ID]' or 'gpg :embedded, key_url: [Public Key URL]' " 
							 
						 
					
						
							
								
									
										
										
										
											2017-05-10 23:18:42 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								        end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        args  =  if  @cask . gpg . key_id 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          [ " --recv-keys " ,  @cask . gpg . key_id ] 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        elsif  @cask . gpg . key_url 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          [ " --fetch-key " ,  @cask . gpg . key_url . to_s ] 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        @command . run! ( " gpg " ,  args :  args ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      def  extract 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        if  ( gpg  =  which ( " gpg " ) ) . nil? 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          raise  CaskError ,  " Expected to find gpg executable. Cask ' #{ @cask } ' must add: depends_on formula: 'gpg' " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        import_key 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        Dir . mktmpdir  do  | unpack_dir | 
							 
						 
					
						
							
								
									
										
										
										
											2017-05-19 04:24:36 +08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								          @command . run! ( gpg ,  args :  [ " --batch " ,  " --yes " ,  " --output " ,  Pathname ( unpack_dir ) . join ( @path . basename ( " .gpg " ) ) ,  " --decrypt " ,  @path ] ) 
							 
						 
					
						
							
								
									
										
										
										
											2017-05-10 23:18:42 +08:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								          extract_nested_inside ( unpack_dir ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  end 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								end