mirror of
https://github.com/Homebrew/brew.git
synced 2025-07-14 16:09:03 +08:00
30 lines
590 B
Ruby
30 lines
590 B
Ruby
# typed: strict
|
|
# frozen_string_literal: true
|
|
|
|
# A formula's checksum.
|
|
class Checksum
|
|
extend Forwardable
|
|
|
|
sig { returns(String) }
|
|
attr_reader :hexdigest
|
|
|
|
sig { params(hexdigest: String).void }
|
|
def initialize(hexdigest)
|
|
@hexdigest = T.let(hexdigest.downcase, String)
|
|
end
|
|
|
|
delegate [:empty?, :to_s, :length, :[]] => :@hexdigest
|
|
|
|
sig { params(other: T.any(String, Checksum, Symbol)).returns(T::Boolean) }
|
|
def ==(other)
|
|
case other
|
|
when String
|
|
to_s == other.downcase
|
|
when Checksum
|
|
hexdigest == other.hexdigest
|
|
else
|
|
false
|
|
end
|
|
end
|
|
end
|