Модуль: 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. Сторонним разработчикам по возможности не следует использовать этот метод, так как он может быть удалён или изменён без предупреждения.
17 18 19 | # File 'utils/tar.rb', line 17 def available? executable.present? end |
.executable ⇒ Pathname?
Этот метод является частью приватного API. Этот метод можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам по возможности не следует использовать этот метод, так как он может быть удалён или изменён без предупреждения.
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. Сторонним разработчикам по возможности не следует использовать этот метод, так как он может быть удалён или изменён без предупреждения.
Этот метод не возвращает определённого значения.
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