Class: RBT::SymlinkIntoTheUsrBinHierarchy
- Inherits:
-
Base
show all
- Defined in:
- lib/rbt/utility_scripts/symlink_into_the_usr_bin_hierarchy.rb
Overview
RBT::SymlinkIntoTheUsrBinHierarchy
Constant Summary
collapse
- USR_BIN_DIRECTORY =
'/usr/bin/'
LeanPrototype::ALL_COLOUR_METHODS, LeanPrototype::ARRAY_KDE_KONSOLE_COLOURS_IN_USE, LeanPrototype::DAY_NAMES, LeanPrototype::NAMESPACE, LeanPrototype::SILENT_REDIRECTION
Class Method Summary
collapse
-
.[](i = ARGV) ⇒ Object
# === RBT::SymlinkIntoTheUsrBinHierarchy[] ========================================================================= #.
Instance Method Summary
collapse
Methods inherited from Base
#cat, #cd_back_to_the_current_working_directory, #consider_reporting_how_many_programs_are_registered, #cookbook_files?, #copy_recursively, #delete_code_of_conduct?, #determine_appdir_prefix_from_this_input, #directory_validation?, #do_not_show_names, #fast_return_file_size_of_this_program, #file_last_symlinked_program?, #file_programs_version_url, #gem_version, #is_a_64bit_system?, #is_ccache_available?, #is_porg_available?, #is_this_binary_registered?, #is_this_program_included?, #make_command?, #make_install_command?, #new_cookbook_instance_for, #program_exists?, #publish_list_of_all_programs_version, #rcp, registered_binaries?, #remove_symlink, #rename_kde_konsole_tab, #repackage, #report_n_programs, #report_working_directory, #return_compile_time_statistics, #return_n_random_characters, #return_version_of_this_program, #run_make_then_make_install, #sanitize_url1_entry, #set_source_directory, #show_overview_over_available_utility_scripts, #symlink_all_files_from_this_directory_to_that_directory, #system_tags?, #upload_list_of_all_programs_version, #use_yaml_database_for_tags?, #warn_and_exit, #wget
#a_or_an?, #abbreviations?, #absolute_path, #action, #add_to_the_commandline_arguments, #all_binaries?, #all_files_from, #all_libraries?, #allowed_cookbook_entries?, #appdir_location_of?, #append_onto_the_internal_hash, #append_what_into, #archive_type_of?, #available_programs?, #be_quiet?, #be_verbose?, #begins_with_a_comment?, #capitalize_first_alphabetical_character, #cd_to_the_log_directory, #cd_to_the_temp_directory, #change_directory, #change_permission, #cheering_person?, #chmod, #chop_off_archive, #clear_commandline_arguments, #cliner, #coloured_and_padded_e, #coloured_and_padded_esystem, #coloured_esystem, #colourize_directory_for_system_results, #colourize_this_error, #colourize_this_file_path, #colourize_this_warning, #commandline_arguments?, #commandline_arguments_without_hyphens?, #comment, #convert_dd_mm_yyyy_to_its_long_variant, #convert_env_variable, #copy_directory, #copy_files, #cpr, #create_directory, #current_hour?, #dd_mmm_yyy, #debug, #debug?, #directory_expanded_cookbooks?, #disable_colours, #display_md5sum?, #do_not_debug, #does_the_cookbook_include_this_program?, #does_this_expanded_cookbook_file_exist_for_this_program?, #does_this_file_exist?, #does_this_file_exist_and_is_it_a_file?, #e, #eblue, #ecomment, #ecrimson, #edir, #editor?, #efancy, #eimp, #enable_colours, #enable_debug, #ensure_main_encoding_for, #eparse, #esystem, #esystem_gold, #etomato, #ewarn, #exit_program, #expanded_cookbooks_directory_exists?, #extract_this_archive, #extract_to?, #file_compiled_programs?, #file_dirname_retaining_trailing_slash, #file_predefined_installation_instructions?, #file_specification_of_registered_cookbook_entries, #find_cookbook_alias_for, #find_this_yaml_file, #first_argument?, #first_non_hyphen_argument?, #get_all_directories_from, #get_all_files_from, #get_all_programs, #get_date, #get_extended_date, #get_files_and_directories_from, #go_to_base_dir, #home_dir?, #host_system?, #infer_the_namespace, #internal_hash?, #internal_hash_set_commandline_arguments, #is_an_archive?, #is_directory?, #is_file?, #is_github_url?, #is_make_available?, #is_meson_installed?, #is_on_gobolinux?, #is_on_windows?, #is_roebe?, #is_superuser?, #is_symlink?, #is_this_a_header?, #is_this_a_library?, #is_this_program_included?, #iso_encoding?, #load_dataset_from_this_expanded_cookbook, #load_yaml, #load_yaml_file_from_the_cookbook_directory_for_this_program, #log_directory?, #main_encoding?, #meson_build_file_exists?, #months?, #move_file, #n_programs_are_available?, #n_programs_available?, #namespace?, #no_directory_exists_at, #no_directory_was_found_at, #no_opn, #no_such_file_exists, #open_in_browser, #open_in_editor, #opncomment, #opne, #opnef, #opnerev, #opnerror, #opnesystem, #opnewarn, #opnfancy, #opnn, #packages_directory?, #path_to_this_expanded_cookbooks_dataset, #pkgconfig_directory?, #populate_the_internal_hash_with_default_values, #predefined_installation_instructions?, #prepend_this_commandline_argument, #program_version_of?, #project_base_directory?, #project_yaml_directory?, #query_path?, #rarrow?, #read_file, #read_file_in_default_encoding, #read_file_with_default_encoding, #readlines, #readlines_with_proper_encoding, #register_sigint, #registered_cookbook_entries?, #remove, #remove_archive_from_the_end, #remove_comments_from_each_line, #remove_directory, #remove_double_slashes, #remove_file, #remove_newlines, #remove_parens, #remove_symlink, #remove_the_first_commandline_argument, #remove_this_commandline_argument, #remove_this_entry_from_the_commandline_arguments, #remove_trailing_ANSII_escape_code, #remove_unnecessary_data_from_url, #rename, #report_pwd, #require_the_rbt_aliases, #reset_the_internal_hash, #return_all_archives_from_this_directory, #return_appdir_prefix, #return_commandline_arguments_with_leading_hyphens, #return_current_hour_minutes_second, #return_date, #return_day_of_the_month_based_on_utc, #return_full_time, #return_hours_minutes_seconds_based_on_utc, #return_location_to_this_programs_yaml_file, #return_month_based_on_this_number, #return_month_based_on_utc, #return_opnn, #return_program_information, #return_program_name_for_gobolinux_systems, #return_pwd, #return_unicode_warning_symbol_or_empty_string, #return_utc, #return_utc_time_in_a_format_similar_to_slackware, #return_weekday_based_on_utc, #return_year_based_on_utc, #rev, #run_simulation=, #run_simulation?, #sdir, #sdir_return_pwd, #set_be_silent, #set_be_verbose, #set_first_commandline_argument, #set_namespace, #set_use_opn, #set_xorg_buffer, #sfancy, #sfile, #silent_redirection?, #silently_create_this_directory_if_it_does_not_yet_exist, #simp, #source_base_directory?, #ssym, #stderr, #store_into_this_directory?, #string_right_arrow?, #swarn, #symlink, #sysbin_directory?, #sysetc_directory?, #sysinclude_directory?, #syslib_directory?, #sysshare_directory?, #system_directory?, #temp_directory?, #to_bool, #to_camelcase, #to_iso_encoding, #to_unicode, #today?, #touch, #try_to_require_beautiful_url, #try_to_require_the_environment_information_gem, #try_to_require_the_extracter_gem, #try_to_require_the_open_gem, #try_to_require_the_xorg_buffer, #try_to_require_wget, #try_to_return_a_special_compile_component, #unicode_cliner, #unicode_middle_cliner, #use_colours=, #use_colours?, #use_opn=, #use_opn?, #utf_encoding?, #verbose_truth, #word_wrap, #write_what_into, #write_what_into_via_unicode, #yes_or_no
Constructor Details
#initialize(symlink_these_files = nil, run_already = true, &block) ⇒ SymlinkIntoTheUsrBinHierarchy
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
|
# File 'lib/rbt/utility_scripts/symlink_into_the_usr_bin_hierarchy.rb', line 36
def initialize(
symlink_these_files = nil,
run_already = true,
&block
)
reset
set_symlink_these_files(
symlink_these_files
)
if block_given?
yielded = yield
case yielded
when :force
@internal_hash[:remove_the_target_file_at_the_usr_bin_hierarchy] = true
else
if yielded.is_a?(Hash)
if yielded.has_key? :force_symlink
@internal_hash[:remove_the_target_file_at_the_usr_bin_hierarchy] = yielded.delete(:force_symlink)
end
end
end
end
run if run_already
end
|
Class Method Details
.[](i = ARGV) ⇒ Object
#
RBT::SymlinkIntoTheUsrBinHierarchy[]
#
170
171
172
|
# File 'lib/rbt/utility_scripts/symlink_into_the_usr_bin_hierarchy.rb', line 170
def self.[](i = ARGV)
new(i)
end
|
Instance Method Details
#do_work_on_these_files(i = symlink_these_files?
) ⇒ Object
#
do_work_on_these_files
#
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
|
# File 'lib/rbt/utility_scripts/symlink_into_the_usr_bin_hierarchy.rb', line 117
def do_work_on_these_files(
i = symlink_these_files?
)
remove_the_target_file_at_the_usr_bin_hierarchy = remove_the_target_file_at_the_usr_bin_hierarchy?
i.each {|this_file|
target = "#{USR_BIN_DIRECTORY}#{File.basename(this_file)}" orev "Next symlinking the file `#{sfile(this_file)}"
orev '` into `'+sfile(target)+'`.'
if File.directory? this_file
if File.directory? target
Dir["#{this_file}/*"].each {|target_in_that_directory|
inner_target = target+'/'+File.basename(target_in_that_directory)
orev 'Symlinking '+sfile(target_in_that_directory)+
rev+' into `'+sfancy(inner_target)+rev+'` next.'
symlink(
target_in_that_directory,
inner_target
)
}
return
end
target = this_file
else
if File.file?(target) and
remove_the_target_file_at_the_usr_bin_hierarchy and
File.file?(this_file) delete_file(target)
end
end
symlink(this_file, target)
}
end
|
#remove_the_target_file_at_the_usr_bin_hierarchy? ⇒ Boolean
#
remove_the_target_file_at_the_usr_bin_hierarchy?
#
85
86
87
|
# File 'lib/rbt/utility_scripts/symlink_into_the_usr_bin_hierarchy.rb', line 85
def remove_the_target_file_at_the_usr_bin_hierarchy?
@internal_hash[:remove_the_target_file_at_the_usr_bin_hierarchy]
end
|
#reset ⇒ Object
73
74
75
76
77
78
79
80
|
# File 'lib/rbt/utility_scripts/symlink_into_the_usr_bin_hierarchy.rb', line 73
def reset
super()
infer_the_namespace
@internal_hash[:remove_the_target_file_at_the_usr_bin_hierarchy] = false
end
|
#run ⇒ Object
163
164
165
|
# File 'lib/rbt/utility_scripts/symlink_into_the_usr_bin_hierarchy.rb', line 163
def run
do_work_on_these_files(symlink_these_files?)
end
|
#set_symlink_these_files(i = '') ⇒ Object
#
set_symlink_these_files
#
92
93
94
95
96
97
98
99
100
101
102
103
104
105
|
# File 'lib/rbt/utility_scripts/symlink_into_the_usr_bin_hierarchy.rb', line 92
def set_symlink_these_files(i = '')
if i
i = [i].flatten.compact.map {|entry| if File.directory? entry target = ("#{entry}/*").squeeze '/'
entry = Dir[target] end
entry
}
i.flatten!
i.compact!
end
@internal_hash[:symlink_these_files] = i
end
|
#symlink_these_files? ⇒ Boolean
110
111
112
|
# File 'lib/rbt/utility_scripts/symlink_into_the_usr_bin_hierarchy.rb', line 110
def symlink_these_files?
@internal_hash[:symlink_these_files]
end
|