class Extracter::Base

Public Instance Methods

are_we_on_windows?() click to toggle source
#

are_we_on_windows?

#
# File lib/extracter/base/base.rb, line 231
def are_we_on_windows?
  ::Extracter.are_we_on_windows?
end
array_archive_types?() click to toggle source
#

array_archive_types?

#
# File lib/extracter/base/base.rb, line 474
def array_archive_types?
  ARRAY_REGISTERED_ARCHIVES
end
be_quiet()
Alias for: do_be_quiet
be_silent()
Alias for: do_be_quiet
be_verbose() click to toggle source
#

be_verbose

#
# File lib/extracter/base/base.rb, line 289
def be_verbose
  set_be_verbose(true)
end
be_verbose?() click to toggle source
#

be_verbose?

Getter method for whether we will be verbose or not.

#
# File lib/extracter/base/base.rb, line 240
def be_verbose?
  @internal_hash[:be_verbose]
end
cd(i)
Alias for: change_directory
change_directory(i) click to toggle source
#

change_directory

#
# File lib/extracter/base/base.rb, line 92
def change_directory(i)
  Dir.chdir(i)
end
Also aliased as: cd
check_whether_the_colours_gem_is_available() click to toggle source
#

check_whether_the_colours_gem_is_available

#
# File lib/extracter/base/base.rb, line 71
def check_whether_the_colours_gem_is_available
  if Object.const_defined?(:Colours) and
     Colours.respond_to?(:simp) and
     Colours.respond_to?(:sfancy) and
     Colours.respond_to?(:sdir) and
     Colours.respond_to?(:simp)
  else
    do_not_make_use_of_colours
  end
end
colour_to_use_for_directories?() click to toggle source
#

colour_to_use_for_directories?

#
# File lib/extracter/base/base.rb, line 259
def colour_to_use_for_directories?
  if use_colours?
    return @internal_hash[:colour_to_use_for_directories]
  else
    return ''
  end
end
colours?()
Alias for: try_to_use_colours?
commandline_arguments?() click to toggle source
#

commandline_arguments?

#
# File lib/extracter/base/base.rb, line 340
def commandline_arguments?
  @commandline_arguments
end
copn( use_this_hash = use_this_opn_hash? )
Alias for: opnn
cpr(a, b) click to toggle source
#

cpr

#
# File lib/extracter/base/base.rb, line 154
def cpr(a, b)
  try_to_require_fileutils
  FileUtils.cp_r(a, b)
end
create_directory(i) click to toggle source
#

create_directory (mkdir tag)

Use this to create directories.

#
# File lib/extracter/base/base.rb, line 282
def create_directory(i)
  FileUtils.mkdir_p(i) unless File.directory?(i)
end
Also aliased as: mkdir
create_the_internal_hash() click to toggle source
#

create_the_internal_hash

#
# File lib/extracter/base/base.rb, line 64
def create_the_internal_hash
  @internal_hash = {}
end
cyan?(use_colours = use_colours?) click to toggle source
#

cyan

#
# File lib/extracter/base/base.rb, line 99
def cyan?(use_colours = use_colours?)
  return Colours::CYAN if Object.const_defined?(:Colours) and use_colours
  return ''
end
debug?() click to toggle source
#

debug?

#
# File lib/extracter/base/base.rb, line 361
def debug?
  @internal_hash[:debug]
end
disable_colours() click to toggle source
#

disable_colours

Use this method if you want to disable colour-support of this class.

#
# File lib/extracter/base/base.rb, line 272
def disable_colours
  set_use_colours(false)
  @internal_hash[:colour_to_use_for_directories] = ''.dup
end
do_be_quiet() click to toggle source
#

do_be_quiet

#
# File lib/extracter/base/base.rb, line 296
def do_be_quiet
  set_be_verbose(false)
end
Also aliased as: be_silent, be_quiet
do_not_make_use_of_colours() click to toggle source
#

do_not_make_use_of_colours

#
# File lib/extracter/base/base.rb, line 85
def do_not_make_use_of_colours
  @internal_hash[:use_colours] = false
end
do_try_to_use_colours() click to toggle source
#

do_try_to_use_colours

#
# File lib/extracter/base/base.rb, line 402
def do_try_to_use_colours
  set_use_colours(true)
end
e(i = '') click to toggle source
#

e (e tag)

#
# File lib/extracter/base/base.rb, line 213
def e(i = '')
  puts i
end
enable_colours() click to toggle source
#

enable_colours

#
# File lib/extracter/base/base.rb, line 382
def enable_colours
  set_use_colours(true)
  @internal_hash[:colour_to_use_for_directories] = cyan?
end
enable_debug() click to toggle source
#

enable_debug

#
# File lib/extracter/base/base.rb, line 368
def enable_debug
  @internal_hash[:debug] = true
end
ewarn( i = '', use_colours = use_colours? ) click to toggle source
#

ewarn

#
# File lib/extracter/base/base.rb, line 140
def ewarn(
    i           = '',
    use_colours = use_colours?
  )
  if use_colours and Object.const_defined?(:Colours)
    e Colours.swarn(i)
  else
    e i
  end
end
first?()
Alias for: first_argument?
first_argument?() click to toggle source
#

first_argument?

#
# File lib/extracter/base/base.rb, line 347
def first_argument?
  @commandline_arguments.first
end
Also aliased as: first?
is_archive?(i) click to toggle source
#

is_archive?

This method queries whether the given file at hand (as input to this method) is assumed to be an archive or whether it is not.

#
# File lib/extracter/base/base.rb, line 465
def is_archive?(i)
  ARRAY_ARCHIVE_TYPES.include?(
    File.extname(File.basename(i))
  )
end
main_hash?()
Alias for: use_this_opn_hash?
mkdir(i)
Alias for: create_directory
move(a, b) click to toggle source
#

move

#
# File lib/extracter/base/base.rb, line 162
def move(a, b)
  try_to_require_fileutils
  FileUtils.mv(a, b)
end
Also aliased as: mv
mv(a, b)
Alias for: move
namespace?() click to toggle source
#

namespace?

#
# File lib/extracter/base/base.rb, line 375
def namespace?
  @internal_hash[:namespace]
end
opn( use_this_hash = use_this_opn_hash? )
Alias for: opnn
opne(i = '') click to toggle source
#

opne

#
# File lib/extracter/base/base.rb, line 434
def opne(i = '')
  opnn; e i
end
opnn( use_this_hash = use_this_opn_hash? ) click to toggle source
#

opnn

This variant will also check whether we should show the name or not.

#
# File lib/extracter/base/base.rb, line 450
def opnn(
    use_this_hash = use_this_opn_hash?
  )
  if use_opn? and Object.const_defined?(:Opn)
    Opn.opn(use_this_hash)
  end
end
Also aliased as: opn, copn
orev(i = '') click to toggle source
#

orev

#
# File lib/extracter/base/base.rb, line 481
def orev(i = '')
  opne "#{rev}#{i}"
end
rds(i) click to toggle source
#

rds

#
# File lib/extracter/base/base.rb, line 304
def rds(i)
  return i.squeeze('/') if i.respond_to? :squeeze
  return i
end
register_sigint(this_class_name = 'Extracter') click to toggle source
#

register_sigint

#
# File lib/extracter/base/base.rb, line 247
def register_sigint(this_class_name = 'Extracter')
  Signal.trap('SIGINT') {
    e sfancy('Requesting a graceful exit from ')+
      colour_to_use_for_directories?+
      'class '+this_class_name+sfancy('. Exiting now.')
    exit
  }
end
remove_ext(i)
remove_extension(i)
remove_file_extension(i) click to toggle source
#

remove_file_extension

#
# File lib/extracter/base/base.rb, line 323
def remove_file_extension(i)
  _ = File.basename(i)
  return ::Extracter.remove_archive_type(_)
end
Also aliased as: remove_extension, remove_ext
remove_this_directory(i) click to toggle source
#

remove_this_directory

This method can be used to remove a directory.

#
# File lib/extracter/base/base.rb, line 172
def remove_this_directory(i)
  if File.directory? i
    try_to_require_fileutils
    FileUtils.rm_r(i) unless i == '/'
  end
end
reset() click to toggle source
#

reset (reset tag)

#
# File lib/extracter/base/base.rb, line 31
def reset
  # ======================================================================= #
  # === @internal_hash
  #
  # The internal Hash must be created first.
  # ======================================================================= #
  create_the_internal_hash
  # ======================================================================= #
  # === :debug
  # ======================================================================= #
  @internal_hash[:debug] = false
  # ======================================================================= #
  # === :be_verbose
  # ======================================================================= #
  @internal_hash[:be_verbose] = true
  # ======================================================================= #
  # === :colour_to_use_for_directories
  # ======================================================================= #
  @internal_hash[:colour_to_use_for_directories] = 'cyan'
  # ======================================================================= #
  # === :use_opn
  # ======================================================================= #
  @internal_hash[:use_opn] = true # ← Whether to use make use of Opn by default or not.
  # ======================================================================= #
  # Next check whether the Colours gem is available.
  # ======================================================================= #
  check_whether_the_colours_gem_is_available
  do_try_to_use_colours
end
return_pwd() click to toggle source
#

return_pwd

#
# File lib/extracter/base/base.rb, line 354
def return_pwd
  "#{Dir.pwd}/".squeeze('/')
end
rev() click to toggle source
#

rev (rev tag)

#
# File lib/extracter/base/base.rb, line 220
def rev
  if use_colours?
    ::Colours.rev
  else
    ''
  end
end
sdir(i = '') click to toggle source
#

sdir

#
# File lib/extracter/base/base.rb, line 205
def sdir(i = '')
  return Colours.sdir(i) if use_colours?
  return i
end
set_be_verbose(i = false) click to toggle source
#

set_be_verbose

This sets the verbosity level of the class. Use only this method when you wish to modify the @be_verbose instance variable.

#
# File lib/extracter/base/base.rb, line 315
def set_be_verbose(i = false)
  @internal_hash[:be_verbose] = i
end
Also aliased as: set_verbosity, show_commands_used
set_commandline_arguments(i = '') click to toggle source
#

set_commandline_arguments

#
# File lib/extracter/base/base.rb, line 332
def set_commandline_arguments(i = '')
  i = [i].flatten.compact
  @commandline_arguments = i
end
set_use_colours(i, main_hash = main_hash?) click to toggle source
#

set_use_colours

#
# File lib/extracter/base/base.rb, line 390
def set_use_colours(i, main_hash = main_hash?)
  # ======================================================================= #
  # We must also sync this towards our main Hash, for opn(). The next
  # line of code achieves precisely that.
  # ======================================================================= #
  main_hash.update(use_colours: i) if main_hash
  @internal_hash[:try_to_use_colours] = i
end
set_use_opn(i = true) click to toggle source
#

set_use_opn

#
# File lib/extracter/base/base.rb, line 420
def set_use_opn(i = true)
  @internal_hash[:use_opn] = i
end
set_verbosity(i = false)
Alias for: set_be_verbose
sfancy(i = '') click to toggle source
#

sfancy

#
# File lib/extracter/base/base.rb, line 197
def sfancy(i = '')
  return Colours.sfancy(i) if use_colours?
  return i
end
sfile(i = '') click to toggle source
#

sfile

#
# File lib/extracter/base/base.rb, line 189
def sfile(i = '')
  return Colours.sfancy(i) if use_colours?
  return i
end
show_commands_used(i = false)
Alias for: set_be_verbose
simp( i = '', use_colours = use_colours? ) click to toggle source
#

simp

#
# File lib/extracter/base/base.rb, line 118
def simp(
    i           = '',
    use_colours = use_colours?
  )
  return Colours.simp(i) if use_colours
  return i
end
steelblue( i = '', use_colours = use_colours? ) click to toggle source
#

steelblue

#
# File lib/extracter/base/base.rb, line 129
def steelblue(
    i           = '',
    use_colours = use_colours?
  )
  return ::Colours.steelblue(i) if use_colours and ::Colours.respond_to?(:steelblue)
  return i
end
tomato( i = '', use_colours = use_colours? ) click to toggle source
#

tomato

#
# File lib/extracter/base/base.rb, line 107
def tomato(
    i           = '',
    use_colours = use_colours?
  )
  return Colours.tomato(i) if use_colours
  return i
end
try_to_require_fileutils() click to toggle source
#

try_to_require_fileutils

#
# File lib/extracter/base/base.rb, line 182
def try_to_require_fileutils
  require 'fileutils' unless Object.const_defined?(:FileUtils)
end
try_to_use_colours?() click to toggle source
#

try_to_use_colours?

Determine whether we will use colours for class Extracter::Base and its subclass.

#
# File lib/extracter/base/base.rb, line 412
def try_to_use_colours?
  @internal_hash[:try_to_use_colours]
end
Also aliased as: use_colours?, colours?
use_colours?()
Alias for: try_to_use_colours?
use_opn?() click to toggle source
#

use_opn?

#
# File lib/extracter/base/base.rb, line 427
def use_opn?
  @internal_hash[:use_opn]
end
use_this_opn_hash?() click to toggle source
#

use_this_opn_hash?

#
# File lib/extracter/base/base.rb, line 441
def use_this_opn_hash?
  @internal_hash[:use_this_opn_hash]
end
Also aliased as: main_hash?