class RBT::RemovePrograms
Attributes
be_verbose[RW]
Public Class Methods
new( programs_dir = programs_directory?, optional_be_verbose = nil, clear_only_one_program = false )
click to toggle source
#¶ ↑
initialize¶ ↑
#¶ ↑
# File lib/rbt/utility_scripts/remove_programs/remove_programs.rb, line 24 def initialize( programs_dir = programs_directory?, optional_be_verbose = nil, clear_only_one_program = false ) reset if optional_be_verbose set_be_verbose(optional_be_verbose) end set_programs_dir(programs_dir) if clear_only_one_program register_to_delete_directory(clear_only_one_program) else # This here is the default. scan_programs_dir # Get all entries from /Programs dir. report_n_dirs # Report how many we have inside. enter_each_dir # This enters each dir. end unless @array_destroy_these_directories.empty? action_remove_registered_directories end end
Public Instance Methods
action_remove_registered_directories()
click to toggle source
#¶ ↑
action_remove_registered_directories
¶ ↑
This method will delete the designated directories.
#¶ ↑
# File lib/rbt/utility_scripts/remove_programs/remove_programs.rb, line 129 def action_remove_registered_directories eimp 'Last but not least we will delete some dirs now:' @array_destroy_these_directories.each { |dir| if be_verbose? opne " Removing #{sdir(dir)}" end remove_directory(dir) unless dir == '/' } end
enter_each_dir()
click to toggle source
#¶ ↑
enter_each_dir
¶ ↑
Process each dir, then we register which directory to remove.
#¶ ↑
# File lib/rbt/utility_scripts/remove_programs/remove_programs.rb, line 89 def enter_each_dir @directories_to_check.each { |the_dir| register_to_delete_directory(the_dir) if Dir.empty?(the_dir) change_directory(the_dir) efancy "Currently working on directory: #{sdir_return_pwd}" pointer_to_current = return_pwd+'Current' # Next, handle the Current symlinks. if File.symlink?(pointer_to_current) && !File.exist?(File.readlink(pointer_to_current)) e " Deleting #{sdir_return_pwd}#{sfancy('Current')}" remove_file pointer_to_current register_to_delete_directory(return_pwd) # Register it here. end change_directory '..' } end
register_to_delete_directory( i )
click to toggle source
#¶ ↑
register_to_delete_directory
¶ ↑
While running enter_each_dir
we also collect info which dirs are to be deleted. We will use this info later and remove these dirs.
#¶ ↑
# File lib/rbt/utility_scripts/remove_programs/remove_programs.rb, line 76 def register_to_delete_directory( i ) unless @array_destroy_these_directories.include? i @array_destroy_these_directories << i end end
report_n_dirs()
click to toggle source
reset()
click to toggle source
#¶ ↑
reset (reset tag)¶ ↑
#¶ ↑
Calls superclass method
RBT::LeanPrototype#reset
# File lib/rbt/utility_scripts/remove_programs/remove_programs.rb, line 49 def reset super() infer_the_namespace # ======================================================================= # # === @array_destroy_these_directories # ======================================================================= # @array_destroy_these_directories = [] # These directories will be removed # ======================================================================= # # === :be_verbose # ======================================================================= # set_be_verbose end
run()
click to toggle source
scan_programs_dir()
click to toggle source