36 lines
		
	
	
		
			680 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
		
		
			
		
	
	
			36 lines
		
	
	
		
			680 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
|   | # typed: true | ||
|  | # frozen_string_literal: true | ||
|  | 
 | ||
|  | class Version | ||
|  |   # A formula's HEAD version. | ||
|  |   # @see https://docs.brew.sh/Formula-Cookbook#unstable-versions-head Unstable versions (head) | ||
|  |   # | ||
|  |   # @api private | ||
|  |   class HeadVersion < Version | ||
|  |     extend T::Sig | ||
|  | 
 | ||
|  |     sig { returns(T.nilable(String)) } | ||
|  |     attr_reader :commit | ||
|  | 
 | ||
|  |     def initialize(*) | ||
|  |       super | ||
|  |       @commit = @version[/^HEAD-(.+)$/, 1] | ||
|  |     end | ||
|  | 
 | ||
|  |     sig { params(commit: T.nilable(String)).void } | ||
|  |     def update_commit(commit) | ||
|  |       @commit = commit | ||
|  |       @version = if commit | ||
|  |         "HEAD-#{commit}" | ||
|  |       else | ||
|  |         "HEAD" | ||
|  |       end | ||
|  |     end | ||
|  | 
 | ||
|  |     sig { returns(T::Boolean) } | ||
|  |     def head? | ||
|  |       true | ||
|  |     end | ||
|  |   end | ||
|  | end |