Spec-Zone.ru › Homebrew

Модуль: Dependable Абстрактный Приватный

Расширен модулем:
T::Helpers
Включён в:
Dependency, Requirement
Определён в:
dependable.rb

Обзор

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

Этот модуль является абстрактным.

Подклассы должны реализовать приведённые ниже методы abstract.

Общие функции для классов, от которых могут зависеть другие классы.

Сводка констант свернуть

PRUNE =

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

Верните это значение из блока Dependency.expand или Requirement.expand, чтобы удалить зависимость/требование и все его рекурсивные зависимости из списка результатов.

:prune
SKIP =

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

Верните это значение из блока Dependency.expand, чтобы исключить зависимость из списка результатов, продолжив раскрытие её дочерних зависимостей.

:skip
KEEP_BUT_PRUNE_RECURSIVE_DEPS =

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

Верните это значение из блока Dependency.expand, чтобы оставить зависимость в списке результатов, но прекратить рекурсивное раскрытие её собственных зависимостей.

:keep_but_prune_recursive_deps
RESERVED_TAGS =

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

:run и :linked больше не используются, но оставлены здесь, чтобы избежать их неправильного применения в будущем.

T.let(
  [:build, :optional, :recommended, :run, :test, :linked, :implicit, :no_linkage].freeze,
  T::Array[Symbol],
)

Сводка методов экземпляра свернуть

  • #build? ⇒ Boolean приватный
  • #implicit? ⇒ Boolean приватный
  • #no_linkage? ⇒ Boolean приватный
  • #option_names ⇒ Array<String> абстрактный приватный
  • #option_tags ⇒ Array<String> приватный
  • #optional? ⇒ Boolean приватный
  • #options ⇒ Options приватный
  • #prune_from_option?(build) ⇒ Boolean приватный
  • #prune_if_build_and_not_dependent?(dependent, formula = nil) ⇒ Boolean приватный
  • #recommended? ⇒ Boolean приватный
  • #required? ⇒ Boolean приватный
  • #tags ⇒ Array<Symbol, String, Array<T.untyped>> приватный
  • #test? ⇒ Boolean приватный

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

#build? ⇒ Boolean

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

Возвращает:

  • (Boolean)


40
41
42
# File 'dependable.rb', line 40

def build?
  tags.include? :build
end

#implicit? ⇒ Boolean

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

Возвращает:

  • (Boolean)


60
61
62
# File 'dependable.rb', line 60

def implicit?
  tags.include? :implicit
end

#no_linkage? ⇒ Boolean

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

Возвращает:

  • (Boolean)


65
66
67
# File 'dependable.rb', line 65

def no_linkage?
  tags.include? :no_linkage
end

#option_names ⇒ Array<String>

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

Этот метод является абстрактным.

Возвращает:

  • (Array<String>)


37
# File 'dependable.rb', line 37

def option_names; end

#option_tags ⇒ Array<String>

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

Возвращает:

  • (Array<String>)


75
76
77
# File 'dependable.rb', line 75

def option_tags
  tags.grep(String)
end

#optional? ⇒ Boolean

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

Возвращает:

  • (Boolean)


45
46
47
# File 'dependable.rb', line 45

def optional?
  tags.include? :optional
end

#options ⇒ Options

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

Возвращает:

  • (Options)


80
81
82
# File 'dependable.rb', line 80

def options
  Options.create(option_tags)
end

#prune_from_option?(build) ⇒ Boolean

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

Параметры:

  • build (BuildOptions)

Возвращает:

  • (Boolean)


85
86
87
88
89
# File 'dependable.rb', line 85

def prune_from_option?(build)
  return false if !optional? && !recommended?

  build.without?(self)
end

#prune_if_build_and_not_dependent?(dependent, formula = nil) ⇒ Boolean

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

Параметры:

  • dependent (Formula, Dependency)
  • formula (Formula, nil) (по умолчанию: nil)

Возвращает:

  • (Boolean)


92
93
94
95
96
97
98
99
100
101
102
# File 'dependable.rb', line 92

def prune_if_build_and_not_dependent?(dependent, formula = nil)
  return false unless build?

  if formula
    dependent != formula
  else
    raise "dependent is not a formula or cask dependent" unless dependent.is_a?(Dependency)

    dependent.installed?
  end
end

#recommended? ⇒ Boolean

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

Возвращает:

  • (Boolean)


50
51
52
# File 'dependable.rb', line 50

def recommended?
  tags.include? :recommended
end

#required? ⇒ Boolean

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

Возвращает:

  • (Boolean)


70
71
72
# File 'dependable.rb', line 70

def required?
  !build? && !test? && !optional? && !recommended?
end

#tags ⇒ Array<Symbol, String, Array<T.untyped>>

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

Возвращает:

  • (Array<Symbol, String, Array<T.untyped>>)


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

def tags
  @tags ||= T.let([], T.nilable(T::Array[T.any(Symbol, String, T::Array[T.untyped])]))
end

#test? ⇒ Boolean

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

Возвращает:

  • (Boolean)


55
56
57
# File 'dependable.rb', line 55

def test?
  tags.include? :test
end

© 2009–present Homebrew contributors
Licensed under the BSD 2-Clause License.
https://docs.brew.sh/rubydoc/Dependable.html

Spec-Zone.ru

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