Unify vocabulary in github module, remove unnecessary logic
Fix duplication bug
This commit is contained in:
parent
68cdb550f7
commit
5f8d212ccc
@ -29,9 +29,9 @@ describe GitHub do
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
describe "::issues_matching", :needs_network do
|
describe "::search_issues", :needs_network do
|
||||||
it "queries GitHub issues with the passed parameters" do
|
it "queries GitHub issues with the passed parameters" do
|
||||||
results = subject.issues_matching("brew search", repo: "Homebrew/brew", author: "avetamine", is: "closed")
|
results = subject.search_issues("brew search", repo: "Homebrew/brew", author: "avetamine", is: "closed")
|
||||||
expect(results.count).to eq(1)
|
expect(results.count).to eq(1)
|
||||||
expect(results.first["title"]).to eq("brew search : 422 Unprocessable Entity")
|
expect(results.first["title"]).to eq("brew search : 422 Unprocessable Entity")
|
||||||
end
|
end
|
||||||
|
|||||||
@ -227,7 +227,7 @@ module GitHub
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def issues_matching(query, qualifiers = {})
|
def search_issues(query, **qualifiers)
|
||||||
search("issues", query, **qualifiers)
|
search("issues", query, **qualifiers)
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -235,38 +235,27 @@ module GitHub
|
|||||||
open(url_to("repos", user, repo))
|
open(url_to("repos", user, repo))
|
||||||
end
|
end
|
||||||
|
|
||||||
def search_code(**params)
|
def search_code(**qualifiers)
|
||||||
search("code", **params)
|
search("code", **qualifiers)
|
||||||
end
|
|
||||||
|
|
||||||
def uri_escape(query)
|
|
||||||
if URI.respond_to?(:encode_www_form_component)
|
|
||||||
URI.encode_www_form_component(query)
|
|
||||||
else
|
|
||||||
require "erb"
|
|
||||||
ERB::Util.url_encode(query)
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
||||||
def issues_for_formula(name, options = {})
|
def issues_for_formula(name, options = {})
|
||||||
tap = options[:tap] || CoreTap.instance
|
tap = options[:tap] || CoreTap.instance
|
||||||
issues_matching(name, state: "open", repo: "#{tap.user}/homebrew-#{tap.repo}")
|
search_issues(name, state: "open", repo: "#{tap.user}/homebrew-#{tap.repo}")
|
||||||
end
|
end
|
||||||
|
|
||||||
def print_pull_requests_matching(query)
|
def print_pull_requests_matching(query)
|
||||||
return [] if ENV["HOMEBREW_NO_GITHUB_API"]
|
return [] if ENV["HOMEBREW_NO_GITHUB_API"]
|
||||||
|
|
||||||
open_or_closed_prs = issues_matching(query, type: "pr")
|
open_or_closed_prs = search_issues(query, type: "pr")
|
||||||
|
|
||||||
open_prs = open_or_closed_prs.select { |i| i["state"] == "open" }
|
open_prs = open_or_closed_prs.select { |i| i["state"] == "open" }
|
||||||
if !open_prs.empty?
|
prs = if !open_prs.empty?
|
||||||
puts "Open pull requests:"
|
puts "Open pull requests:"
|
||||||
prs = open_prs
|
open_prs
|
||||||
elsif !open_or_closed_prs.empty?
|
|
||||||
puts "Closed pull requests:"
|
|
||||||
prs = open_or_closed_prs
|
|
||||||
else
|
else
|
||||||
return []
|
puts "Closed pull requests:" unless open_or_closed_prs.empty?
|
||||||
|
open_or_closed_prs
|
||||||
end
|
end
|
||||||
|
|
||||||
prs.each { |i| puts "#{i["title"]} (#{i["html_url"]})" }
|
prs.each { |i| puts "#{i["title"]} (#{i["html_url"]})" }
|
||||||
@ -280,19 +269,11 @@ module GitHub
|
|||||||
def query_string(*main_params, **qualifiers)
|
def query_string(*main_params, **qualifiers)
|
||||||
params_list = main_params
|
params_list = main_params
|
||||||
|
|
||||||
qualifiers.each do |key, value|
|
params_list += qualifiers.flat_map do |key, value|
|
||||||
if value.is_a? Array
|
Array(value).map { |v| "#{key}:#{v}" }
|
||||||
value.each { |v| params_list << format_parameter(key, v) }
|
|
||||||
else
|
|
||||||
params_list << format_parameter(key, value)
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
||||||
"q=#{uri_escape(params_list.join(" "))}&per_page=100"
|
"q=#{URI.encode_www_form_component(params_list.join(" "))}&per_page=100"
|
||||||
end
|
|
||||||
|
|
||||||
def format_parameter(key, value)
|
|
||||||
"#{key}:#{value}"
|
|
||||||
end
|
end
|
||||||
|
|
||||||
def url_to(*subroutes)
|
def url_to(*subroutes)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user