diff --git a/Library/Homebrew/dev-cmd/contributions.rb b/Library/Homebrew/dev-cmd/contributions.rb index d9bd088f40..783c645f1b 100755 --- a/Library/Homebrew/dev-cmd/contributions.rb +++ b/Library/Homebrew/dev-cmd/contributions.rb @@ -175,7 +175,7 @@ module Homebrew commits: GitHub.repo_commit_count_for_user(repo_full_name, person, args), coauthorships: git_log_trailers_cmd(T.must(repo_path), person, "Co-authored-by", args), signoffs: git_log_trailers_cmd(T.must(repo_path), person, "Signed-off-by", args), - reviews: GitHub.count_issues("", is: "pr", repo: repo_full_name, reviewed_by: person), + reviews: GitHub.count_issues("", is: "pr", repo: repo_full_name, reviewed_by: person, args: args), } end diff --git a/Library/Homebrew/utils/github.rb b/Library/Homebrew/utils/github.rb index 3137393e6d..c6ca139401 100644 --- a/Library/Homebrew/utils/github.rb +++ b/Library/Homebrew/utils/github.rb @@ -173,11 +173,21 @@ module GitHub def search_query_string(*main_params, **qualifiers) params = main_params - params += qualifiers.flat_map do |key, value| + if (args = qualifiers.fetch(:args, nil)) + params << if args.from && args.to + "created:#{args.from}..#{args.to}" + elsif args.from + "created:>=#{args.from}" + elsif args.to + "created:<=#{args.to}" + end + end + + params += qualifiers.except(:args).flat_map do |key, value| Array(value).map { |v| "#{key.to_s.tr("_", "-")}:#{v}" } end - "q=#{URI.encode_www_form_component(params.join(" "))}&per_page=100" + "q=#{URI.encode_www_form_component(params.compact.join(" "))}&per_page=100" end def url_to(*subroutes)