Extract some boilerplate into an each_tap method
This commit is contained in:
		
							parent
							
								
									99c275d03b
								
							
						
					
					
						commit
						b0cd6b0376
					
				@ -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
 | 
			
		||||
 | 
			
		||||
@ -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
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user