Класс: ReporterHub Приватный
- Наследует:
- Object
- Object
- ReporterHub
- Подключает:
- Utils::Output::Mixin
- Определён в:
- cmd/update_report/reporter_hub.rb
Этот класс является частью закрытого API. Этот класс можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам по возможности следует избегать использования этого класса, поскольку он может быть удалён или изменён без предупреждения.
Краткое описание атрибутов экземпляра свернуть
- #reporters ⇒ Array<Reporter> только для чтения приватный
Краткое описание методов экземпляра свернуть
- #add(reporter, auto_update: false) ⇒ void приватный
- #dump(auto_update: false) ⇒ void приватный
- #empty? ⇒ Boolean приватный
- #initialize ⇒ void конструктор приватный
- #select_formula_or_cask(key) ⇒ Array<String> приватный
Методы, подключённые из Utils::Output::Mixin
#issue_reporting_message, #odebug, #odeprecated, #odie, #odisabled, #ofail, #oh1, #oh1_title, #ohai, #ohai_title, #onoe, #opoo, #opoo_outside_github_actions, #opoo_without_github_actions_annotation, #pretty_deprecated, #pretty_disabled, #pretty_duration, #pretty_install_status, #pretty_installed, #pretty_uninstalled, #pretty_upgradable, #pretty_warning
Подробное описание конструкторов
#initialize ⇒ void
Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам по возможности следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
11 12 13 14 | # File 'cmd/update_report/reporter_hub.rb', line 11 def initialize @hash = T.let({}, T::Hash[Symbol, T::Array[T.any(String, [String, String])]]) @reporters = T.let([], T::Array[Reporter]) end |
Подробное описание атрибутов экземпляра
#reporters ⇒ Array<Reporter> (только для чтения)
Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам по возможности следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
8 9 10 | # File 'cmd/update_report/reporter_hub.rb', line 8 def reporters @reporters end |
Подробное описание методов экземпляра
#add(reporter, auto_update: false) ⇒ void
Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам по возможности следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
Этот метод возвращает неопределённое значение.
24 25 26 27 28 | # File 'cmd/update_report/reporter_hub.rb', line 24 def add(reporter, auto_update: false) @reporters << reporter report = reporter.report(auto_update:).reject { |_k, v| v.empty? } @hash.update(report) { |_key, oldval, newval| oldval + newval } end |
#dump(auto_update: false) ⇒ void
Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам по возможности следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
Этот метод возвращает неопределённое значение.
36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 | # File 'cmd/update_report/reporter_hub.rb', line 36 def dump(auto_update: false) unless Homebrew::EnvConfig.no_update_report_new? dump_new_formula_report dump_new_cask_report end dump_deleted_formula_report dump_deleted_cask_report outdated_formulae = Formula.installed.select(&:outdated?).map(&:name) outdated_casks = Cask::Caskroom.casks.select(&:outdated?).map(&:token) unless auto_update output_dump_formula_or_cask_report "Outdated Formulae", outdated_formulae output_dump_formula_or_cask_report "Outdated Casks", outdated_casks end return if outdated_formulae.blank? && outdated_casks.blank? outdated_formulae = outdated_formulae.count outdated_casks = outdated_casks.count update_pronoun = if (outdated_formulae + outdated_casks) == 1 "it" else "them" end msg = "" if outdated_formulae.positive? noun = Utils.pluralize("formula", outdated_formulae) msg += "#{Tty.bold}#{outdated_formulae}#{Tty.reset} outdated #{noun}" end if outdated_casks.positive? msg += " and " if msg.present? msg += "#{Tty.bold}#{outdated_casks}#{Tty.reset} outdated #{Utils.pluralize("cask", outdated_casks)}" end return if msg.blank? # When auto-updating before a zero-argument `brew upgrade` or `brew outdated`, # that command lists the outdated packages itself so don't duplicate it here. # Two-way sync: `auto-update` in `Library/Homebrew/brew.sh`. return if auto_update && ENV["HOMEBREW_AUTO_UPDATE_SKIP_OUTDATED"].present? puts puts "You have #{msg} installed." # If we're auto-updating, don't need to suggest commands that we're perhaps # already running. return if auto_update puts <<~EOS You can upgrade #{update_pronoun} with #{Tty.bold}brew upgrade#{Tty.reset} or list #{update_pronoun} with #{Tty.bold}brew outdated#{Tty.reset}. EOS end |
#empty? ⇒ Boolean
Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам по возможности следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
31 32 33 | # File 'cmd/update_report/reporter_hub.rb', line 31 def empty? @hash.empty? end |
#select_formula_or_cask(key) ⇒ Array<String>
Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам по возможности следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
17 18 19 20 21 | # File 'cmd/update_report/reporter_hub.rb', line 17 def select_formula_or_cask(key) raise "Unsupported key #{key}" unless [:A, :AC, :D, :DC, :M, :MC, :R, :RC, :T].include?(key) T.cast(@hash.fetch(key, []), T::Array[String]) end |
© 2009–present Homebrew contributors
Licensed under the BSD 2-Clause License.
https://docs.brew.sh/rubydoc/ReporterHub.html