add Formula.core_names Formula.tap_names and Formula.full_names
This commit is contained in:
		
							parent
							
								
									811c4c5add
								
							
						
					
					
						commit
						e2b0bca931
					
				@ -32,7 +32,7 @@ module Homebrew
 | 
			
		||||
 | 
			
		||||
    formulae = []
 | 
			
		||||
    if ARGV.named.empty?
 | 
			
		||||
      formulae = Formula.names
 | 
			
		||||
      formulae = Formula.full_names
 | 
			
		||||
    else
 | 
			
		||||
      user, repo = tap_args
 | 
			
		||||
      user.downcase!
 | 
			
		||||
 | 
			
		||||
@ -28,7 +28,7 @@ module Homebrew
 | 
			
		||||
        end
 | 
			
		||||
      end
 | 
			
		||||
    elsif ARGV.empty?
 | 
			
		||||
      puts_columns Formula.names
 | 
			
		||||
      puts_columns Formula.full_names
 | 
			
		||||
    elsif ARGV.first =~ HOMEBREW_TAP_FORMULA_REGEX
 | 
			
		||||
      query = ARGV.first
 | 
			
		||||
      user, repo, name = query.split("/", 3)
 | 
			
		||||
@ -152,7 +152,7 @@ module Homebrew
 | 
			
		||||
 | 
			
		||||
  def search_formulae rx
 | 
			
		||||
    aliases = Formula.aliases
 | 
			
		||||
    results = (Formula.names+aliases).grep(rx).sort
 | 
			
		||||
    results = (Formula.full_names+aliases).grep(rx).sort
 | 
			
		||||
 | 
			
		||||
    # Filter out aliases when the full name was also found
 | 
			
		||||
    results.reject do |name|
 | 
			
		||||
 | 
			
		||||
@ -603,13 +603,35 @@ class Formula
 | 
			
		||||
  alias_method :python2, :python
 | 
			
		||||
  alias_method :python3, :python
 | 
			
		||||
 | 
			
		||||
  # an array of all core {Formula} names
 | 
			
		||||
  def self.core_names
 | 
			
		||||
    Dir["#{HOMEBREW_LIBRARY}/Formula/*.rb"].map{ |f| File.basename f, ".rb" }.sort
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  # an array of all tap {Formula} names
 | 
			
		||||
  def self.tap_names
 | 
			
		||||
    names = []
 | 
			
		||||
    Pathname.glob("#{HOMEBREW_LIBRARY}/Taps/*/*/") do |tap|
 | 
			
		||||
      tap.find_formula do |formula|
 | 
			
		||||
        formula.to_s =~ HOMEBREW_TAP_PATH_REGEX
 | 
			
		||||
        names << "#{$1}/#{$2.gsub(/^homebrew-/, "")}/#{formula.basename(".rb")}"
 | 
			
		||||
      end
 | 
			
		||||
    end
 | 
			
		||||
    names.sort
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  # an array of all {Formula} names
 | 
			
		||||
  def self.names
 | 
			
		||||
    Dir["#{HOMEBREW_LIBRARY}/Formula/*.rb"].map{ |f| File.basename f, '.rb' }.sort
 | 
			
		||||
    (core_names + tap_names.map { |name| name.split("/")[-1] }).sort.uniq
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  # an array of all {Formula} names, which the tap formulae have the fully-qualified name
 | 
			
		||||
  def self.full_names
 | 
			
		||||
    core_names + tap_names
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def self.each
 | 
			
		||||
    names.each do |name|
 | 
			
		||||
    full_names.each do |name|
 | 
			
		||||
      begin
 | 
			
		||||
        yield Formulary.factory(name)
 | 
			
		||||
      rescue StandardError => e
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user