Класс: Cask::Uninstall Приватный
- Наследует:
- Object
- Object
- Cask::Uninstall
- Подключено расширением:
- Utils::Output::Mixin
- Определено в:
- cask/uninstall.rb
Этот класс является частью приватного API. Этот класс можно использовать только в репозитории Homebrew/brew. По возможности сторонним разработчикам следует избегать использования этого класса, поскольку он может быть удалён или изменён без предупреждения.
Краткое описание методов класса свернуть
- .check_dependent_casks(*casks, named_args: []) ⇒ void приватный
- .uninstall_casks(*casks, binaries: false, force: false, verbose: false) ⇒ void приватный
- .unpin_for_removal?(cask, force:) ⇒ Boolean приватный
Методы, включённые из 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
Подробное описание методов класса
.check_dependent_casks(*casks, named_args: []) ⇒ void
Этот метод является частью приватного API. Этот метод можно использовать только в репозитории Homebrew/brew. По возможности сторонним разработчикам следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
Этот метод возвращает неопределённое значение.
52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 | # File 'cask/uninstall.rb', line 52 def self.check_dependent_casks(*casks, named_args: []) dependents = [] all_requireds = casks.map(&:token) requireds = Set.new caskroom = ::Cask::Caskroom.casks caskroom.each do |dependent| next if all_requireds.include?(dependent.token) d = CaskDependent.new(dependent) dependencies = d.recursive_requirements.filter_map { |r| r.cask if r.is_a?(CaskDependent::Requirement) } found_dependents = dependencies.intersection(all_requireds) next if found_dependents.empty? requireds += found_dependents dependents << dependent.token end return if dependents.empty? DependentsMessage.new(requireds.to_a, dependents, named_args:).output end |
.uninstall_casks(*casks, binaries: false, force: false, verbose: false) ⇒ void
Этот метод является частью приватного API. Этот метод можно использовать только в репозитории Homebrew/brew. По возможности сторонним разработчикам следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
Этот метод возвращает неопределённое значение.
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | # File 'cask/uninstall.rb', line 13 def self.uninstall_casks(*casks, binaries: false, force: false, verbose: false) require "cask/installer" caught_exceptions = [] casks.each do |cask| odebug "Uninstalling Cask #{cask}" raise CaskNotInstalledError, cask if !cask.installed? && !force next unless unpin_for_removal?(cask, force:) Installer.new(cask, binaries:, force:, verbose:).uninstall rescue => e caught_exceptions << e next end return if caught_exceptions.empty? raise MultipleCaskErrors, caught_exceptions if caught_exceptions.count > 1 raise caught_exceptions.fetch(0) end |
.unpin_for_removal?(cask, force:) ⇒ Boolean
Этот метод является частью приватного API. Этот метод можно использовать только в репозитории Homebrew/brew. По возможности сторонним разработчикам следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
39 40 41 42 43 44 45 46 47 48 49 | # File 'cask/uninstall.rb', line 39 def self.unpin_for_removal?(cask, force:) return true unless cask.pinned? unless force onoe "#{cask.full_name} is pinned. You must unpin it to uninstall." return false end cask.unpin true end |
© 2009–present Homebrew contributors
Licensed under the BSD 2-Clause License.
https://docs.brew.sh/rubydoc/Cask/Uninstall.html