diff --git a/Library/Homebrew/dev-cmd/bump.rb b/Library/Homebrew/dev-cmd/bump.rb index bb9f96e8b8f1aff6624c31986f99d140fccc6301..776b241d21f6a56276d2ac9978c6163fd226708f 100644 --- a/Library/Homebrew/dev-cmd/bump.rb +++ b/Library/Homebrew/dev-cmd/bump.rb @@ -23,21 +23,39 @@ module Homebrew def bump args = bump_args.parse - requested_formula = args.formulae.first.to_s if args.formulae.first + requested_formulae = !args.formulae.empty? ? args.formulae.map(&:name) : nil + requested_limit = args.limit.to_i if args.limit.present? - raise FormulaUnavailableError, requested_formula if requested_formula && !validate_formula(requested_formula) + repology_data = if requested_formulae + response = {} + requested_formulae.each do |formula| + raise FormulaUnavailableError, formula unless validate_formula(formula) + + package_data = Repology.single_package_query(formula) + response[package_data.keys.first] = package_data.values.first if package_data + end - repology_data = if requested_formula - Repology.single_package_query(requested_formula) + response else Repology.parse_api_response end - validated_formulae = if repology_data.blank? - { requested_formula.to_s => Repology.format_package(requested_formula, nil) } - else - Repology.validate_and_format_packages(repology_data, requested_limit) + validated_formulae = {} + + validated_formulae = Repology.validate_and_format_packages(repology_data, requested_limit) if repology_data + + if requested_formulae + repology_excluded_formulae = requested_formulae.reject do |formula| + repology_data[formula] + end + + formulae = {} + repology_excluded_formulae.each do |formula| + formulae[formula] = Repology.format_package(formula, nil) + end + + formulae.each { |formula, data| validated_formulae[formula] = data } end display(validated_formulae) diff --git a/Library/Homebrew/utils/repology.rb b/Library/Homebrew/utils/repology.rb index 602cdbe2adcbfda72025da09b7ea3f9031301fb6..104f2881c8d1786c9bef01f50d9782e8394ae1c5 100644 --- a/Library/Homebrew/utils/repology.rb +++ b/Library/Homebrew/utils/repology.rb @@ -58,7 +58,6 @@ module Repology packages = {} outdated_repology_packages.each do |_name, repositories| - # identify homebrew repo repology_homebrew_repo = repositories.find do |repo| repo["repo"] == "homebrew" end