class RBT::PurgeBinariesOfThisProgram

Public Class Methods

[](i = '') click to toggle source
#

RBT::PurgeBinariesOfThisProgram[]

#
# File lib/rbt/utility_scripts/purge_binaries_of_this_program.rb, line 137
def self.[](i = '')
  new(i)
end
new( i = nil, run_already = true ) click to toggle source
#

initialize

#
# File lib/rbt/utility_scripts/purge_binaries_of_this_program.rb, line 31
def initialize(
    i           = nil,
    run_already = true
  )
  reset
  set_input(i)
  run if run_already
end

Public Instance Methods

input?() click to toggle source
#

input?

#
# File lib/rbt/utility_scripts/purge_binaries_of_this_program.rb, line 73
def input?
  @input
end
menu(i) click to toggle source
#

menu (menu tag)

#
reset() click to toggle source
#

reset (reset tag)

#
Calls superclass method RBT::LeanPrototype#reset
# File lib/rbt/utility_scripts/purge_binaries_of_this_program.rb, line 43
def reset
  super()
  infer_the_namespace
  # ======================================================================= #
  # === @target_base_directory
  #
  # Use a default target for @target_base_directory:
  # ======================================================================= #
  @target_base_directory = '/usr/bin/'
end
run() click to toggle source
#

run (run tag)

#
# File lib/rbt/utility_scripts/purge_binaries_of_this_program.rb, line 115
def run
  @cookbook = RBT::Cookbooks::SanitizeCookbook.new(input?) { :fast }
  all_binaries = @cookbook.binaries? # <- Obtain all registered binaries.
  opne 'This program has the following binaries registered:'
  e
  all_binaries.each {|entry| e "  - #{entry}" }
  e
  unless all_binaries.empty?
    all_binaries.each {|file|
      target = "#{@target_base_directory}#{File.basename(file)}"
      if File.exist? target
        opnn; remove_file(target, :be_verbose)
      elsif File.exist?(sbin_target = "#{try_usr_sbin_variant}#{File.basename(file)}")
        opnn; remove_file(sbin_target, :be_verbose)
      end
    }
  end
end
set_input(i = '') click to toggle source
#

set_input

#
# File lib/rbt/utility_scripts/purge_binaries_of_this_program.rb, line 57
def set_input(i = '')
  i = [i].flatten.compact
  if i.any? {|entry| entry.start_with? '--' }
    menu(
      i.select {|inner_entry| inner_entry.start_with? '--' }
    )
    i = i.reject {|inner_entry| inner_entry.start_with? '--'}
  end
  i = i.first if i.is_a? Array
  i = i.to_s.dup
  @input = i
end
try_usr_sbin_variant() click to toggle source
#

try_usr_sbin_variant

#
# File lib/rbt/utility_scripts/purge_binaries_of_this_program.rb, line 104
def try_usr_sbin_variant
  if @target_base_directory.start_with? '/usr/bin/'
    '/usr/sbin/'
  else
    @target_base_directory.gsub(/\/bin\//,'/sbin/')
  end
end
use_current_working_directory_as_base_directory() click to toggle source
#

use_current_working_directory_as_base_directory

#
# File lib/rbt/utility_scripts/purge_binaries_of_this_program.rb, line 97
def use_current_working_directory_as_base_directory
  @target_base_directory = return_pwd
end