Class: RBT::Action::Prefix
- Inherits:
-
Base
show all
- Defined in:
- lib/rbt/actions/individual_actions/prefix/prefix.rb
Overview
Constant Summary
collapse
- USR_PREFIX =
'/usr/'
- DEFAULT_PREFIX =
This is the default prefix.
USR_PREFIX
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::Prefix[] ========================================================================= #.
-
.prefix?(i = nil) ⇒ Boolean
# === RBT::Prefix.prefix? ========================================================================== #.
Instance Method Summary
collapse
-
#<<(i) ⇒ Object
# === << ========================================================================== #.
-
#_ ⇒ Boolean
# === prefix?.
-
#assign_prefix(i) ⇒ Object
(also: #assign_prefix=, #use_this_prefix, #set_use_this_prefix)
# === assign_prefix.
-
#clear_program ⇒ Object
# === clear_program ========================================================================== #.
-
#determine_the_prefix_anew ⇒ Object
(also: #use_this_as_the_new_prefix=)
# === determine_the_prefix_anew ========================================================================== #.
-
#do_we_want_to_use_an_appdir_prefix? ⇒ Boolean
# === do_we_want_to_use_an_appdir_prefix? ========================================================================== #.
-
#eliminate_hyphens ⇒ Object
# === eliminate_hyphens ========================================================================== #.
-
#empty? ⇒ Boolean
# === empty? ========================================================================== #.
-
#end_with?(i) ⇒ Boolean
# === end_with?.
-
#include?(i) ⇒ Boolean
# === include?.
-
#initialize(optional_use_this_program_name = nil, run_already = true, &block) ⇒ Prefix
constructor
# === initialize ========================================================================== #.
-
#is_an_appdir_prefix? ⇒ Boolean
(also: #makes_use_of_an_appdir_prefix?, #appdir?)
# === is_an_appdir_prefix? ========================================================================== #.
-
#prefix? ⇒ Boolean
# === prefix?.
-
#program_name? ⇒ Boolean
(also: #program?)
# === program_name? ========================================================================== #.
-
#program_name_and_program_version? ⇒ Boolean
# === program_name_and_program_version? ========================================================================== #.
-
#program_version? ⇒ Boolean
# === program_version? ========================================================================== #.
-
#query ⇒ Boolean
# === prefix?.
-
#reset ⇒ Object
# === reset (reset tag) ========================================================================= #.
-
#return_non_traditional_prefix(i = program_name_and_program_version? ) ⇒ Object
(also: #do_use_appdir_prefix_from_this_input)
# === return_non_traditional_prefix.
-
#run ⇒ Object
# === run (run tag) ========================================================================== #.
-
#set_original_input(i) ⇒ Object
-
#set_prefix(i = program_name? ) ⇒ Object
(also: #prefix=, #rebuild_prefix, #update, #set_new_prefix)
# === set_prefix.
-
#set_program_name(i = nil) ⇒ Object
(also: #set_program, #assign)
# === set_program_name.
-
#set_program_version(i = '1.0.0') ⇒ Object
# === set_program_version ========================================================================== #.
-
#strip! ⇒ Object
# === strip! ========================================================================== #.
-
#sub!(old, new) ⇒ Object
# === sub! ========================================================================== #.
-
#sync_cookbook_dataset_program_version_onto_the_prefix_object ⇒ Object
# === sync_cookbook_dataset_program_version_onto_the_prefix_object ========================================================================== #.
-
#text? ⇒ Boolean
# === prefix?.
-
#to_s ⇒ Boolean
# === prefix?.
-
#to_str ⇒ Boolean
# === prefix?.
-
#use_appdir_prefix_for_this_program(i) ⇒ Object
# === use_appdir_prefix_for_this_program ========================================================================== #.
-
#use_non_traditional_prefix ⇒ Object
(also: #gobolinux_prefix, #enable_non_traditional_compilation)
# === use_non_traditional_prefix.
-
#we_will_use_an_appdir_prefix ⇒ Object
(also: #do_use_appdir_prefix)
# === we_will_use_an_appdir_prefix.
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(optional_use_this_program_name = nil, run_already = true, &block) ⇒ Prefix
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
|
# File 'lib/rbt/actions/individual_actions/prefix/prefix.rb', line 39
def initialize(
optional_use_this_program_name = nil,
run_already = true,
&block
)
reset if optional_use_this_program_name
set_original_input(optional_use_this_program_name)
set_program(optional_use_this_program_name)
end
if block_given?
yielded = yield
case yielded
when :ntrad
set_prefix(:ntrad)
else
run if run_already
end
else
run if run_already
end
end
|
Class Method Details
.[](i = ARGV) ⇒ Object
#
RBT::Action::Prefix[]
#
399
400
401
|
# File 'lib/rbt/actions/individual_actions/prefix/prefix.rb', line 399
def self.[](i = ARGV)
new(i)
end
|
.prefix?(i = nil) ⇒ Boolean
406
407
408
409
|
# File 'lib/rbt/actions/individual_actions/prefix/prefix.rb', line 406
def self.prefix?(i = nil)
_ = new(i)
_.prefix? end
|
Instance Method Details
#<<(i) ⇒ Object
289
290
291
|
# File 'lib/rbt/actions/individual_actions/prefix/prefix.rb', line 289
def <<(i)
@internal_hash[:prefix] << i
end
|
#_ ⇒ Boolean
#
prefix?
This query-method will output the prefix to use.
#
_
387
388
389
|
# File 'lib/rbt/actions/individual_actions/prefix/prefix.rb', line 387
def prefix?
@internal_hash[:prefix].to_s
end
|
#assign_prefix(i) ⇒ Object
Also known as:
assign_prefix=, use_this_prefix, set_use_this_prefix
#
assign_prefix
Simply assign the prefix, without any further checking.
#
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
|
# File 'lib/rbt/actions/individual_actions/prefix/prefix.rb', line 341
def assign_prefix(i)
case i
when :default,
:default_prefix,
nil
i = DEFAULT_PREFIX
end
i = i.dup if i.frozen?
i.strip!
i << '/' unless i.end_with? '/'
@internal_hash[:prefix] = i
end
|
#clear_program ⇒ Object
190
191
192
|
# File 'lib/rbt/actions/individual_actions/prefix/prefix.rb', line 190
def clear_program
@internal_hash[:program_name] = nil
end
|
#determine_the_prefix_anew ⇒ Object
Also known as:
use_this_as_the_new_prefix=
#
determine_the_prefix_anew
#
362
363
364
365
|
# File 'lib/rbt/actions/individual_actions/prefix/prefix.rb', line 362
def determine_the_prefix_anew
_ = "#{programs_dir?}#{program_name?.capitalize}/#{program_version?}/"
set_use_this_prefix(_)
end
|
#do_we_want_to_use_an_appdir_prefix? ⇒ Boolean
#
do_we_want_to_use_an_appdir_prefix?
#
93
94
95
|
# File 'lib/rbt/actions/individual_actions/prefix/prefix.rb', line 93
def do_we_want_to_use_an_appdir_prefix?
@internal_hash[:do_we_want_to_use_an_appdir_prefix]
end
|
#eliminate_hyphens ⇒ Object
197
198
199
200
|
# File 'lib/rbt/actions/individual_actions/prefix/prefix.rb', line 197
def eliminate_hyphens
program_name?.delete!('-')
use_non_traditional_prefix end
|
#empty? ⇒ Boolean
117
118
119
|
# File 'lib/rbt/actions/individual_actions/prefix/prefix.rb', line 117
def empty?
@internal_hash[:prefix].empty?
end
|
#end_with?(i) ⇒ Boolean
#
end_with?
Determine whether our prefix ends with a specific string.
#
133
134
135
|
# File 'lib/rbt/actions/individual_actions/prefix/prefix.rb', line 133
def end_with?(i)
@internal_hash[:prefix].end_with? i
end
|
#include?(i) ⇒ Boolean
#
include?
Use this to query whether we include a string.
#
142
143
144
|
# File 'lib/rbt/actions/individual_actions/prefix/prefix.rb', line 142
def include?(i)
@internal_hash[:prefix].include? i
end
|
#is_an_appdir_prefix? ⇒ Boolean
Also known as:
makes_use_of_an_appdir_prefix?, appdir?
296
297
298
|
# File 'lib/rbt/actions/individual_actions/prefix/prefix.rb', line 296
def is_an_appdir_prefix?
prefix?.start_with?(program_directory?)
end
|
#prefix? ⇒ Boolean
#
prefix?
This query-method will output the prefix to use.
#
381
382
383
|
# File 'lib/rbt/actions/individual_actions/prefix/prefix.rb', line 381
def prefix?
@internal_hash[:prefix].to_s
end
|
#program_name? ⇒ Boolean
Also known as:
program?
176
177
178
|
# File 'lib/rbt/actions/individual_actions/prefix/prefix.rb', line 176
def program_name?
@internal_hash[:program_name]
end
|
#program_name_and_program_version? ⇒ Boolean
#
program_name_and_program_version?
#
258
259
260
|
# File 'lib/rbt/actions/individual_actions/prefix/prefix.rb', line 258
def program_name_and_program_version?
"#{program_name?}-#{program_version?}"
end
|
#program_version? ⇒ Boolean
183
184
185
|
# File 'lib/rbt/actions/individual_actions/prefix/prefix.rb', line 183
def program_version?
@internal_hash[:program_version]
end
|
#query ⇒ Boolean
#
prefix?
This query-method will output the prefix to use.
#
query
386
387
388
|
# File 'lib/rbt/actions/individual_actions/prefix/prefix.rb', line 386
def prefix?
@internal_hash[:prefix].to_s
end
|
#reset ⇒ Object
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
|
# File 'lib/rbt/actions/individual_actions/prefix/prefix.rb', line 71
def reset
super()
infer_the_namespace
set_be_quiet
set_prefix(nil) set_program
set_program_version
@internal_hash[:do_we_want_to_use_an_appdir_prefix] = false
end
|
#return_non_traditional_prefix(i = program_name_and_program_version?
) ⇒ Object
Also known as:
do_use_appdir_prefix_from_this_input
#
return_non_traditional_prefix
This method will return a proper non-traditional prefix.
#
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
|
# File 'lib/rbt/actions/individual_actions/prefix/prefix.rb', line 314
def return_non_traditional_prefix(
i = program_name_and_program_version?
)
program_information = ::ProgramInformation::ProgramInformation.new(
i,
true,
be_verbose?
) name = program_information.name.to_s.capitalize.delete('-_').capitalize
version = program_information.version
i = "#{programs_dir?}#{name}/#{version}/".dup i << '/' unless i.end_with? '/'
i.delete!('-') if i.include? '-'
return i end
|
#run ⇒ Object
392
393
394
|
# File 'lib/rbt/actions/individual_actions/prefix/prefix.rb', line 392
def run
set_prefix
end
|
124
125
126
|
# File 'lib/rbt/actions/individual_actions/prefix/prefix.rb', line 124
def set_original_input(i)
@internal_hash[:original_input] = i.to_s.dup
end
|
#set_prefix(i = program_name?
) ⇒ Object
Also known as:
prefix=, rebuild_prefix, update, set_new_prefix
#
set_prefix
This methods assigns to the instance variable @internal_hash which keeps the prefix in use. The prefix instance variable is stored in the variable @internal_hash.
Input should include the version, i.e. “htop-1.0” would be a proper input.
#
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
|
# File 'lib/rbt/actions/individual_actions/prefix/prefix.rb', line 212
def set_prefix(
i = program_name?
)
case i.to_s when 'gobolinux',
'gobolinux_prefix',
'ntrad',
'false',
'default',
'app_dir_like',
/^app(_|-)?dir/
we_will_use_an_appdir_prefix
i = return_non_traditional_prefix(
program_name_and_program_version?
).to_s i.delete!('-') if i.include?('-')
when 'true',
't',
'trad',
'traditional',
'tra',
'def' i = USR_PREFIX
else end
assign_prefix(i) if i end
|
#set_program_name(i = nil) ⇒ Object
Also known as:
set_program, assign
#
set_program_name
Use this method to set the instance variable @internal_hash.
It shall be kept like that. The input can contain a ‘-’.
#
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
|
# File 'lib/rbt/actions/individual_actions/prefix/prefix.rb', line 153
def set_program_name(i = nil)
case i
when :traditional,
:trad
set_prefix(i)
i = nil
when :nontrad,
:ntrad
we_will_use_an_appdir_prefix
end
@internal_hash[:program_name] = i end
|
#set_program_version(i = '1.0.0') ⇒ Object
370
371
372
373
374
|
# File 'lib/rbt/actions/individual_actions/prefix/prefix.rb', line 370
def set_program_version(
i = '1.0.0'
)
@internal_hash[:program_version] = i
end
|
#strip! ⇒ Object
282
283
284
|
# File 'lib/rbt/actions/individual_actions/prefix/prefix.rb', line 282
def strip!
@internal_hash[:prefix].strip!
end
|
#sub!(old, new) ⇒ Object
110
111
112
|
# File 'lib/rbt/actions/individual_actions/prefix/prefix.rb', line 110
def sub!(old, new)
@internal_hash[:prefix].sub!(old, new)
end
|
#sync_cookbook_dataset_program_version_onto_the_prefix_object ⇒ Object
#
sync_cookbook_dataset_program_version_onto_the_prefix_object
#
265
266
267
|
# File 'lib/rbt/actions/individual_actions/prefix/prefix.rb', line 265
def sync_cookbook_dataset_program_version_onto_the_prefix_object
use_non_traditional_prefix
end
|
#text? ⇒ Boolean
#
prefix?
This query-method will output the prefix to use.
#
text?
385
386
387
|
# File 'lib/rbt/actions/individual_actions/prefix/prefix.rb', line 385
def prefix?
@internal_hash[:prefix].to_s
end
|
#to_s ⇒ Boolean
#
prefix?
This query-method will output the prefix to use.
#
to_s
384
385
386
|
# File 'lib/rbt/actions/individual_actions/prefix/prefix.rb', line 384
def prefix?
@internal_hash[:prefix].to_s
end
|
#to_str ⇒ Boolean
#
prefix?
This query-method will output the prefix to use.
#
to_str
383
384
385
|
# File 'lib/rbt/actions/individual_actions/prefix/prefix.rb', line 383
def prefix?
@internal_hash[:prefix].to_s
end
|
#use_appdir_prefix_for_this_program(i) ⇒ Object
#
use_appdir_prefix_for_this_program
#
304
305
306
307
|
# File 'lib/rbt/actions/individual_actions/prefix/prefix.rb', line 304
def use_appdir_prefix_for_this_program(i)
set_program(i)
set_prefix(:ntrad)
end
|
#use_non_traditional_prefix ⇒ Object
Also known as:
gobolinux_prefix, enable_non_traditional_compilation
#
use_non_traditional_prefix
This method will assign to a non-traditional (gobolinux) prefix.
#
274
275
276
|
# File 'lib/rbt/actions/individual_actions/prefix/prefix.rb', line 274
def use_non_traditional_prefix
set_prefix(:gobolinux)
end
|
#we_will_use_an_appdir_prefix ⇒ Object
Also known as:
do_use_appdir_prefix
#
we_will_use_an_appdir_prefix
This method can be used to determine that an app-dir prefix is to be used.
#
103
104
105
|
# File 'lib/rbt/actions/individual_actions/prefix/prefix.rb', line 103
def we_will_use_an_appdir_prefix
@internal_hash[:do_we_want_to_use_an_appdir_prefix] = true
end
|