Class: UnpackStrategy::MicrosoftOfficeXml
- Inherits:
-
Uncompressed
- Object
- Uncompressed
- UnpackStrategy::MicrosoftOfficeXml
- Defined in:
- unpack_strategy/microsoft_office_xml.rb
Overview
Strategy for unpacking Microsoft Office documents.
Instance Attribute Summary
Attributes included from UnpackStrategy
Class Method Summary collapse
Methods inherited from Uncompressed
Methods included from UnpackStrategy
#dependencies, 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
18 19 20 21 22 23 24 |
# File 'unpack_strategy/microsoft_office_xml.rb', line 18 def self.can_extract?(path) return false unless Zip.can_extract?(path) # Check further if the ZIP is a Microsoft Office XML document. path.magic_number.match?(/\APK\003\004/n) && path.magic_number.match?(%r{\A.{30}(\[Content_Types\]\.xml|_rels/\.rels)}n) end |