Class: RBT::Action::Cookbooks::ExpandCookbooks
- Inherits:
-
RBT::Action
show all
- Defined in:
- lib/rbt/actions/individual_actions/cookbooks/expand_cookbooks/expand_cookbooks.rb
Overview
RBT::Action::Cookbooks::ExpandCookbooks
Constant Summary
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::Action::Cookbooks::ExpandCookbooks[] ========================================================================= #.
Instance Method Summary
collapse
#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(expand_which_programs = :all_of_them, run_already = true, &block) ⇒ ExpandCookbooks
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
|
# File 'lib/rbt/actions/individual_actions/cookbooks/expand_cookbooks/expand_cookbooks.rb', line 41
def initialize(
expand_which_programs = :all_of_them,
run_already = true,
&block
)
reset
case run_already
when :do_not_run_yet
run_already = false
end
set_expand_these_programs(
expand_which_programs
)
run if run_already
end
|
Class Method Details
.[](i = ARGV) ⇒ Object
#
RBT::Action::Cookbooks::ExpandCookbooks[]
#
279
280
281
|
# File 'lib/rbt/actions/individual_actions/cookbooks/expand_cookbooks/expand_cookbooks.rb', line 279
def self.[](i = ARGV)
new(i)
end
|
Instance Method Details
#consider_updating_program_version_and_url_file ⇒ Object
#
consider_updating_program_version_and_url_file
#
87
88
89
90
91
92
93
94
|
# File 'lib/rbt/actions/individual_actions/cookbooks/expand_cookbooks/expand_cookbooks.rb', line 87
def consider_updating_program_version_and_url_file
if is_on_roebe?
action(:create_program_version_url_file)
end
end
|
#ensure_that_the_base_directory_exists ⇒ Object
#
ensure_that_the_base_directory_exists
#
171
172
173
174
175
176
177
178
179
180
181
|
# File 'lib/rbt/actions/individual_actions/cookbooks/expand_cookbooks/expand_cookbooks.rb', line 171
def inform_the_user_what_we_will_do_next
if main_array?.size < 2
opne "The program called `"\
"#{sfancy(return_default_program_name_as_string.downcase)}#{rev}`"\
" will now be expanded,"
opne 'towards its individual yaml file.'
else
opne "#{rev}We will now expand the whole dataset stored into "\
"the individual yaml files."
end
end
|
#main_array? ⇒ Boolean
139
140
141
|
# File 'lib/rbt/actions/individual_actions/cookbooks/expand_cookbooks/expand_cookbooks.rb', line 139
def main_array?
@expand_these_programs
end
|
#obtain_available_cookbooks ⇒ Object
#
obtain_available_cookbooks
#
155
156
157
|
# File 'lib/rbt/actions/individual_actions/cookbooks/expand_cookbooks/expand_cookbooks.rb', line 155
def obtain_available_cookbooks
@available_programs = available_programs?
end
|
#reset ⇒ Object
63
64
65
66
67
68
69
70
71
72
73
74
75
|
# File 'lib/rbt/actions/individual_actions/cookbooks/expand_cookbooks/expand_cookbooks.rb', line 63
def reset
super()
infer_the_namespace
@simple_or_complex = :simple
@expand_these_programs = [] obtain_available_cookbooks
end
|
#return_default_program_name_as_string ⇒ Object
#
return_default_program_name_as_string
#
146
147
148
149
150
|
# File 'lib/rbt/actions/individual_actions/cookbooks/expand_cookbooks/expand_cookbooks.rb', line 146
def return_default_program_name_as_string
remove_file_archive_at_the_end(
File.basename(main_array?.first.to_s)
)
end
|
#run ⇒ Object
269
270
271
272
273
274
|
# File 'lib/rbt/actions/individual_actions/cookbooks/expand_cookbooks/expand_cookbooks.rb', line 269
def run
ensure_that_the_base_directory_exists
inform_the_user_what_we_will_do_next
work_on_each_cookbook
consider_updating_program_version_and_url_file
end
|
#sanitize_this_hash(i) ⇒ Object
#
sanitize_this_hash (sanitize tag)
#
234
235
236
237
238
239
240
241
242
243
|
# File 'lib/rbt/actions/individual_actions/cookbooks/expand_cookbooks/expand_cookbooks.rb', line 234
def sanitize_this_hash(i)
if i.is_a? Hash array = i.sort_by {|key, value| key }
i = array.to_h
end
i
end
|
#set_expand_these_programs(i = :all_of_them) ⇒ Object
#
set_expand_these_programs
#
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
|
# File 'lib/rbt/actions/individual_actions/cookbooks/expand_cookbooks/expand_cookbooks.rb', line 99
def set_expand_these_programs(
i = :all_of_them
)
if i.is_a? Array
i = i.first
end
i = :all_of_them if i.nil? case i
when /^-?-?help$/i
show_help(:then_exit)
when :all_of_them,
'' i = @available_programs
end
unless i.is_a? Array
i = [i] end
i.map! {|entry|
entry = entry.dup if entry.frozen?
entry.delete!('-') if entry.include?('-')
if entry and entry.end_with?('.yml')
entry.delete_suffix!('.yml')
end
entry
}
@expand_these_programs = i
end
|
#show_help(also_exit = false) ⇒ Object
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
|
# File 'lib/rbt/actions/individual_actions/cookbooks/expand_cookbooks/expand_cookbooks.rb', line 248
def show_help(also_exit = false)
case also_exit
when :then_exit
also_exit = true
end
opne 'This class will expand the given arguments '\
'(program names) into .yml files.'
e
e 'Invocation example:'
e
e sfancy(' expand_cookbooks rubyprogressbar')
e
exit if also_exit
end
|
#simple_or_complex? ⇒ Boolean
80
81
82
|
# File 'lib/rbt/actions/individual_actions/cookbooks/expand_cookbooks/expand_cookbooks.rb', line 80
def simple_or_complex?
@simple_or_complex
end
|
#work_on_each_cookbook ⇒ Object
#
work_on_each_cookbook
Work on each cookbook and save the dataset as a hash.
#
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
|
# File 'lib/rbt/actions/individual_actions/cookbooks/expand_cookbooks/expand_cookbooks.rb', line 188
def work_on_each_cookbook
is_on_roebe = is_on_roebe?
if @expand_these_programs.size > 1
opne "#{rev}Various programs will be expanded now, using the "\
"#{steelblue(simple_or_complex?)}"\
"#{rev} mode."
end
@expand_these_programs.each {|program|
program = remove_archive_at_the_end(File.basename(program)).downcase
_ = action(:SanitizeCookbook, program, autogenerate_expanded_dataset: false) { @simple_or_complex }
hash = _.internal_dataset? hash = sanitize_this_hash(hash)
dataset_to_save = YAML.dump(hash)
what = dataset_to_save
into = rds("#{directory_expanded_cookbooks?}#{program}.yml")
RBT.store_this_expanded_dataset_into_that_yaml_file(what, into)
opne "Now storing the #{royalblue('Hash')} #{rev}from "\
"`#{slateblue(program)}#{rev}"\
"` into `#{sfile(into)}#{rev}`."
if is_on_roebe
into = "#{RUBY_SRC_DIR_RBT_YAML}expanded_cookbooks/#{File.basename(into)}"
opne "Also storing the #{royalblue('Hash')} #{rev}from "\
"`#{slateblue(program)}"\
"#{rev}` into `#{sfile(into)}#{rev}`."
end
}
end
|