Модуль: DeprecateDisable
- Определён в:
- deprecate_disable.rb
Обзор
Этот модуль является частью внутреннего API. Этот модуль можно использовать только внутри репозиториев, принадлежащих Homebrew, за исключением casks и formulae. По возможности сторонним разработчикам следует избегать использования этого модуля, поскольку он может быть удалён или изменён без предупреждения.
Вспомогательный модуль для обработки disable! и deprecate!.
Краткое описание констант свернуть
- FORMULA_DEPRECATE_DISABLE_REASONS =
Эта константа является частью внутреннего API. Эту константу можно использовать только внутри репозиториев, принадлежащих Homebrew, за исключением casks и formulae. По возможности сторонним разработчикам следует избегать использования этой константы, поскольку она может быть удалена или изменена без предупреждения.
T.let({ does_not_build: "does not build", no_license: "has no license", repo_archived: "has an archived upstream repository", repo_removed: "has a removed upstream repository", unmaintained: "is not maintained upstream", unsupported: "is not supported upstream", deprecated_upstream: "is deprecated upstream", versioned_formula: "is a versioned formula", checksum_mismatch: "was built with an initially released source file that had " \ "a different checksum than the current one. " \ "Upstream's repository might have been compromised. " \ "We can re-package this once upstream has confirmed that they retagged their release", }.freeze, T::Hash[Symbol, String])
- CASK_DEPRECATE_DISABLE_REASONS =
Эта константа является частью внутреннего API. Эту константу можно использовать только внутри репозиториев, принадлежащих Homebrew, за исключением casks и formulae. По возможности сторонним разработчикам следует избегать использования этой константы, поскольку она может быть удалена или изменена без предупреждения.
T.let({ discontinued: "is discontinued upstream", moved_to_mas: "is now exclusively distributed on the Mac App Store", no_longer_available: "is no longer available upstream", no_longer_meets_criteria: "no longer meets the criteria for acceptable casks", unmaintained: "is not maintained upstream", fails_gatekeeper_check: "does not pass the macOS Gatekeeper check", unreachable: "is no longer reliably reachable upstream", }.freeze, T::Hash[Symbol, String])
- REMOVE_DISABLED_TIME_WINDOW =
Эта константа является частью закрытого API. Эту константу можно использовать только в репозитории Homebrew/brew. По возможности сторонним разработчикам следует избегать использования этой константы, поскольку она может быть удалена или изменена без предупреждения.
Один год при использовании << или >> с Date.today.
12- REMOVE_DISABLED_BEFORE =
Эта константа является частью внутреннего API. Эту константу можно использовать только внутри репозиториев, принадлежащих Homebrew, за исключением casks и formulae. По возможности сторонним разработчикам следует избегать использования этой константы, поскольку она может быть удалена или изменена без предупреждения.
T.let((Date.today << REMOVE_DISABLED_TIME_WINDOW).freeze, Date)
Краткое описание методов класса свернуть
- .message(formula_or_cask) ⇒ String? закрытый
- .replacement_with_type(formula, cask) ⇒ String? закрытый
- .to_reason_string_or_symbol(string, type:) ⇒ String, ... закрытый
- .type(formula_or_cask) ⇒ Symbol? закрытый
Подробное описание методов класса
.message(formula_or_cask) ⇒ String?
Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. По возможности сторонним разработчикам следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
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 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 | # File 'deprecate_disable.rb', line 62 def (formula_or_cask) return if type(formula_or_cask).blank? reason = if formula_or_cask.deprecated? formula_or_cask.deprecation_reason elsif formula_or_cask.disabled? formula_or_cask.disable_reason end reason = if formula_or_cask.is_a?(Formula) && FORMULA_DEPRECATE_DISABLE_REASONS.key?(reason) FORMULA_DEPRECATE_DISABLE_REASONS[reason] elsif formula_or_cask.is_a?(Cask::Cask) && CASK_DEPRECATE_DISABLE_REASONS.key?(reason) CASK_DEPRECATE_DISABLE_REASONS[reason] else reason end = if reason.present? "#{type(formula_or_cask)} because it #{reason}!" else "#{type(formula_or_cask)}!" end disable_date = formula_or_cask.disable_date if !disable_date && formula_or_cask.deprecation_date disable_date = formula_or_cask.deprecation_date >> REMOVE_DISABLED_TIME_WINDOW end if disable_date += if disable_date < Date.today " It was disabled on #{disable_date}." else " It will be disabled on #{disable_date}." end end replacement = if formula_or_cask.disabled? replacement_with_type( formula_or_cask.disable_replacement_formula, formula_or_cask.disable_replacement_cask, ) elsif formula_or_cask.deprecated? replacement_with_type( formula_or_cask.deprecation_replacement_formula, formula_or_cask.deprecation_replacement_cask, ) end if replacement.present? << "\n" << <<~EOS Replacement: brew install #{replacement} EOS end end |
.replacement_with_type(formula, cask) ⇒ String?
Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. По возможности сторонним разработчикам следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
51 52 53 54 55 56 57 58 59 | # File 'deprecate_disable.rb', line 51 def replacement_with_type(formula, cask) if formula && formula == cask formula elsif formula "--formula #{formula}" elsif cask "--cask #{cask}" end end |
.to_reason_string_or_symbol(string, type:) ⇒ String, ...
Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. По возможности сторонним разработчикам следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
121 122 123 124 125 126 127 128 129 130 | # File 'deprecate_disable.rb', line 121 def to_reason_string_or_symbol(string, type:) return if string.nil? if (type == :formula && FORMULA_DEPRECATE_DISABLE_REASONS.key?(string.to_sym)) || (type == :cask && CASK_DEPRECATE_DISABLE_REASONS.key?(string.to_sym)) return string.to_sym end string end |
.type(formula_or_cask) ⇒ Symbol?
Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. По возможности сторонним разработчикам следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
39 40 41 42 43 | # File 'deprecate_disable.rb', line 39 def type(formula_or_cask) return :deprecated if formula_or_cask.deprecated? :disabled if formula_or_cask.disabled? end |
© 2009–present Homebrew contributors
Licensed under the BSD 2-Clause License.
https://docs.brew.sh/rubydoc/DeprecateDisable.html