Spec-Zone.ru › Homebrew

Модуль: Utils::Tar Приватный

Расширен модулем:
SystemCommand::Mixin, Output::Mixin
Определён в:
utils/tar.rb

Обзор

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

Вспомогательные функции для работы с tar-файлами.

Краткое описание констант свернуть

TAR_FILE_EXTENSIONS =

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

%w[.tar.tb2.tbz.tbz2.tgz.tlz.txz.tZ].freeze

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

  • .available? ⇒ Boolean приватный
  • .executable ⇒ Pathname? приватный
  • .validate_file(path) ⇒ void приватный

Методы, включённые из Output::Mixin

issue_reporting_message, odebug, odeprecated, odie, odisabled, ofail, oh1, oh1_title, ohai, ohai_title, onoe, opoo, opoo_outside_github_actions, opoo_without_github_actions_annotation, pretty_deprecated, pretty_disabled, pretty_duration, pretty_install_status, pretty_installed, pretty_uninstalled, pretty_upgradable, pretty_warning

Методы, включённые из SystemCommand::Mixin

system_command, system_command!

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

.available? ⇒ Boolean

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

Возвращает:

  • (Boolean)


17
18
19
# File 'utils/tar.rb', line 17

def available?
  executable.present?
end

.executable ⇒ Pathname?

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

Возвращает:

  • (Pathname, nil)


22
23
24
25
26
27
28
# File 'utils/tar.rb', line 22

def executable
  return @executable if defined?(@executable)

  gnu_tar_gtar_path = HOMEBREW_PREFIX/"opt/gnu-tar/bin/gtar"
  gnu_tar_gtar = gnu_tar_gtar_path if gnu_tar_gtar_path.executable?
  @executable = T.let(which("gtar") || gnu_tar_gtar || which("tar"), T.nilable(Pathname))
end

.validate_file(path) ⇒ void

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

Этот метод не возвращает определённого значения.

Параметры:

  • path (Pathname, String)


31
32
33
34
35
36
37
38
39
40
# File 'utils/tar.rb', line 31

def validate_file(path)
  return unless available?

  path = Pathname.new(path)
  return unless TAR_FILE_EXTENSIONS.include? path.extname

  stdout, _, status = system_command(T.must(executable), args:         ["--list", "--file", path],
                                                         print_stderr: false).to_a
  odie "#{path} is not a valid tar file!" if !status.success? || stdout.blank?
end

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

Spec-Zone.ru

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