handle requests for multiple formulae

This commit is contained in:
Elizabeth Tackett 2020-08-16 20:38:03 -05:00
parent 388b0ae8ba
commit dc1bbe7f81
2 changed files with 26 additions and 9 deletions

View File

@ -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)
repology_data = if requested_formula
Repology.single_package_query(requested_formula)
package_data = Repology.single_package_query(formula)
response[package_data.keys.first] = package_data.values.first if package_data
end
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)

View File

@ -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