Move and re-namespace HeadVersion

This commit is contained in:
Douglas Eichelberger 2023-04-04 18:03:03 -07:00
parent a237a1ff9f
commit c0092c2fd2
2 changed files with 37 additions and 31 deletions

View File

@ -2,6 +2,7 @@
# frozen_string_literal: true # frozen_string_literal: true
require "pkg_version" require "pkg_version"
require "version/head"
require "version/null" require "version/null"
require "version/parser" require "version/parser"
@ -676,34 +677,3 @@ class Version
version.scan(SCAN_PATTERN).map { |token| Token.create(T.cast(token, String)) } version.scan(SCAN_PATTERN).map { |token| Token.create(T.cast(token, String)) }
end end
end end
# 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

View File

@ -0,0 +1,36 @@
# 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