Class: UnpackStrategy::Cab
- Includes:
- UnpackStrategy
- Defined in:
- unpack_strategy/cab.rb
Overview
Strategy for unpacking Cabinet archives.
Instance Attribute Summary
Attributes included from UnpackStrategy
Class Method Summary collapse
Instance Method Summary collapse
Methods included from UnpackStrategy
detect, #each_directory, #extract, #extract_nestedly, from_extension, from_magic, from_type, #initialize
Methods included from SystemCommand::Mixin
#system_command, #system_command!
Class Method Details
.can_extract?(path) ⇒ Boolean
14 15 16 |
# File 'unpack_strategy/cab.rb', line 14 def self.can_extract?(path) path.magic_number.match?(/\AMSCF/n) end |
Instance Method Details
#dependencies ⇒ Object
26 27 28 |
# File 'unpack_strategy/cab.rb', line 26 def dependencies @dependencies ||= [Formula["cabextract"]] end |
#extract_to_dir(unpack_dir, basename:, verbose:) ⇒ T.untyped
19 20 21 22 23 24 |
# File 'unpack_strategy/cab.rb', line 19 def extract_to_dir(unpack_dir, basename:, verbose:) system_command! "cabextract", args: ["-d", unpack_dir, "--", path], env: { "PATH" => PATH.new(Formula["cabextract"].opt_bin, ENV.fetch("PATH")) }, verbose: verbose end |