Skip to content
Snippets Groups Projects
Commit ce721f43 authored by Elizabeth Tackett's avatar Elizabeth Tackett
Browse files

display version data when formula is up-to-date

parent 82787c84
No related branches found
No related tags found
No related merge requests found
......@@ -28,34 +28,34 @@ module Homebrew
requested_formula = Homebrew.args.formula
requested_formula&.downcase!
raise FormulaUnavailableError, requested_formula if requested_formula && !get_formula_details(requested_formula)
raise FormulaUnavailableError, requested_formula if requested_formula && !validate_formula(requested_formula)
outdated_repology_packages = if requested_formula
repology_data = if requested_formula
Repology.single_package_query(requested_formula)
else
Repology.parse_api_response
end
if requested_formula && outdated_repology_packages.nil?
ohai "#{requested_formula} is up-to-date!"
puts "Current version: #{get_formula_details(requested_formula).version}"
return
end
outdated_packages = Repology.validate_and_format_packages(outdated_repology_packages)
display(outdated_packages)
validated_formulae = Repology.validate_and_format_packages(repology_data)
display(validated_formulae)
end
def get_formula_details(formula_name)
def validate_formula(formula_name)
Formula[formula_name]
rescue
nil
end
def display(outdated_packages)
def up_to_date?(package)
package[:current_formula_version] == package[:repology_latest_version] &&
package[:current_formula_version] == package[:livecheck_latest_version]
end
def display(formulae)
puts
outdated_packages.each do |formula, package_details|
ohai formula
formulae.each do |formula, package_details|
title = (up_to_date?(package_details) ? formula + " is up to date!" : formula).to_s
ohai title
puts "Current formula version: #{package_details[:current_formula_version]}"
puts "Latest Repology version: #{package_details[:repology_latest_version]}"
puts "Latest livecheck version: #{package_details[:livecheck_latest_version] || "Not found"}"
......
......@@ -21,11 +21,11 @@ module Repology
output, _errors, _status = curl_output(url.to_s)
data = JSON.parse(output)
outdated_homebrew = data.select do |repo|
repo["repo"] == "homebrew" && repo["status"] == "outdated"
homebrew = data.select do |repo|
repo["repo"] == "homebrew"
end
outdated_homebrew.empty? ? nil : { name: data }
homebrew.empty? ? nil : { name: data }
end
def parse_api_response
......@@ -75,7 +75,7 @@ module Repology
end
def format_package(package_name, latest_version)
formula = Formula[package_name]
formula = formula_data(package_name)
return if formula.blank?
......@@ -95,4 +95,10 @@ module Repology
open_pull_requests: pull_requests,
}
end
def formula_data(package_name)
Formula[package_name]
rescue
nil
end
end
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment