brew/Library/Homebrew/formula_stub.rb

42 lines
1001 B
Ruby
Raw Permalink Normal View History

# typed: strict
# frozen_string_literal: true
require "pkg_version"
module Homebrew
# A stub for a formula, with only the information needed to fetch the bottle manifest.
class FormulaStub < T::Struct
const :name, String
const :pkg_version, PkgVersion
const :rebuild, Integer, default: 0
const :sha256, T.nilable(String)
const :aliases, T::Array[String], default: []
const :oldnames, T::Array[String], default: []
sig { returns(Version) }
def version
pkg_version.version
end
sig { returns(Integer) }
def revision
pkg_version.revision
end
sig { params(other: T.anything).returns(T::Boolean) }
def ==(other)
case other
when FormulaStub
name == other.name &&
pkg_version == other.pkg_version &&
rebuild == other.rebuild &&
sha256 == other.sha256 &&
aliases == other.aliases &&
oldnames == other.oldnames
else
false
end
end
end
end