Spec-Zone.ru › Homebrew

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

Параметры:

  • formula (Formula)
  • eval_all (Boolean) (по умолчанию: false)


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

Возвращает:

  • (Boolean)


14
15
16
# File 'test_runner_formula.rb', line 14

def eval_all
  @eval_all
end

#formula ⇒ Formula (только для чтения)

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

Возвращает:

  • (Formula)


11
12
13
# File 'test_runner_formula.rb', line 11

def formula
  @formula
end

#name ⇒ String (только для чтения)

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

Возвращает:

  • (String)


8
9
10
# File 'test_runner_formula.rb', line 8

def name
  @name
end

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

#arm64_compatible? ⇒ Boolean

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

Возвращает:

  • (Boolean)


62
63
64
# File 'test_runner_formula.rb', line 62

def arm64_compatible?
  !x86_64_only?
end

#arm64_only? ⇒ Boolean

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

Возвращает:

  • (Boolean)


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

Параметры:

  • macos_version (MacOSVersion)

Возвращает:

  • (Boolean)


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

Параметры:

  • platform (Symbol)
  • arch (Symbol)
  • macos_version (Symbol, nil)

Возвращает:

  • (Array<TestRunnerFormula>)


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

Возвращает:

  • (Boolean)


42
43
44
# File 'test_runner_formula.rb', line 42

def linux_compatible?
  formula.supports_linux?
end

#linux_only? ⇒ Boolean

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

Возвращает:

  • (Boolean)


37
38
39
# File 'test_runner_formula.rb', line 37

def linux_only?
  !macos_compatible?
end

#macos_compatible? ⇒ Boolean

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

Возвращает:

  • (Boolean)


32
33
34
# File 'test_runner_formula.rb', line 32

def macos_compatible?
  formula.supports_macos?
end

#macos_only? ⇒ Boolean

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

Возвращает:

  • (Boolean)


27
28
29
# File 'test_runner_formula.rb', line 27

def macos_only?
  !linux_compatible?
end

#versioned_macos_requirement ⇒ MacOSRequirement?

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

Возвращает:

  • (MacOSRequirement, nil)


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

Возвращает:

  • (Boolean)


52
53
54
# File 'test_runner_formula.rb', line 52

def x86_64_compatible?
  !arm64_only?
end

#x86_64_only? ⇒ Boolean

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

Возвращает:

  • (Boolean)


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

Spec-Zone.ru

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