diff options
| author | Jack Nagel | 2014-04-25 11:25:38 -0500 |
|---|---|---|
| committer | Jack Nagel | 2014-04-25 11:25:38 -0500 |
| commit | b0cd6b03765b46c648f55c709a637c308c6942d6 (patch) | |
| tree | 53ac802dd30fe786a0b0f8dbb2cdc7438ec3dea4 /Library | |
| parent | 99c275d03b3e536ed315c67ef24ef62df15f0f40 (diff) | |
| download | brew-b0cd6b03765b46c648f55c709a637c308c6942d6.tar.bz2 | |
Extract some boilerplate into an each_tap method
Diffstat (limited to 'Library')
| -rw-r--r-- | Library/Homebrew/cmd/tap.rb | 33 | ||||
| -rw-r--r-- | Library/Homebrew/cmd/update.rb | 21 |
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 |
