aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/utils.rb
diff options
context:
space:
mode:
Diffstat (limited to 'Library/Homebrew/utils.rb')
-rw-r--r--Library/Homebrew/utils.rb19
1 files changed, 17 insertions, 2 deletions
diff --git a/Library/Homebrew/utils.rb b/Library/Homebrew/utils.rb
index 13861a6de..23778605e 100644
--- a/Library/Homebrew/utils.rb
+++ b/Library/Homebrew/utils.rb
@@ -288,12 +288,27 @@ module GitHub extend self
raise Error, "Failed to parse JSON response\n#{e.message}", e.backtrace
end
- def issues_matching(query)
+ def issues_matching(query, qualifiers={})
uri = ISSUES_URI.dup
- uri.query = "q=#{uri_escape(query)}+repo:Homebrew/homebrew+in:title&per_page=100"
+ uri.query = build_query_string(query, qualifiers)
open(uri) { |json| json["items"] }
end
+ def build_query_string(query, qualifiers)
+ s = "q=#{uri_escape(query)}+"
+ s << build_search_qualifier_string(qualifiers)
+ s << "&per_page=100"
+ end
+
+ def build_search_qualifier_string(qualifiers)
+ {
+ :repo => "Homebrew/homebrew",
+ :in => "title",
+ }.update(qualifiers).map { |qualifier, value|
+ "#{qualifier}:#{value}"
+ }.join("+")
+ end
+
def uri_escape(query)
if URI.respond_to?(:encode_www_form_component)
URI.encode_www_form_component(query)