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