Spec-Zone.ru › Homebrew

Класс: CaskDependent Приватный

Наследует:
Object
  • Object
  • CaskDependent
показать все
Определён в:
cask_dependent.rb

Обзор

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

Адаптер для cask, предоставляющий информацию о зависимостях через интерфейс, аналогичный интерфейсу формулы.

Определено в пространстве имён

Классы: Requirement

Краткое описание атрибутов экземпляра свернуть

  • #cask ⇒ Cask::Cask только для чтения приватный

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

  • #any_version_installed? ⇒ Boolean приватный
  • #deps ⇒ Array<Dependency> приватный
  • #full_name ⇒ String приватный
  • #initialize(cask) ⇒ void конструктор приватный
  • #name ⇒ String приватный
  • #recursive_dependencies(&block) ⇒ Array<::Dependency> приватный
  • #recursive_requirements(&block) ⇒ Requirements приватный
  • #requirements ⇒ Array<::Requirement> приватный
  • #runtime_dependencies(read_from_tab: true, undeclared: true) ⇒ Array<Dependency> приватный

Подробное описание конструкторов

#initialize(cask) ⇒ void

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

Параметры:

  • cask (Cask::Cask)


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

def initialize(cask)
  @cask = cask
end

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

#cask ⇒ Cask::Cask (только для чтения)

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

Возвращает:

  • (Cask::Cask)


24
25
26
# File 'cask_dependent.rb', line 24

def cask
  @cask
end

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

#any_version_installed? ⇒ Boolean

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

Возвращает:

  • (Boolean)


113
114
115
# File 'cask_dependent.rb', line 113

def any_version_installed?
  @cask.installed?
end

#deps ⇒ Array<Dependency>

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

Возвращает:

  • (Array<Dependency>)


49
50
51
52
53
54
55
56
# File 'cask_dependent.rb', line 49

def deps
  @deps ||= T.let(
    @cask.depends_on.formula.map do |f|
      Dependency.new f
    end,
    T.nilable(T::Array[Dependency]),
  )
end

#full_name ⇒ String

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

Возвращает:

  • (String)


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

def full_name
  @cask.full_name
end

#name ⇒ String

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

Возвращает:

  • (String)


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

def name
  @cask.token
end

#recursive_dependencies(&block) ⇒ Array<::Dependency>

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

Параметры:

  • block (T.proc.params(arg0: T.any(Formula, CaskDependent, SoftwareSpec), arg1: ::Dependency).returns(T.nilable(Symbol)), nil)

Возвращает:

  • (Array<::Dependency>)


98
99
100
# File 'cask_dependent.rb', line 98

def recursive_dependencies(&block)
  Dependency.expand(self, &block)
end

#recursive_requirements(&block) ⇒ Requirements

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

Параметры:

  • block (T.proc.params(arg0: T.any(Formula, CaskDependent, SoftwareSpec), arg1: ::Requirement).returns(T.nilable(Symbol)), nil)

Возвращает:

  • (Requirements)


108
109
110
# File 'cask_dependent.rb', line 108

def recursive_requirements(&block)
  Requirement.expand(self, &block)
end

#requirements ⇒ Array<::Requirement>

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

Возвращает:

  • (Array<::Requirement>)


59
60
61
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
# File 'cask_dependent.rb', line 59

def requirements
  @requirements ||= T.let(
    begin
      requirements = []
      dsl_reqs = @cask.depends_on

      dsl_reqs.arch&.each do |arch|
        arch = if arch[:bits] == 64
          if arch[:type] == :intel
            :x86_64
          else
            :"#{arch[:type]}64"
          end
        elsif arch[:type] == :intel && arch[:bits] == 32
          :i386
        else
          arch[:type]
        end
        requirements << ArchRequirement.new([arch])
      end
      dsl_reqs.cask.each do |cask_ref|
        requirements << CaskDependent::Requirement.new([{ cask: cask_ref }])
      end
      requirements << dsl_reqs.linux if dsl_reqs.linux
      requirements << dsl_reqs.macos if dsl_reqs.macos
      requirements << dsl_reqs.maximum_macos if dsl_reqs.maximum_macos

      requirements
    end,
    T.nilable(T::Array[::Requirement]),
  )
end

#runtime_dependencies(read_from_tab: true, undeclared: true) ⇒ Array<Dependency>

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

Параметры:

  • read_from_tab (Boolean) (по умолчанию: true)
  • undeclared (Boolean) (по умолчанию: true)

Возвращает:

  • (Array<Dependency>)


42
43
44
45
46
# File 'cask_dependent.rb', line 42

def runtime_dependencies(read_from_tab: true, undeclared: true)
  deps.flat_map do |dep|
    [dep, *dep.to_installed_formula.runtime_dependencies(read_from_tab:, undeclared:)]
  end.uniq
end

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

Spec-Zone.ru

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