Extract some boilerplate into an each_tap method

This commit is contained in:
Jack Nagel 2014-04-25 11:25:38 -05:00
parent 99c275d03b
commit b0cd6b0376
2 changed files with 28 additions and 26 deletions

View File

@ -2,13 +2,9 @@ module Homebrew extend self
def tap
if ARGV.empty?
tapd = HOMEBREW_LIBRARY/"Taps"
tapd.children.each do |user|
next unless user.directory?
user.children.each do |repo|
each_tap do |user, repo|
puts "#{user.basename}/#{repo.basename.sub("homebrew-", "")}" if (repo/".git").directory?
end
end if tapd.directory?
elsif ARGV.first == "--repair"
repair_taps
else
@ -88,20 +84,29 @@ module Homebrew extend self
count = 0
# check symlinks are all set in each tap
HOMEBREW_REPOSITORY.join("Library/Taps").children.each do |user|
next unless user.directory?
user.children.each do |repo|
each_tap do |user, repo|
files = []
repo.find_formula{ |file| files << user.basename.join(repo.basename, file) } if repo.directory?
repo.find_formula { |file| files << user.basename.join(repo.basename, file) }
count += link_tap_formula(files)
end
end
puts "Tapped #{count} formula"
end
private
def each_tap
taps = HOMEBREW_LIBRARY.join("Taps")
if taps.directory?
taps.subdirs.each do |user|
user.subdirs.each do |repo|
yield user, repo
end
end
end
end
def tap_args
ARGV.first =~ %r{^([\w_-]+)/(homebrew-)?([\w_-]+)$}
raise "Invalid tap name" unless $1 && $3

View File

@ -38,9 +38,8 @@ module Homebrew extend self
# this procedure will be removed in the future if it seems unnecessasry
rename_taps_dir_if_necessary
Dir["Library/Taps/*/"].each do |user|
Dir["#{user}*/"].each do |repo|
cd repo do
each_tap do |user, repo|
repo.cd do
begin
updater = Updater.new
updater.pull!
@ -48,9 +47,7 @@ module Homebrew extend self
oldval.concat(newval)
end
rescue
repo =~ %r{^Library/Taps/([\w_-]+)/(homebrew-)?([\w_-]+)}
onoe "Failed to update tap: #$1/#$3"
end
onoe "Failed to update tap: #{user.basename}/#{repo.basename.sub("homebrew-", "")}"
end
end
end