check whether args is valid

whether args days is in valid_days and args category is in valid_categories
This commit is contained in:
hyuraku 2019-11-13 22:51:57 +09:00
parent 8244a869f6
commit 1afd271a13

View File

@ -357,6 +357,8 @@ module Homebrew
end end
def output_formula_analytics(f) def output_formula_analytics(f)
valid_days = %w[30 90 365]
valid_categories = %w[install install-on-request build-error]
json = formulae_api_json("formula/#{f}.json") json = formulae_api_json("formula/#{f}.json")
return if json.blank? || json["analytics"].blank? return if json.blank? || json["analytics"].blank?
@ -369,8 +371,15 @@ module Homebrew
value.each do |days, results| value.each do |days, results|
days = days.to_i days = days.to_i
if full_analytics if full_analytics
next if args.days.present? && args.days&.to_i != days if args.days.present?
next if args.category.present? && args.category != category raise UsageError, "day must be one of #{valid_days.join(", ")}" unless valid_days.include?(args.days)
next if args.days&.to_i != days
end
if args.category.present?
raise UsageError, "category must be one of #{valid_categories.join(", ")}" unless valid_categories.include?(args.category)
next if args.category.gsub('-','_') != category
end
analytics_table(category, days, results) analytics_table(category, days, results)
else else