Spec-Zone.ru › Homebrew

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

Наследует:
Object
  • Object
  • UnpackStrategy::Tar
показать всё
Расширен модулями:
SystemCommand::Mixin, ClassMethods
Подключает:
UnpackStrategy
Определён в:
unpack_strategy/tar.rb

Обзор

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

Стратегия распаковки tar-архивов.

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

Compress

Сводка констант

Константы, подключённые из UnpackStrategy

UnpackStrategyType

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

Атрибуты, подключённые из UnpackStrategy

#merge_xattrs, #path

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

  • .can_extract?(path) ⇒ Boolean приватный
  • .extensions ⇒ Array<String> приватный

Методы, подключённые из ClassMethods

can_extract?, extensions

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

system_command, system_command!

Методы, подключённые из UnpackStrategy

#dependencies, detect, #each_directory, #extract, #extract_nestedly, from_extension, from_magic, from_type, #initialize

Методы, подключённые из Utils::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

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

.can_extract?(path) ⇒ Boolean

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

Параметры:

  • path (Pathname)

Возвращает:

  • (Boolean)


26
27
28
29
30
31
32
33
34
# File 'unpack_strategy/tar.rb', line 26

def self.can_extract?(path)
  return true if path.magic_number.match?(/\A.{257}ustar/n)

  return false unless [Bzip2, Gzip, Lzip, Xz, Zstd].any? { |s| s.can_extract?(path) }

  # Check if `tar` can list the contents, then it can also extract it.
  stdout, _, status = system_command("tar", args: ["--list", "--file", path], print_stderr: false).to_a
  (status.success? && !stdout.empty?) || false
end

.extensions ⇒ Array<String>

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

Возвращает:

  • (Array<String>)


13
14
15
16
17
18
19
20
21
22
23
# File 'unpack_strategy/tar.rb', line 13

def self.extensions
  [
    ".tar",
    ".tbz", ".tbz2", ".tar.bz2",
    ".tgz", ".tar.gz",
    ".tlzma", ".tar.lzma",
    ".txz", ".tar.xz",
    ".tar.zst",
    ".crate"
  ]
end

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

Spec-Zone.ru

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