class RBT::ConvertToNonTraditional

Public Class Methods

new( convert_this_program, run_already = false ) click to toggle source
#

initialize

#
# File lib/rbt/utility_scripts/convert_to_non_traditional.rb, line 22
def initialize(
    convert_this_program,
    run_already = false
  )
  reset
  set_this_program(
    convert_this_program
  )
  run if run_already
end

Public Instance Methods

convert_already=(i) click to toggle source
#

convert_already =

#
# File lib/rbt/utility_scripts/convert_to_non_traditional.rb, line 155
def convert_already=(i)
  @convert_already = i
end
copy_from_usr_to_programs() click to toggle source
#

copy_from_usr_to_programs

#
# File lib/rbt/utility_scripts/convert_to_non_traditional.rb, line 112
def copy_from_usr_to_programs
  @all_files.each { |key|
    @program_dir = programs_directory?+'/'+@key_name.capitalize.tr('-','/')
    _ = @program_dir+File.dirname(key)
    copy_file("/usr#{key}", _)
  }
end
create_program( key_name = @key_name ) click to toggle source
#

create_program

#
# File lib/rbt/utility_scripts/convert_to_non_traditional.rb, line 162
def create_program(
    key_name = @key_name
  )
  _ = RBT.create_program(key_name, true, true)
  _.create_directories
end
do_the_conversion() click to toggle source
#

do_the_conversion

#
# File lib/rbt/utility_scripts/convert_to_non_traditional.rb, line 91
def do_the_conversion
  create_program(@key_name) # not needed to act on InstalledFiles
  copy_from_usr_to_programs # not needed to act on InstalledFiles
  symlink_program(@program_dir) # not needed to act on InstalledFiles
  remove_usr_directories # not needed to act on InstalledFiles
end
fetch_keys_and_convert( convert_already = @convert_already ) click to toggle source
#

fetch_keys_and_convert

#
# File lib/rbt/utility_scripts/convert_to_non_traditional.rb, line 71
def fetch_keys_and_convert(
    convert_already = @convert_already
  )
  @keys = @database.keys
  result = @keys.grep(/#{@program}/)
  @key_name = result.first.to_s
  # splitted = @key_name.split('-')
  if result
    opne 'Is included: '+steelblue(@key_name)
    # _ = '/'+splitted[0].capitalize
    # __ = splitted[1].capitalize
    sanitize_all_files # needed
    reject_directories # needed
    do_the_conversion if convert_already
  end
end
load_yaml_database() click to toggle source
#

load_yaml_database

Load the yaml database. We will only continue if the Database file exists.

#
# File lib/rbt/utility_scripts/convert_to_non_traditional.rb, line 55
def load_yaml_database
  _ = YAML_DATABASE_DIRECTORY+'Database_InstalledFiles.yml'
  if File.exist? _
    opne "Loading Database from #{sfile(_)} next."
    @database = load_yaml(_)
    fetch_keys_and_convert
  else
    opnwarn 'But file '+sfile(_)+swarn(' does not exist.')
    opnwarn 'This script currently requires that it must exist.'
  end
end
Also aliased as: start, run
reject_directories() click to toggle source
#

reject_directories

#
# File lib/rbt/utility_scripts/convert_to_non_traditional.rb, line 140
def reject_directories
  @all_files.reject! {|entry| File.directory? '/usr/'+entry }
  @all_files.reject! {|f| f.include? 'CompileTimeInformation'}
end
remove_usr_directories() click to toggle source
#

remove_usr_directories

#
# File lib/rbt/utility_scripts/convert_to_non_traditional.rb, line 123
def remove_usr_directories # remove the /usr directories.
  @all_files.each { |file|
    remove_file("/usr#{file}")
  }
end
reset() click to toggle source
#

reset (reset tag)

#
Calls superclass method RBT::Base#reset
# File lib/rbt/utility_scripts/convert_to_non_traditional.rb, line 36
def reset
  super()
  infer_the_namespace
  # ======================================================================= #
  # === @database
  # ======================================================================= #
  @database = nil
  # ======================================================================= #
  # === @convert_already
  # ======================================================================= #
  @convert_already = true
end
run()
Alias for: load_yaml_database
sanitize_all_files() click to toggle source
#

sanitize_all_files

#
# File lib/rbt/utility_scripts/convert_to_non_traditional.rb, line 101
def sanitize_all_files
  @all_files = @database[@key_name].map {|f|
    remove_double_slashes(
      f.gsub(/\/Programs/, '')
    )
  }
end
set_this_program(i) click to toggle source
#

set_this_program

#
# File lib/rbt/utility_scripts/convert_to_non_traditional.rb, line 148
def set_this_program(i)
  @program = i
end
start()
Alias for: load_yaml_database