2019-04-19 15:38:03 +09:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
2018-07-23 23:04:49 +02:00
|
|
|
require_relative "generic_unar"
|
|
|
|
|
|
|
|
module UnpackStrategy
|
2020-08-09 06:09:05 +02:00
|
|
|
# Strategy for unpacking self-extracting executables.
|
2018-07-23 23:04:49 +02:00
|
|
|
class SelfExtractingExecutable < GenericUnar
|
2018-07-29 10:04:51 +02:00
|
|
|
using Magic
|
2018-07-23 23:04:49 +02:00
|
|
|
|
2018-07-30 09:49:59 +02:00
|
|
|
def self.extensions
|
|
|
|
[]
|
|
|
|
end
|
2018-07-29 10:04:51 +02:00
|
|
|
|
2018-07-30 09:49:59 +02:00
|
|
|
def self.can_extract?(path)
|
|
|
|
path.magic_number.match?(/\AMZ/n) &&
|
|
|
|
path.file_type.include?("self-extracting archive")
|
2018-07-23 23:04:49 +02:00
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|