aboutsummaryrefslogtreecommitdiffstats
path: root/Library
diff options
context:
space:
mode:
authorJack Nagel2014-04-25 11:25:38 -0500
committerJack Nagel2014-04-25 11:25:38 -0500
commitb0cd6b03765b46c648f55c709a637c308c6942d6 (patch)
tree53ac802dd30fe786a0b0f8dbb2cdc7438ec3dea4 /Library
parent99c275d03b3e536ed315c67ef24ef62df15f0f40 (diff)
downloadbrew-b0cd6b03765b46c648f55c709a637c308c6942d6.tar.bz2
Extract some boilerplate into an each_tap method
Diffstat (limited to 'Library')
-rw-r--r--Library/Homebrew/cmd/tap.rb33
-rw-r--r--Library/Homebrew/cmd/update.rb21
2 files changed, 28 insertions, 26 deletions
diff --git a/Library/Homebrew/cmd/tap.rb b/Library/Homebrew/cmd/tap.rb
index 2cc450563..85028f813 100644
--- a/Library/Homebrew/cmd/tap.rb
+++ b/Library/Homebrew/cmd/tap.rb
@@ -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|
- puts "#{user.basename}/#{repo.basename.sub("homebrew-", "")}" if (repo/".git").directory?
- end
- end if tapd.directory?
+ each_tap do |user, repo|
+ puts "#{user.basename}/#{repo.basename.sub("homebrew-", "")}" if (repo/".git").directory?
+ end
elsif ARGV.first == "--repair"
repair_taps
else
@@ -88,13 +84,10 @@ 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|
- files = []
- repo.find_formula{ |file| files << user.basename.join(repo.basename, file) } if repo.directory?
- count += link_tap_formula(files)
- end
+ each_tap do |user, repo|
+ files = []
+ repo.find_formula { |file| files << user.basename.join(repo.basename, file) }
+ count += link_tap_formula(files)
end
puts "Tapped #{count} formula"
@@ -102,6 +95,18 @@ module Homebrew extend self
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
diff --git a/Library/Homebrew/cmd/update.rb b/Library/Homebrew/cmd/update.rb
index fcbffb11f..927eca410 100644
--- a/Library/Homebrew/cmd/update.rb
+++ b/Library/Homebrew/cmd/update.rb
@@ -38,19 +38,16 @@ 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
- begin
- updater = Updater.new
- updater.pull!
- report.merge!(updater.report) do |key, oldval, newval|
- oldval.concat(newval)
- end
- rescue
- repo =~ %r{^Library/Taps/([\w_-]+)/(homebrew-)?([\w_-]+)}
- onoe "Failed to update tap: #$1/#$3"
+ each_tap do |user, repo|
+ repo.cd do
+ begin
+ updater = Updater.new
+ updater.pull!
+ report.merge!(updater.report) do |key, oldval, newval|
+ oldval.concat(newval)
end
+ rescue
+ onoe "Failed to update tap: #{user.basename}/#{repo.basename.sub("homebrew-", "")}"
end
end
end