diff --git a/Library/Homebrew/extend/blank.rb b/Library/Homebrew/extend/blank.rb index 435268026a..f9c9a2b2dc 100644 --- a/Library/Homebrew/extend/blank.rb +++ b/Library/Homebrew/extend/blank.rb @@ -1,4 +1,4 @@ -# typed: true +# typed: strict # frozen_string_literal: true class Object @@ -12,15 +12,13 @@ class Object # to # # address.blank? - # - # @return [true, false] + sig { returns(T::Boolean) } def blank? respond_to?(:empty?) ? !!T.unsafe(self).empty? : false end # An object is present if it's not blank. - # - # @return [true, false] + sig { returns(T::Boolean) } def present? !blank? end @@ -39,8 +37,7 @@ class Object # becomes # # region = params[:state].presence || params[:country].presence || 'US' - # - # @return [Object] + sig { returns(T.nilable(T.self_type)) } def presence self if present? end @@ -50,12 +47,12 @@ class NilClass # +nil+ is blank: # # nil.blank? # => true - # - # @return [true] + sig { returns(TrueClass) } def blank? true end + sig { returns(FalseClass) } def present? # :nodoc: false end @@ -65,12 +62,12 @@ class FalseClass # +false+ is blank: # # false.blank? # => true - # - # @return [true] + sig { returns(TrueClass) } def blank? true end + sig { returns(FalseClass) } def present? # :nodoc: false end @@ -80,12 +77,12 @@ class TrueClass # +true+ is not blank: # # true.blank? # => false - # - # @return [false] + sig { returns(FalseClass) } def blank? false end + sig { returns(TrueClass) } def present? # :nodoc: true end @@ -100,6 +97,7 @@ class Array # @return [true, false] alias_method :blank?, :empty? + sig { returns(T::Boolean) } def present? # :nodoc: !empty? end @@ -114,6 +112,7 @@ class Hash # @return [true, false] alias_method :blank?, :empty? + sig { returns(T::Boolean) } def present? # :nodoc: !empty? end @@ -126,6 +125,7 @@ class Symbol # :symbol.blank? # => false alias_method :blank?, :empty? + sig { returns(T::Boolean) } def present? # :nodoc: !empty? end @@ -144,8 +144,7 @@ class String # Unicode whitespace is supported: # # "\u00a0".blank? # => true - # - # @return [true, false] + sig { returns(T::Boolean) } def blank? # The regexp that matches blank strings is expensive. For the case of empty # strings we can speed up this method (~3.5x) with an empty? call. The @@ -158,6 +157,7 @@ class String end end + sig { returns(T::Boolean) } def present? # :nodoc: !blank? end @@ -168,12 +168,12 @@ class Numeric # :nodoc: # # 1.blank? # => false # 0.blank? # => false - # - # @return [false] + sig { returns(FalseClass) } def blank? false end + sig { returns(TrueClass) } def present? true end @@ -183,12 +183,12 @@ class Time # :nodoc: # No Time is blank: # # Time.now.blank? # => false - # - # @return [false] + sig { returns(FalseClass) } def blank? false end + sig { returns(TrueClass) } def present? true end diff --git a/Library/Homebrew/extend/object.rbi b/Library/Homebrew/extend/object.rbi deleted file mode 100644 index cc39405568..0000000000 --- a/Library/Homebrew/extend/object.rbi +++ /dev/null @@ -1,6 +0,0 @@ -# typed: strict - -class Object - sig { returns(T::Boolean) } - def present?; end -end diff --git a/Library/Homebrew/global.rb b/Library/Homebrew/global.rb index 396adbdd90..ea6f1ebec4 100644 --- a/Library/Homebrew/global.rb +++ b/Library/Homebrew/global.rb @@ -12,7 +12,6 @@ require "set" # Only require "core_ext" here to ensure we're only requiring the minimum of # what we need. -require "extend/blank" require "active_support/core_ext/array/access" require "active_support/core_ext/enumerable" require "active_support/core_ext/file/atomic" @@ -75,6 +74,7 @@ HOMEBREW_PULL_OR_COMMIT_URL_REGEX = HOMEBREW_BOTTLES_EXTNAME_REGEX = /\.([a-z0-9_]+)\.bottle\.(?:(\d+)\.)?tar\.gz$/.freeze require "extend/module" +require "extend/blank" require "env_config" require "macos_version" require "os"