Класс: Cask::Tab
- Наследует:
- AbstractTab
- Object
- AbstractTab
- Cask::Tab
- Определено в:
- cask/tab.rb
Краткое описание констант свернуть
- Cache =
Эта константа является частью закрытого API. Эту константу можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам по возможности следует избегать использования этой константы, поскольку она может быть удалена или изменена без предупреждения.
type_template { { fixed: T::Hash[T.any(Pathname, String), T.untyped] } }
Константы, унаследованные от AbstractTab
AbstractTab::FILENAME, AbstractTab::RuntimeDependencies
Краткое описание атрибутов экземпляра свернуть
- #uninstall_artifacts ⇒ Array<T.untyped>? закрытый
- #uninstall_flight_blocks ⇒ Object закрытый
Атрибуты, унаследованные от AbstractTab
#arch, #built_on, #homebrew_version, #installed_on_request, #loaded_from_api, #loaded_from_internal_api, #runtime_dependencies, #source, #tabfile, #time
Краткое описание методов класса свернуть
- .create(formula_or_cask) ⇒ T.attached_class закрытый
Создаёт экземпляр Tab для новой установки cask.
- .empty ⇒ T.attached_class закрытый
- .for_cask(cask) ⇒ T.attached_class закрытый
Возвращает Tab для уже установленного cask или фиктивный объект, если cask не установлен.
- .runtime_deps_hash(cask) ⇒ Hash{Symbol => Array<Hash{String => T.untyped}>} закрытый
Краткое описание методов экземпляра свернуть
- #initialize(attributes = {}) ⇒ void конструктор закрытый
- #to_json(*_args) ⇒ String закрытый
- #version ⇒ String? закрытый
Методы, унаследованные от AbstractTab
from_file, from_file_content, #installed_on_request_present?, #parsed_homebrew_version, #tap, #tap=, #write
Методы, добавленные модулем Cachable
Подробное описание конструкторов
#initialize(attributes = {}) ⇒ void
Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам следует по возможности избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
21 22 23 24 25 26 | # File 'cask/tab.rb', line 21 def initialize(attributes = {}) @uninstall_flight_blocks = T.let(nil, T.nilable(T::Boolean)) @uninstall_artifacts = T.let(nil, T.nilable(T::Array[T.untyped])) super end |
Подробное описание атрибутов экземпляра
#uninstall_artifacts ⇒ Array<T.untyped>?
Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам следует по возможности избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
18 19 20 | # File 'cask/tab.rb', line 18 def uninstall_artifacts @uninstall_artifacts end |
#uninstall_flight_blocks ⇒ Object
Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам следует по возможности избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
15 16 17 | # File 'cask/tab.rb', line 15 def uninstall_flight_blocks @uninstall_flight_blocks end |
Подробное описание методов класса
.create(formula_or_cask) ⇒ T.attached_class
Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам по возможности следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
Создаёт экземпляр Cask::Tab для новой установки cask.
30 31 32 33 34 35 36 37 38 39 40 41 42 | # File 'cask/tab.rb', line 30 def self.create(formula_or_cask) cask = T.cast(formula_or_cask, Cask) tab = super tab.tabfile = cask./FILENAME tab.uninstall_flight_blocks = cask.uninstall_flight_blocks? tab.runtime_dependencies = Tab.runtime_deps_hash(cask) tab.source["version"] = cask.version.to_s tab.source["path"] = cask.sourcefile_path.to_s tab.uninstall_artifacts = cask.artifacts_list(uninstall_only: true) tab end |
.empty ⇒ T.attached_class
Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам по возможности следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
65 66 67 68 69 70 71 72 | # File 'cask/tab.rb', line 65 def self.empty tab = super tab.uninstall_flight_blocks = false tab.uninstall_artifacts = [] tab.source["version"] = nil tab end |
.for_cask(cask) ⇒ T.attached_class
Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам по возможности следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
Возвращает Cask::Tab для уже установленного cask или фиктивный объект, если cask не установлен.
47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 | # File 'cask/tab.rb', line 47 def self.for_cask(cask) path = cask./FILENAME return from_file(path) if path.exist? tab = empty tab.source = { "path" => cask.sourcefile_path.to_s, "tap" => cask.tap&.name, "tap_git_head" => cask.tap_git_head, "version" => cask.version.to_s, } tab.uninstall_artifacts = cask.artifacts_list(uninstall_only: true) tab end |
.runtime_deps_hash(cask) ⇒ Hash{Symbol => Array<Hash{String => T.untyped}>}
Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам по возможности следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
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 | # File 'cask/tab.rb', line 75 def self.runtime_deps_hash(cask) cask_and_formula_dep_graph = ::Utils::TopologicalHash.graph_package_dependencies(cask) cask_deps, formula_deps = T.cast(cask_and_formula_dep_graph.values.flatten.uniq.partition do |dep| dep.is_a?(Cask) end, [T::Array[Cask], T::Array[Formula]]) runtime_deps = {} if cask_deps.any? runtime_deps[:cask] = cask_deps.map do |dep| { "full_name" => dep.full_name, "version" => dep.version.to_s, "declared_directly" => cask.depends_on.cask.include?(dep.full_name), } end end if formula_deps.any? runtime_deps[:formula] = formula_deps.map do |dep| formula_to_dep_hash(dep, cask.depends_on.formula) end end runtime_deps end |
Подробное описание методов экземпляра
#to_json(*_args) ⇒ String
Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. По возможности сторонним разработчикам следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 | # File 'cask/tab.rb', line 108 def to_json(*_args) attributes = { "homebrew_version" => homebrew_version, "loaded_from_api" => loaded_from_api, "loaded_from_internal_api" => loaded_from_internal_api, "uninstall_flight_blocks" => uninstall_flight_blocks, "installed_on_request" => installed_on_request, "time" => time, "runtime_dependencies" => runtime_dependencies, "source" => source, "arch" => arch, "uninstall_artifacts" => uninstall_artifacts, "built_on" => built_on, } JSON.pretty_generate(attributes) end |
#version ⇒ String?
Этот метод является частью закрытого API. Этот метод можно использовать только в репозитории Homebrew/brew. По возможности сторонним разработчикам следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
103 104 105 | # File 'cask/tab.rb', line 103 def version source["version"] end |
© 2009–present Homebrew contributors
Licensed under the BSD 2-Clause License.
https://docs.brew.sh/rubydoc/Cask/Tab.html