Class: Descriptions

Inherits:
Object
  • Object
show all
Extended by:
Homebrew::Search
Defined in:
brew/Library/Homebrew/descriptions.rb

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Homebrew::Search

query_regexp, search_casks, search_descriptions, search_formulae, search_taps

Constructor Details

#initialize(descriptions) ⇒ Descriptions

Create an actual instance.



28
29
30
# File 'brew/Library/Homebrew/descriptions.rb', line 28

def initialize(descriptions)
  @descriptions = descriptions
end

Class Method Details

.search(string_or_regex, field, cache_store) ⇒ Object

Given a regex, find all formulae whose specified fields contain a match.



12
13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'brew/Library/Homebrew/descriptions.rb', line 12

def self.search(string_or_regex, field, cache_store)
  cache_store.populate_if_empty!

  results = case field
  when :name
    cache_store.search(string_or_regex) { |name, _| name }
  when :desc
    cache_store.search(string_or_regex) { |_, desc| desc }
  when :either
    cache_store.search(string_or_regex)
  end

  new(results)
end

Instance Method Details

Take search results – a hash mapping formula names to descriptions – and print them.



34
35
36
37
38
39
40
41
42
43
44
45
46
# File 'brew/Library/Homebrew/descriptions.rb', line 34

def print
  blank = Formatter.warning("[no description]")
  @descriptions.keys.sort.each do |full_name|
    short_name = short_names[full_name]
    printed_name = if short_name_counts[short_name] == 1
      short_name
    else
      full_name
    end
    description = @descriptions[full_name] || blank
    puts "#{Tty.bold}#{printed_name}:#{Tty.reset} #{description}"
  end
end