Class: UnpackStrategy::LuaRock

Inherits:
Uncompressed show all
Extended by:
T::Sig
Defined in:
unpack_strategy/lua_rock.rb

Overview

Strategy for unpacking LuaRock archives.

Instance Attribute Summary

Attributes included from UnpackStrategy

#merge_xattrs, #path

Class Method Summary collapse

Methods inherited from Uncompressed

#extract_nestedly

Methods included from UnpackStrategy

#dependencies, detect, #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

Returns:

  • (Boolean)


18
19
20
21
22
23
# File 'unpack_strategy/lua_rock.rb', line 18

def self.can_extract?(path)
  return false unless Zip.can_extract?(path)

  # Check further if the ZIP is a LuaRocks package.
  path.zipinfo.grep(%r{\A[^/]+.rockspec\Z}).any?
end

.extensionsArray<String>

Returns:



14
15
16
# File 'unpack_strategy/lua_rock.rb', line 14

def self.extensions
  [".rock"]
end