Spec-Zone.ru › Homebrew

Класс: Homebrew::Cmd::Untap Приватный

Наследует:
AbstractCommand
  • Object
  • AbstractCommand
  • Homebrew::Cmd::Untap
показать все
Определен в:
cmd/untap.rb,
sorbet/rbi/dsl/homebrew/cmd/untap.rbi

Этот класс является частью приватного API. Этот класс можно использовать только в репозитории Homebrew/brew. Третьим сторонам следует по возможности избегать использования этого класса, поскольку он может быть удален или изменен без предупреждения.

Определено в пространстве имен

Классы: Args

Краткое описание методов экземпляра свернуть

  • #args ⇒ Homebrew::Cmd::Untap::Args приватный
  • #installed_casks_for(tap:) ⇒ Array<Cask::Cask> приватный

    Все установленные cask, доступные в данный момент в tap, по полному имени cask.

  • #installed_formulae_for(tap:) ⇒ Array<Formula> приватный

    Все установленные формулы, доступные в данный момент в tap, по полному имени формулы.

  • #run ⇒ void приватный

Методы, унаследованные от AbstractCommand

command, command_name, dev_cmd?, #initialize, parser, ruby_cmd?

Методы, включенные из 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

Подробное описание конструкторов

Этот класс наследует конструктор от Homebrew::AbstractCommand

Подробное описание методов экземпляра

#args ⇒ Homebrew::Cmd::Untap::Args

Этот метод является частью приватного API. Этот метод можно использовать только в репозитории Homebrew/brew. Третьим сторонам следует по возможности избегать использования этого метода, поскольку он может быть удален или изменен без предупреждения.

Возвращает:

  • (Homebrew::Cmd::Untap::Args)


10
# File 'sorbet/rbi/dsl/homebrew/cmd/untap.rbi', line 10

def args; end

#installed_casks_for(tap:) ⇒ Array<Cask::Cask>

Этот метод является частью приватного API. Этот метод можно использовать только в репозитории Homebrew/brew. Третьим сторонам следует по возможности избегать использования этого метода, поскольку он может быть удален или изменен без предупреждения.

Все установленные cask, доступные в данный момент в tap, по полному имени cask.

Параметры:

  • tap (Tap)

Возвращает:

  • (Array<Cask::Cask>)


80
81
82
83
84
85
86
87
88
89
90
91
92
93
# File 'cmd/untap.rb', line 80

def installed_casks_for(tap:)
  tap.cask_tokens.filter_map do |cask_token|
    next unless installed_cask_tokens.include?(Utils.name_from_full_name(cask_token))

    cask = begin
      Cask::CaskLoader.load(cask_token)
    rescue Cask::CaskUnavailableError, MethodDeprecatedError
      # Don't blow up because of a single unavailable cask or a deprecated method.
      next
    end

    cask if cask.installed?
  end
end

#installed_formulae_for(tap:) ⇒ Array<Formula>

Этот метод является частью приватного API. Этот метод можно использовать только в репозитории Homebrew/brew. Третьим сторонам следует по возможности избегать использования этого метода, поскольку он может быть удален или изменен без предупреждения.

Все установленные формулы, доступные в данный момент в tap, по полному имени формулы.

Параметры:

  • tap (Tap)

Возвращает:

  • (Array<Formula>)


61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
# File 'cmd/untap.rb', line 61

def installed_formulae_for(tap:)
  tap.formula_names.filter_map do |formula_name|
    next unless installed_formulae_names.include?(Utils.name_from_full_name(formula_name))

    formula = begin
      Formulary.factory(formula_name)
    rescue FormulaUnavailableError, FormulaSpecificationError
      # Don't blow up because of a single unavailable or invalid formula.
      next
    end

    # Can't use Formula#any_version_installed? because it doesn't consider
    # taps correctly.
    formula if formula.installed_kegs.any? { |keg| keg.tab.tap == tap }
  end
end

#run ⇒ void

Этот метод является частью приватного API. Этот метод можно использовать только в репозитории Homebrew/brew. Третьим сторонам следует по возможности избегать использования этого метода, поскольку он может быть удален или изменен без предупреждения.

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



21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
# File 'cmd/untap.rb', line 21

def run
  taps = begin
    args.named.to_installed_taps
  rescue Tap::InvalidNameError => e
    odie e.message
  end

  taps.each do |tap|
    if tap.core_tap? && Homebrew::EnvConfig.no_install_from_api?
      ofail "Untapping #{tap} is not allowed"
      next
    end

    if Homebrew::EnvConfig.no_install_from_api? || (!tap.core_tap? && !tap.core_cask_tap?)
      installed_tap_formulae = installed_formulae_for(tap:)
      installed_tap_casks = installed_casks_for(tap:)

      if installed_tap_formulae.present? || installed_tap_casks.present?
        installed_names = (installed_tap_formulae + installed_tap_casks.map(&:token)).join("\n")
        if args.force? || Homebrew::EnvConfig.developer?
          opoo <<~EOS
            Untapping #{tap} even though it contains the following installed formulae or casks:
#{installed_names}          EOS
        else
          ofail <<~EOS
            Refusing to untap #{tap} because it contains the following installed formulae or casks:
#{installed_names}          EOS
          next
        end
      end
    end

    tap.uninstall manual: true
  end
end

© 2009–present Homebrew contributors
Licensed under the BSD 2-Clause License.
https://docs.brew.sh/rubydoc/Homebrew/Cmd/Untap.html

Spec-Zone.ru

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