module Extracter
#¶ ↑
Extracter::Base
¶ ↑
Usage example:
Extracter::Base.new(ARGV)
#¶ ↑
require ‘extracter/base/base.rb’; < ::Extracter::Base
#¶ ↑
#¶ ↑
require ‘extracter/constants/constants.rb’
#¶ ↑
#¶ ↑
require ‘extracter/toplevel_methods/is_this_a_valid_archive.rb’ Extracter.is_this_a_valid_archive?
#¶ ↑
#¶ ↑
require ‘extracter/toplevel_methods/misc.rb’¶ ↑
#¶ ↑
#¶ ↑
require ‘extracter/version/version.rb’
#¶ ↑
Constants
- ARRAY_REGISTERED_ARCHIVES
#¶ ↑
Extracter::ARRAY_REGISTERED_ARCHIVES
¶ ↑Archives that can be extracted, have to be registered in this Array.
Sort alphabetically.
The libreoffice format .odt is just like .zip.
#¶ ↑
- COMMAND_TO_EXTRACT_BSDTAR_ARCHIVES
#¶ ↑
COMMAND_TO_EXTRACT_BSDTAR_ARCHIVES
¶ ↑This command is to specifically extract rpm-archives.
#¶ ↑
- COMMAND_TO_EXTRACT_DEB_FILES
#¶ ↑
COMMAND_TO_EXTRACT_DEB_FILES
¶ ↑#¶ ↑
- COMMAND_TO_EXTRACT_JAR_ARCHIVES
#¶ ↑
COMMAND_TO_EXTRACT_JAR_ARCHIVES
¶ ↑#¶ ↑
- COMMAND_TO_EXTRACT_LZMA_FILES
#¶ ↑
COMMAND_TO_EXTRACT_LZMA_FILES
¶ ↑#¶ ↑
- COMMAND_TO_EXTRACT_LZ_FILES
#¶ ↑
COMMAND_TO_EXTRACT_LZ_FILES
¶ ↑#¶ ↑
- COMMAND_TO_EXTRACT_TAR_BZ2_FILES
#¶ ↑
COMMAND_TO_EXTRACT_TAR_BZ2_FILES
¶ ↑#¶ ↑
- COMMAND_TO_EXTRACT_TAR_FILES
#¶ ↑
COMMAND_TO_EXTRACT_TAR_FILES
¶ ↑#¶ ↑
- COMMAND_TO_EXTRACT_TAR_XZ_FILES
#¶ ↑
COMMAND_TO_EXTRACT_TAR_XZ_FILES
¶ ↑#¶ ↑
- COMMAND_TO_EXTRACT_TGZ_FILES
#¶ ↑
COMMAND_TO_EXTRACT_TGZ_FILES
¶ ↑This is specifically for .tgz files.
#¶ ↑
- COMMAND_TO_EXTRACT_ZST_ARCHIVES
#¶ ↑
COMMAND_TO_EXTRACT_ZST_ARCHIVES
¶ ↑#¶ ↑
- GEM_UNPACK_COMMAND
#¶ ↑
GEM_UNPACK_COMMAND
¶ ↑The command to use to unpack ruby .gems. We can pass the —target=DIR syntax to extract to a specific location.
#¶ ↑
- LAST_UPATE
#¶ ↑
LAST_UPDATE¶ ↑
#¶ ↑
- LAST_UPDATED
#¶ ↑
LAST_UPDATED
¶ ↑When this class was last updated/releasted. This is not a hugely important constat, so do not worry too much if this may be heavily outdated eventually.
#¶ ↑
- N
#¶ ↑
N
¶ ↑#¶ ↑
- SECOND_UNPACK_COMMAND_TO_USE_ON_WINDOWS
#¶ ↑
SECOND_UNPACK_COMMAND_TO_USE_ON_WINDOWS
¶ ↑#¶ ↑
- TEMP_DIR
#¶ ↑
If this environment variable is unavailable then use a conservative default value.
#¶ ↑
- UNPACK_COMMAND_TO_USE_ON_WINDOWS
#¶ ↑
UNPACK_COMMAND_TO_USE_ON_WINDOWS
¶ ↑The full commandline will look like this:
7z x -so C:\home\x\src\htop\htop-3.0.5.tar.xz | 6z x -si -ttar
#¶ ↑
- VERSION
#¶ ↑
VERSION
¶ ↑Which specific version to use for class
Extracter
.#¶ ↑
Public Class Methods
#¶ ↑
Extracter.extract_what_to¶ ↑
Useage example goes like this:
Extracter.extract_what_to('foo-1.0.tar.xz', '/tmp') Extracter.extract_what_to('/Depot/jjjj/tesseract-5.1.0.tar.xz', Dir.pwd+'/')
#¶ ↑
# File lib/extracter/class/extracter.rb, line 1019 def self.extract_what_to( what = ARGV, extract_to = :default, # ← This can also be a Hash. It denotes where we want to extract to. run_already = true, # :do_not_run_yet, &block ) _ = ::Extracter::Extracter.new( what, extract_to, run_already, &block ) return _ # We must return the class, as other projects may depend on this. end
#¶ ↑
Extracter.is_this_a_valid_archive?¶ ↑
Query whether the input given to this method is a valid archive. This allows us to determine whether the Extracter
project can deal with the given archive at hand or whether it can not.
The registered formats are stored in the constant ARRAY_REGISTERED_ARCHIVES
.
#¶ ↑
# File lib/extracter/toplevel_methods/is_this_a_valid_archive.rb, line 22 def self.is_this_a_valid_archive?( i, # The given input, such as "foobar.zip". array_registered_archives = ARRAY_REGISTERED_ARCHIVES ) if i.is_a? Array i = i.first end return_value = false array_registered_archives.each {|entry| return_value = true if i =~ /#{entry}$/i } return return_value end
#¶ ↑
Extracter.remove_archive_type¶ ↑
#¶ ↑
# File lib/extracter/toplevel_methods/misc.rb, line 12 def self.remove_archive_type(i) return i.delete_suffix('.xz'). delete_suffix('.tgz'). delete_suffix('.bz2'). delete_suffix('.gz'). delete_suffix('.tar'). delete_suffix('.zip'). delete_suffix('.gem') end