aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/utils.rb
diff options
context:
space:
mode:
authorMisty De Meo2012-01-12 21:10:03 -0600
committerMisty De Meo2012-01-13 22:31:55 -0600
commitf2f26a11bb4a4f96846a1d8ac75d73509e33c14d (patch)
tree171c943873ebc9d5b4228962ae0ae428dc7677b9 /Library/Homebrew/utils.rb
parent14d7d03425a80fd226cb7e7584e840fbf18bd499 (diff)
downloadhomebrew-f2f26a11bb4a4f96846a1d8ac75d73509e33c14d.tar.bz2
search: return results while parsing
Instead of returning a full list of results after parsing, yield and print each result as it's found for a snappier user experience. Closes #9576. Signed-off-by: Misty De Meo <mistydemeo@gmail.com>
Diffstat (limited to 'Library/Homebrew/utils.rb')
-rw-r--r--Library/Homebrew/utils.rb6
1 files changed, 2 insertions, 4 deletions
diff --git a/Library/Homebrew/utils.rb b/Library/Homebrew/utils.rb
index 644023a0c..4de58cc36 100644
--- a/Library/Homebrew/utils.rb
+++ b/Library/Homebrew/utils.rb
@@ -432,17 +432,15 @@ module GitHub extend self
require 'open-uri'
require 'vendor/multi_json'
- pulls = []
query = rx.source.delete '.*'
uri = URI.parse("http://github.com/api/v2/json/issues/search/mxcl/homebrew/open/#{query}")
open uri do |f|
MultiJson.decode(f.read)["issues"].each do |pull|
- pulls << pull['pull_request_url'] if rx.match pull['title'] and pull["pull_request_url"]
+ yield pull['pull_request_url'] if rx.match pull['title'] and pull["pull_request_url"]
end
end
- pulls
rescue
- []
+ nil
end
end