Class: RBT::CreateBashScripts
- Inherits:
-
Base
show all
- Defined in:
- lib/rbt/generate_files/create_bash_scripts.rb
Constant Summary
collapse
- WHERE_TO =
"#{DEPOT_DIR}Information/"
LeanPrototype::ALL_COLOUR_METHODS, LeanPrototype::ARRAY_KDE_KONSOLE_COLOURS_IN_USE, LeanPrototype::DAY_NAMES, LeanPrototype::NAMESPACE, LeanPrototype::SILENT_REDIRECTION
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, #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(for_this_program = nil, run_already = true) ⇒ CreateBashScripts
27
28
29
30
31
32
33
34
35
36
|
# File 'lib/rbt/generate_files/create_bash_scripts.rb', line 27
def initialize(
for_this_program = nil,
run_already = true
)
reset
set_for_this_program(
for_this_program
)
run if run_already
end
|
Instance Method Details
#copy_archive_shell_script ⇒ Object
#
copy_archive_shell_script
#
60
61
62
|
# File 'lib/rbt/generate_files/create_bash_scripts.rb', line 60
def copy_archive_shell_script
copy '$LINUX/SHELL/SCRIPTS/extract_archive.sh', WHERE_TO
end
|
#create_shellscript(for_this_program = @this_program) ⇒ Object
#
create_shellscript
This delegates the task to RBT::GenerateShellscript.
bl $RBT/utility_scripts/generate_shellscript.rb
#
96
97
98
99
100
101
102
103
104
105
106
|
# File 'lib/rbt/generate_files/create_bash_scripts.rb', line 96
def create_shellscript(
for_this_program = @this_program
)
@cookbook_dataset = action(:SanitizeCookbook, for_this_program)
_ = GenerateShellscript.new(
@cookbook_dataset, true, false, false
) {{
also_run_at_once: false
}}
return _.dataset+N
end
|
#exit_program ⇒ Object
83
84
85
|
# File 'lib/rbt/generate_files/create_bash_scripts.rb', line 83
def exit_program
exit
end
|
#notify_user(file) ⇒ Object
#
notify_user
Use this method to notify the user.
#
69
70
71
72
73
74
75
76
77
78
|
# File 'lib/rbt/generate_files/create_bash_scripts.rb', line 69
def notify_user(file)
cliner
opne sfancy('Finished creation! The file was: '+N+' ')+sfile(file)
e
opne 'If you want to cd to the directory, use this command:'
opne sfancy(' cd ')+sdir('/System/Settings/Scripts/')
opne 'And if you want to source this file, use this command:'
e sfancy(' source ')+sfile(file)
exit_program
end
|
#reset ⇒ Object
41
42
43
44
45
46
47
48
|
# File 'lib/rbt/generate_files/create_bash_scripts.rb', line 41
def reset
super()
infer_the_namespace
@cookbook_dataset = action(:SanitizeCookbook) { :dont_run_yet }
end
|
#run ⇒ Object
#
run
Everything is bundled here in this method.
#
113
114
115
116
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
159
160
161
|
# File 'lib/rbt/generate_files/create_bash_scripts.rb', line 113
def run
reset
copy_archive_shell_script
e
dir = system_directory?+'Settings/Scripts/'
file = dir+'bash_programs_rc'
cliner {
e sfancy('Now creating a bash file. The name and file path will be:')
e ' '+sfile(file)
}
create_directory(dir) unless File.exist?(dir) remove_file(file) if File.exist? file
string = ''.dup
string << '# Store all available programs in an array, so that we '+N
string << '# can use this information in our shell scripts lateron.'+N
string << 'programs=('
all_programs.each { |program|
string << ' "'+program.to_s+'"'+N
}; string << ')'+N+N
all_programs.each { |program|
opne "Creating a shellscript for `#{sfancy(program)}` next."
string << create_shellscript(program) }
write_what_into(string, file)
_ = ENV['LINUX'].to_s+'/SHELL/bash_programs_rc'
remove_file(_) if File.exist? _
write_what_into(string, _)
notify_user(file)
end
|
#set_for_this_program(i) ⇒ Object
53
54
55
|
# File 'lib/rbt/generate_files/create_bash_scripts.rb', line 53
def set_for_this_program(i)
@this_program = i
end
|