Класс: UnpackStrategy::Tar Приватный
- Наследует:
- Object
- Object
- UnpackStrategy::Tar
- Расширен модулями:
- SystemCommand::Mixin, ClassMethods
- Подключает:
- UnpackStrategy
- Определён в:
- unpack_strategy/tar.rb
Обзор
Этот класс является частью приватного API. Этот класс можно использовать только в репозитории Homebrew/brew. Третьим лицам следует по возможности избегать использования этого класса, поскольку он может быть удалён или изменён без предупреждения.
Стратегия распаковки tar-архивов.
Прямые известные подклассы
Сводка констант
Константы, подключённые из UnpackStrategy
Сводка атрибутов экземпляра
Атрибуты, подключённые из UnpackStrategy
Сводка методов класса свернуть
- .can_extract?(path) ⇒ Boolean приватный
- .extensions ⇒ Array<String> приватный
Методы, подключённые из ClassMethods
Методы, подключённые из 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. Третьим лицам следует по возможности избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
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. Третьим лицам следует по возможности избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
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