Spec-Zone.ru › Homebrew

Класс: 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. Сторонним разработчикам по возможности следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.

Возвращает:

  • (Array<Reporter>)


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. Сторонним разработчикам по возможности следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.

Этот метод возвращает неопределённое значение.

Параметры:

  • reporter (Reporter)
  • auto_update (Boolean) (по умолчанию: false)


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. Сторонним разработчикам по возможности следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.

Этот метод возвращает неопределённое значение.

Параметры:

  • auto_update (Boolean) (по умолчанию: false)


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. Сторонним разработчикам по возможности следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.

Возвращает:

  • (Boolean)


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. Сторонним разработчикам по возможности следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.

Параметры:

  • key (Symbol)

Возвращает:

  • (Array<String>)


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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API