diff --git a/Library/Homebrew/livecheck/strategy/apache.rb b/Library/Homebrew/livecheck/strategy/apache.rb index ac45fff106..fd77fda4ca 100644 --- a/Library/Homebrew/livecheck/strategy/apache.rb +++ b/Library/Homebrew/livecheck/strategy/apache.rb @@ -93,9 +93,7 @@ module Homebrew url: String, regex: T.nilable(Regexp), unused: T.nilable(T::Hash[Symbol, T.untyped]), - block: T.nilable( - T.proc.params(arg0: String, arg1: Regexp).returns(T.any(String, T::Array[String], NilClass)), - ), + block: T.untyped, ).returns(T::Hash[Symbol, T.untyped]) } def self.find_versions(url:, regex: nil, **unused, &block) diff --git a/Library/Homebrew/livecheck/strategy/bitbucket.rb b/Library/Homebrew/livecheck/strategy/bitbucket.rb index f2679f421f..0d4fef5a55 100644 --- a/Library/Homebrew/livecheck/strategy/bitbucket.rb +++ b/Library/Homebrew/livecheck/strategy/bitbucket.rb @@ -96,9 +96,7 @@ module Homebrew url: String, regex: T.nilable(Regexp), unused: T.nilable(T::Hash[Symbol, T.untyped]), - block: T.nilable( - T.proc.params(arg0: String, arg1: Regexp).returns(T.any(String, T::Array[String], NilClass)), - ), + block: T.untyped, ).returns(T::Hash[Symbol, T.untyped]) } def self.find_versions(url:, regex: nil, **unused, &block) diff --git a/Library/Homebrew/livecheck/strategy/cpan.rb b/Library/Homebrew/livecheck/strategy/cpan.rb index 2478f9d0d0..84e58e8353 100644 --- a/Library/Homebrew/livecheck/strategy/cpan.rb +++ b/Library/Homebrew/livecheck/strategy/cpan.rb @@ -80,9 +80,7 @@ module Homebrew url: String, regex: T.nilable(Regexp), unused: T.nilable(T::Hash[Symbol, T.untyped]), - block: T.nilable( - T.proc.params(arg0: String, arg1: Regexp).returns(T.any(String, T::Array[String], NilClass)), - ), + block: T.untyped, ).returns(T::Hash[Symbol, T.untyped]) } def self.find_versions(url:, regex: nil, **unused, &block) diff --git a/Library/Homebrew/livecheck/strategy/electron_builder.rb b/Library/Homebrew/livecheck/strategy/electron_builder.rb index df5d01a818..f33f692052 100644 --- a/Library/Homebrew/livecheck/strategy/electron_builder.rb +++ b/Library/Homebrew/livecheck/strategy/electron_builder.rb @@ -40,12 +40,7 @@ module Homebrew params( content: String, regex: T.nilable(Regexp), - block: T.nilable( - T.proc.params( - arg0: T::Hash[String, T.untyped], - arg1: T.nilable(Regexp), - ).returns(T.any(String, T::Array[String], NilClass)), - ), + block: T.untyped, ).returns(T::Array[String]) } def self.versions_from_content(content, regex = nil, &block) @@ -54,7 +49,10 @@ module Homebrew yaml = YAML.safe_load(content) return [] if yaml.blank? - return Strategy.handle_block_return(yield(yaml, regex)) if block + if block + block_return_value = regex.present? ? yield(yaml, regex) : yield(yaml) + return Strategy.handle_block_return(block_return_value) + end version = yaml["version"] version.present? ? [version] : [] @@ -69,12 +67,7 @@ module Homebrew url: String, regex: T.nilable(Regexp), _unused: T.nilable(T::Hash[Symbol, T.untyped]), - block: T.nilable( - T.proc.params( - arg0: T::Hash[String, T.untyped], - arg1: T.nilable(Regexp), - ).returns(T.any(String, T::Array[String], NilClass)), - ), + block: T.untyped, ).returns(T::Hash[Symbol, T.untyped]) } def self.find_versions(url:, regex: nil, **_unused, &block) diff --git a/Library/Homebrew/livecheck/strategy/extract_plist.rb b/Library/Homebrew/livecheck/strategy/extract_plist.rb index 547a4f98dd..580d634727 100644 --- a/Library/Homebrew/livecheck/strategy/extract_plist.rb +++ b/Library/Homebrew/livecheck/strategy/extract_plist.rb @@ -63,16 +63,14 @@ module Homebrew params( items: T::Hash[String, Item], regex: T.nilable(Regexp), - block: T.nilable( - T.proc.params( - arg0: T::Hash[String, Item], - arg1: T.nilable(Regexp), - ).returns(T.any(String, T::Array[String], NilClass)), - ), + block: T.untyped, ).returns(T::Array[String]) } def self.versions_from_items(items, regex = nil, &block) - return Strategy.handle_block_return(yield(items, regex)) if block + if block + block_return_value = regex.present? ? yield(items, regex) : yield(items) + return Strategy.handle_block_return(block_return_value) + end items.map do |_key, item| item.bundle_version.nice_version @@ -89,12 +87,7 @@ module Homebrew cask: Cask::Cask, regex: T.nilable(Regexp), _unused: T.nilable(T::Hash[Symbol, T.untyped]), - block: T.nilable( - T.proc.params( - arg0: T::Hash[String, Item], - arg1: T.nilable(Regexp), - ).returns(T.any(String, T::Array[String], NilClass)), - ), + block: T.untyped, ).returns(T::Hash[Symbol, T.untyped]) } def self.find_versions(cask:, regex: nil, **_unused, &block) diff --git a/Library/Homebrew/livecheck/strategy/git.rb b/Library/Homebrew/livecheck/strategy/git.rb index 402701d72c..5929460c56 100644 --- a/Library/Homebrew/livecheck/strategy/git.rb +++ b/Library/Homebrew/livecheck/strategy/git.rb @@ -86,14 +86,20 @@ module Homebrew params( tags: T::Array[String], regex: T.nilable(Regexp), - block: T.nilable( - T.proc.params(arg0: T::Array[String], arg1: T.nilable(Regexp)) - .returns(T.any(String, T::Array[String], NilClass)), - ), + block: T.untyped, ).returns(T::Array[String]) } def self.versions_from_tags(tags, regex = nil, &block) - return Strategy.handle_block_return(yield(tags, regex || DEFAULT_REGEX)) if block + if block + block_return_value = if regex.present? + yield(tags, regex) + elsif block.arity == 2 + yield(tags, DEFAULT_REGEX) + else + yield(tags) + end + return Strategy.handle_block_return(block_return_value) + end tags_only_debian = tags.all? { |tag| tag.start_with?("debian/") } @@ -125,10 +131,7 @@ module Homebrew url: String, regex: T.nilable(Regexp), _unused: T.nilable(T::Hash[Symbol, T.untyped]), - block: T.nilable( - T.proc.params(arg0: T::Array[String], arg1: T.nilable(Regexp)) - .returns(T.any(String, T::Array[String], NilClass)), - ), + block: T.untyped, ).returns(T::Hash[Symbol, T.untyped]) } def self.find_versions(url:, regex: nil, **_unused, &block) diff --git a/Library/Homebrew/livecheck/strategy/github_latest.rb b/Library/Homebrew/livecheck/strategy/github_latest.rb index 9b2fdff359..f9d8482cda 100644 --- a/Library/Homebrew/livecheck/strategy/github_latest.rb +++ b/Library/Homebrew/livecheck/strategy/github_latest.rb @@ -92,9 +92,7 @@ module Homebrew url: String, regex: T.nilable(Regexp), unused: T.nilable(T::Hash[Symbol, T.untyped]), - block: T.nilable( - T.proc.params(arg0: String, arg1: Regexp).returns(T.any(String, T::Array[String], NilClass)), - ), + block: T.untyped, ).returns(T::Hash[Symbol, T.untyped]) } def self.find_versions(url:, regex: nil, **unused, &block) diff --git a/Library/Homebrew/livecheck/strategy/gnome.rb b/Library/Homebrew/livecheck/strategy/gnome.rb index 88700eb968..49baed77c6 100644 --- a/Library/Homebrew/livecheck/strategy/gnome.rb +++ b/Library/Homebrew/livecheck/strategy/gnome.rb @@ -82,9 +82,7 @@ module Homebrew url: String, regex: T.nilable(Regexp), unused: T.nilable(T::Hash[Symbol, T.untyped]), - block: T.nilable( - T.proc.params(arg0: String, arg1: Regexp).returns(T.any(String, T::Array[String], NilClass)), - ), + block: T.untyped, ).returns(T::Hash[Symbol, T.untyped]) } def self.find_versions(url:, regex: nil, **unused, &block) diff --git a/Library/Homebrew/livecheck/strategy/gnu.rb b/Library/Homebrew/livecheck/strategy/gnu.rb index f0200b7ac5..0077974717 100644 --- a/Library/Homebrew/livecheck/strategy/gnu.rb +++ b/Library/Homebrew/livecheck/strategy/gnu.rb @@ -92,9 +92,7 @@ module Homebrew url: String, regex: T.nilable(Regexp), unused: T.nilable(T::Hash[Symbol, T.untyped]), - block: T.nilable( - T.proc.params(arg0: String, arg1: Regexp).returns(T.any(String, T::Array[String], NilClass)), - ), + block: T.untyped, ).returns(T::Hash[Symbol, T.untyped]) } def self.find_versions(url:, regex: nil, **unused, &block) diff --git a/Library/Homebrew/livecheck/strategy/hackage.rb b/Library/Homebrew/livecheck/strategy/hackage.rb index 42587c82d4..e303e2ea7c 100644 --- a/Library/Homebrew/livecheck/strategy/hackage.rb +++ b/Library/Homebrew/livecheck/strategy/hackage.rb @@ -78,9 +78,7 @@ module Homebrew url: String, regex: T.nilable(Regexp), unused: T.nilable(T::Hash[Symbol, T.untyped]), - block: T.nilable( - T.proc.params(arg0: String, arg1: Regexp).returns(T.any(String, T::Array[String], NilClass)), - ), + block: T.untyped, ).returns(T::Hash[Symbol, T.untyped]) } def self.find_versions(url:, regex: nil, **unused, &block) diff --git a/Library/Homebrew/livecheck/strategy/header_match.rb b/Library/Homebrew/livecheck/strategy/header_match.rb index 6d397f8402..9bd68b991e 100644 --- a/Library/Homebrew/livecheck/strategy/header_match.rb +++ b/Library/Homebrew/livecheck/strategy/header_match.rb @@ -44,16 +44,14 @@ module Homebrew params( headers: T::Hash[String, String], regex: T.nilable(Regexp), - block: T.nilable( - T.proc.params( - arg0: T::Hash[String, String], - arg1: T.nilable(Regexp), - ).returns(T.any(String, T::Array[String], NilClass)), - ), + block: T.untyped, ).returns(T::Array[String]) } def self.versions_from_headers(headers, regex = nil, &block) - return Strategy.handle_block_return(yield(headers, regex)) if block + if block + block_return_value = regex.present? ? yield(headers, regex) : yield(headers) + return Strategy.handle_block_return(block_return_value) + end DEFAULT_HEADERS_TO_CHECK.map do |header_name| header_value = headers[header_name] @@ -79,9 +77,7 @@ module Homebrew url: String, regex: T.nilable(Regexp), _unused: T.nilable(T::Hash[Symbol, T.untyped]), - block: T.nilable( - T.proc.params(arg0: T::Hash[String, String], arg1: T.nilable(Regexp)).returns(T.nilable(String)), - ), + block: T.untyped, ).returns(T::Hash[Symbol, T.untyped]) } def self.find_versions(url:, regex: nil, **_unused, &block) diff --git a/Library/Homebrew/livecheck/strategy/launchpad.rb b/Library/Homebrew/livecheck/strategy/launchpad.rb index b03125c357..3f1c278e81 100644 --- a/Library/Homebrew/livecheck/strategy/launchpad.rb +++ b/Library/Homebrew/livecheck/strategy/launchpad.rb @@ -75,9 +75,7 @@ module Homebrew url: String, regex: T.nilable(Regexp), unused: T.nilable(T::Hash[Symbol, T.untyped]), - block: T.nilable( - T.proc.params(arg0: String, arg1: Regexp).returns(T.any(String, T::Array[String], NilClass)), - ), + block: T.untyped, ).returns(T::Hash[Symbol, T.untyped]) } def self.find_versions(url:, regex: nil, **unused, &block) diff --git a/Library/Homebrew/livecheck/strategy/npm.rb b/Library/Homebrew/livecheck/strategy/npm.rb index 7c84cc71b2..8fedeb84e4 100644 --- a/Library/Homebrew/livecheck/strategy/npm.rb +++ b/Library/Homebrew/livecheck/strategy/npm.rb @@ -73,9 +73,7 @@ module Homebrew url: String, regex: T.nilable(Regexp), unused: T.nilable(T::Hash[Symbol, T.untyped]), - block: T.nilable( - T.proc.params(arg0: String, arg1: Regexp).returns(T.any(String, T::Array[String], NilClass)), - ), + block: T.untyped, ).returns(T::Hash[Symbol, T.untyped]) } def self.find_versions(url:, regex: nil, **unused, &block) diff --git a/Library/Homebrew/livecheck/strategy/page_match.rb b/Library/Homebrew/livecheck/strategy/page_match.rb index 6b588b9be9..d4f57d6b0a 100644 --- a/Library/Homebrew/livecheck/strategy/page_match.rb +++ b/Library/Homebrew/livecheck/strategy/page_match.rb @@ -51,13 +51,15 @@ module Homebrew params( content: String, regex: T.nilable(Regexp), - block: T.nilable( - T.proc.params(arg0: String, arg1: T.nilable(Regexp)).returns(T.any(String, T::Array[String], NilClass)), - ), + block: T.untyped, ).returns(T::Array[String]) } def self.versions_from_content(content, regex, &block) - return Strategy.handle_block_return(yield(content, regex)) if block + if block + block_return_value = regex.present? ? yield(content, regex) : yield(content) + return Strategy.handle_block_return(block_return_value) + end + return [] if regex.blank? content.scan(regex).map do |match| @@ -84,9 +86,7 @@ module Homebrew regex: T.nilable(Regexp), provided_content: T.nilable(String), _unused: T.nilable(T::Hash[Symbol, T.untyped]), - block: T.nilable( - T.proc.params(arg0: String, arg1: T.nilable(Regexp)).returns(T.any(String, T::Array[String], NilClass)), - ), + block: T.untyped, ).returns(T::Hash[Symbol, T.untyped]) } def self.find_versions(url:, regex: nil, provided_content: nil, **_unused, &block) diff --git a/Library/Homebrew/livecheck/strategy/pypi.rb b/Library/Homebrew/livecheck/strategy/pypi.rb index 9a69ac555d..256e4f713b 100644 --- a/Library/Homebrew/livecheck/strategy/pypi.rb +++ b/Library/Homebrew/livecheck/strategy/pypi.rb @@ -87,9 +87,7 @@ module Homebrew url: String, regex: T.nilable(Regexp), unused: T.nilable(T::Hash[Symbol, T.untyped]), - block: T.nilable( - T.proc.params(arg0: String, arg1: Regexp).returns(T.any(String, T::Array[String], NilClass)), - ), + block: T.untyped, ).returns(T::Hash[Symbol, T.untyped]) } def self.find_versions(url:, regex: nil, **unused, &block) diff --git a/Library/Homebrew/livecheck/strategy/sourceforge.rb b/Library/Homebrew/livecheck/strategy/sourceforge.rb index 9c5b290c98..a0050b7486 100644 --- a/Library/Homebrew/livecheck/strategy/sourceforge.rb +++ b/Library/Homebrew/livecheck/strategy/sourceforge.rb @@ -92,9 +92,7 @@ module Homebrew url: String, regex: T.nilable(Regexp), unused: T.nilable(T::Hash[Symbol, T.untyped]), - block: T.nilable( - T.proc.params(arg0: String, arg1: Regexp).returns(T.any(String, T::Array[String], NilClass)), - ), + block: T.untyped, ).returns(T::Hash[Symbol, T.untyped]) } def self.find_versions(url:, regex: nil, **unused, &block) diff --git a/Library/Homebrew/livecheck/strategy/sparkle.rb b/Library/Homebrew/livecheck/strategy/sparkle.rb index f0ef5f33e3..b5cc80aea0 100644 --- a/Library/Homebrew/livecheck/strategy/sparkle.rb +++ b/Library/Homebrew/livecheck/strategy/sparkle.rb @@ -151,16 +151,17 @@ module Homebrew params( content: String, regex: T.nilable(Regexp), - block: T.nilable( - T.proc.params(arg0: Item, arg1: T.nilable(Regexp)).returns(T.any(String, T::Array[String], NilClass)), - ), + block: T.untyped, ).returns(T::Array[String]) } def self.versions_from_content(content, regex = nil, &block) item = item_from_content(content) return [] if item.blank? - return Strategy.handle_block_return(yield(item, regex)) if block + if block + block_return_value = regex.present? ? yield(item, regex) : yield(item) + return Strategy.handle_block_return(block_return_value) + end version = item.bundle_version&.nice_version version.present? ? [version] : [] @@ -172,9 +173,7 @@ module Homebrew url: String, regex: T.nilable(Regexp), _unused: T.nilable(T::Hash[Symbol, T.untyped]), - block: T.nilable( - T.proc.params(arg0: Item, arg1: T.nilable(Regexp)).returns(T.any(String, T::Array[String], NilClass)), - ), + block: T.untyped, ).returns(T::Hash[Symbol, T.untyped]) } def self.find_versions(url:, regex: nil, **_unused, &block) diff --git a/Library/Homebrew/livecheck/strategy/xorg.rb b/Library/Homebrew/livecheck/strategy/xorg.rb index 722739e54b..25e1ae0510 100644 --- a/Library/Homebrew/livecheck/strategy/xorg.rb +++ b/Library/Homebrew/livecheck/strategy/xorg.rb @@ -114,9 +114,7 @@ module Homebrew url: String, regex: T.nilable(Regexp), unused: T.nilable(T::Hash[Symbol, T.untyped]), - block: T.nilable( - T.proc.params(arg0: String, arg1: Regexp).returns(T.any(String, T::Array[String], NilClass)), - ), + block: T.untyped, ).returns(T::Hash[Symbol, T.untyped]) } def self.find_versions(url:, regex: nil, **unused, &block)