Use GitHub API 3 in brew search

This commit is contained in:
Max Howell 2012-04-05 13:06:36 -04:00
parent 7ffa831718
commit 5d3c65f68e

View File

@ -50,12 +50,12 @@ module Homebrew extend self
return [] if (HOMEBREW_LIBRARY/"Taps/#{user.downcase}-#{repo.downcase}").directory? return [] if (HOMEBREW_LIBRARY/"Taps/#{user.downcase}-#{repo.downcase}").directory?
require 'open-uri' require 'open-uri'
require 'yaml' require 'vendor/multi_json'
results = [] results = []
open "http://github.com/api/v2/yaml/blob/all/#{user}/homebrew-#{repo}/master" do |f| open "https://api.github.com/repos/#{user}/homebrew-#{repo}/git/trees/HEAD?recursive=1" do |f|
user.downcase! if user == "Homebrew" # special handling for the Homebrew organization user.downcase! if user == "Homebrew" # special handling for the Homebrew organization
YAML::load(f.read)["blobs"].each do |file, _| MultiJson.decode(f.read)["tree"].map{ |hash| hash['path'] }.compact.each do |file|
name = File.basename(file, '.rb') name = File.basename(file, '.rb')
if file =~ /\.rb$/ and name =~ rx if file =~ /\.rb$/ and name =~ rx
results << "#{user}/#{repo}/#{name}" results << "#{user}/#{repo}/#{name}"