Класс: TestRunnerFormula
- Наследует:
- Object
- Object
- TestRunnerFormula
- Определён в:
- test_runner_formula.rb
Краткое описание атрибутов экземпляра свернуть
- #eval_all ⇒ Boolean только для чтения закрытый
- #formula ⇒ Formula только для чтения закрытый
- #name ⇒ String только для чтения закрытый
Краткое описание методов экземпляра свернуть
- #arm64_compatible? ⇒ Boolean закрытый
- #arm64_only? ⇒ Boolean закрытый
- #compatible_with?(macos_version) ⇒ Boolean закрытый
- #dependents(platform:, arch:, macos_version:) ⇒ Array<TestRunnerFormula> закрытый
- #initialize(formula, eval_all: false) ⇒ void конструктор закрытый
- #linux_compatible? ⇒ Boolean закрытый
- #linux_only? ⇒ Boolean закрытый
- #macos_compatible? ⇒ Boolean закрытый
- #macos_only? ⇒ Boolean закрытый
- #versioned_macos_requirement ⇒ MacOSRequirement? закрытый
- #x86_64_compatible? ⇒ Boolean закрытый
- #x86_64_only? ⇒ Boolean закрытый
Подробное описание конструкторов
#initialize(formula, eval_all: false) ⇒ void
Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам следует по возможности избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
17 18 19 20 21 22 23 24 | # File 'test_runner_formula.rb', line 17 def initialize(formula, eval_all: false) Formulary.enable_factory_cache! @formula = formula @name = T.let(formula.name, String) @dependent_hash = T.let({}, T::Hash[Symbol, T::Array[TestRunnerFormula]]) @eval_all = eval_all freeze end |
Подробное описание атрибутов экземпляра
#eval_all ⇒ Boolean (только для чтения)
Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам следует по возможности избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
14 15 16 | # File 'test_runner_formula.rb', line 14 def eval_all @eval_all end |
#formula ⇒ Formula (только для чтения)
Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам следует по возможности избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
11 12 13 | # File 'test_runner_formula.rb', line 11 def formula @formula end |
#name ⇒ String (только для чтения)
Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам следует по возможности избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
8 9 10 | # File 'test_runner_formula.rb', line 8 def name @name end |
Подробное описание методов экземпляра
#arm64_compatible? ⇒ Boolean
Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам следует по возможности избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
62 63 64 | # File 'test_runner_formula.rb', line 62 def arm64_compatible? !x86_64_only? end |
#arm64_only? ⇒ Boolean
Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам следует по возможности избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
57 58 59 | # File 'test_runner_formula.rb', line 57 def arm64_only? formula.requirements.any? { |r| r.is_a?(ArchRequirement) && (r.arch == :arm64) } end |
#compatible_with?(macos_version) ⇒ Boolean
Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам следует по возможности избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
72 73 74 75 76 77 78 | # File 'test_runner_formula.rb', line 72 def compatible_with?(macos_version) # Assign to a variable to assist type-checking. requirement = versioned_macos_requirement return true if requirement.blank? macos_version.public_send(requirement.comparator, requirement.version) end |
#dependents(platform:, arch:, macos_version:) ⇒ Array<TestRunnerFormula>
Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам следует по возможности избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 | # File 'test_runner_formula.rb', line 87 def dependents(platform:, arch:, macos_version:) cache_key = :"#{platform}_#{arch}_#{macos_version}" @dependent_hash[cache_key] ||= begin os = macos_version || platform arch = Homebrew::SimulateSystem.arch_symbols.fetch(arch) Homebrew::SimulateSystem.with(os:, arch:) do (eval_all ? Formula.all(eval_all: true) : Formula.installed) .select { |candidate_f| candidate_f.deps.map(&:name).include?(name) } .map { |f| TestRunnerFormula.new(f, eval_all:) } .freeze end end @dependent_hash.fetch(cache_key) end |
#linux_compatible? ⇒ Boolean
Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам следует по возможности избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
42 43 44 | # File 'test_runner_formula.rb', line 42 def linux_compatible? formula.supports_linux? end |
#linux_only? ⇒ Boolean
Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам следует по возможности избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
37 38 39 | # File 'test_runner_formula.rb', line 37 def linux_only? !macos_compatible? end |
#macos_compatible? ⇒ Boolean
Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам следует по возможности избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
32 33 34 | # File 'test_runner_formula.rb', line 32 def macos_compatible? formula.supports_macos? end |
#macos_only? ⇒ Boolean
Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам следует по возможности избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
27 28 29 | # File 'test_runner_formula.rb', line 27 def macos_only? !linux_compatible? end |
#versioned_macos_requirement ⇒ MacOSRequirement?
Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам следует по возможности избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
67 68 69 | # File 'test_runner_formula.rb', line 67 def versioned_macos_requirement formula.requirements.find { |r| r.is_a?(MacOSRequirement) && r.version_specified? } end |
#x86_64_compatible? ⇒ Boolean
Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам следует по возможности избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
52 53 54 | # File 'test_runner_formula.rb', line 52 def x86_64_compatible? !arm64_only? end |
#x86_64_only? ⇒ Boolean
Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам следует по возможности избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
47 48 49 | # File 'test_runner_formula.rb', line 47 def x86_64_only? formula.requirements.any? { |r| r.is_a?(ArchRequirement) && (r.arch == :x86_64) } end |
© 2009–present Homebrew contributors
Licensed under the BSD 2-Clause License.
https://docs.brew.sh/rubydoc/TestRunnerFormula.html