Class: RBT::Prefix
- Inherits:
-
Base
show all
- Defined in:
- lib/rbt/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
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 ========================================================================= #.
-
#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) ⇒ Prefix
constructor
# === initialize ========================================================================= #.
-
#is_an_appdir_prefix? ⇒ Boolean
(also: #makes_use_of_an_appdir_prefix?, #appdir?)
# === is_an_appdir_prefix? ========================================================================= #.
-
#prefix? ⇒ Boolean
# === prefix?.
-
#program? ⇒ Boolean
# === program? ========================================================================= #.
-
#program_name_and_program_version? ⇒ Boolean
# === program_name_and_program_version? ========================================================================= #.
-
#query ⇒ Boolean
# === prefix?.
-
#reset ⇒ Object
# === reset ========================================================================= #.
-
#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? ) ⇒ Object
(also: #prefix=, #rebuild_prefix, #update, #set_new_prefix, #use_this_as_the_new_prefix=)
# === set_prefix.
-
#set_program(i = nil) ⇒ Object
(also: #assign)
# === set_program.
-
#set_program_version(i = '1.0.0') ⇒ Object
# === set_program_version ========================================================================= #.
-
#strip! ⇒ Object
# === strip! ========================================================================= #.
-
#sub!(old, new) ⇒ Object
# === sub! ========================================================================= #.
-
#text? ⇒ Boolean
# === prefix?.
-
#to_s ⇒ 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_options, #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_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_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_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) ⇒ Prefix
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
|
# File 'lib/rbt/prefix/prefix.rb', line 40
def initialize(
optional_use_this_program_name = nil,
run_already = true
)
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
.prefix?(i = nil) ⇒ Boolean
366
367
368
369
|
# File 'lib/rbt/prefix/prefix.rb', line 366
def self.prefix?(i = nil)
_ = RBT::Prefix.new(i)
_.prefix? end
|
Instance Method Details
#<<(i) ⇒ Object
289
290
291
|
# File 'lib/rbt/prefix/prefix.rb', line 289
def <<(i)
@internal_hash[:prefix] << i
end
|
#_ ⇒ Boolean
#
prefix?
This query-method will output the prefix to use.
#
_
301
302
303
|
# File 'lib/rbt/prefix/prefix.rb', line 301
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.
#
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
|
# File 'lib/rbt/prefix/prefix.rb', line 261
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
173
174
175
|
# File 'lib/rbt/prefix/prefix.rb', line 173
def clear_program
@internal_hash[:program]
end
|
#do_we_want_to_use_an_appdir_prefix? ⇒ Boolean
#
do_we_want_to_use_an_appdir_prefix?
#
87
88
89
|
# File 'lib/rbt/prefix/prefix.rb', line 87
def do_we_want_to_use_an_appdir_prefix?
@do_we_want_to_use_an_appdir_prefix
end
|
#eliminate_hyphens ⇒ Object
180
181
182
183
|
# File 'lib/rbt/prefix/prefix.rb', line 180
def eliminate_hyphens
program?.delete!('-')
use_non_traditional_prefix end
|
#empty? ⇒ Boolean
108
109
110
|
# File 'lib/rbt/prefix/prefix.rb', line 108
def empty?
@internal_hash[:prefix].empty?
end
|
#end_with?(i) ⇒ Boolean
#
end_with?
Determine whether our prefix ends with a specific string.
#
124
125
126
|
# File 'lib/rbt/prefix/prefix.rb', line 124
def end_with?(i)
@internal_hash[:prefix].end_with? i
end
|
#include?(i) ⇒ Boolean
#
include?
Use this to query whether we include a string.
#
133
134
135
|
# File 'lib/rbt/prefix/prefix.rb', line 133
def include?(i)
@internal_hash[:prefix].include? i
end
|
#is_an_appdir_prefix? ⇒ Boolean
Also known as:
makes_use_of_an_appdir_prefix?, appdir?
309
310
311
|
# File 'lib/rbt/prefix/prefix.rb', line 309
def is_an_appdir_prefix?
prefix?.start_with?(program_directory?)
end
|
#prefix? ⇒ Boolean
#
prefix?
This query-method will output the prefix to use.
#
298
299
300
|
# File 'lib/rbt/prefix/prefix.rb', line 298
def prefix?
@internal_hash[:prefix].to_s
end
|
#program? ⇒ Boolean
166
167
168
|
# File 'lib/rbt/prefix/prefix.rb', line 166
def program?
@internal_hash[:program]
end
|
#program_name_and_program_version? ⇒ Boolean
#
program_name_and_program_version?
#
242
243
244
|
# File 'lib/rbt/prefix/prefix.rb', line 242
def program_name_and_program_version?
"#{program?}-#{@program_version}"
end
|
#query ⇒ Boolean
#
prefix?
This query-method will output the prefix to use.
#
query
300
301
302
|
# File 'lib/rbt/prefix/prefix.rb', line 300
def prefix?
@internal_hash[:prefix].to_s
end
|
#reset ⇒ Object
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
|
# File 'lib/rbt/prefix/prefix.rb', line 66
def reset
super()
set_prefix(nil) set_program
set_be_quiet
set_program_version
@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.
#
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
|
# File 'lib/rbt/prefix/prefix.rb', line 334
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
359
360
361
|
# File 'lib/rbt/prefix/prefix.rb', line 359
def run
set_prefix
end
|
115
116
117
|
# File 'lib/rbt/prefix/prefix.rb', line 115
def set_original_input(i)
@internal_hash[:original_input] = i.to_s.dup
end
|
#set_prefix(i = program?
) ⇒ Object
Also known as:
prefix=, rebuild_prefix, update, set_new_prefix, use_this_as_the_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.
#
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
230
231
232
233
|
# File 'lib/rbt/prefix/prefix.rb', line 195
def set_prefix(
i = program?
)
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(i = nil) ⇒ Object
Also known as:
assign
#
set_program
Use this method to set the instance variable @internal_hash.
It shall be kept like that. The input can contain a ‘-’.
#
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
|
# File 'lib/rbt/prefix/prefix.rb', line 144
def set_program(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] = i end
|
#set_program_version(i = '1.0.0') ⇒ Object
317
318
319
|
# File 'lib/rbt/prefix/prefix.rb', line 317
def set_program_version(i = '1.0.0')
@program_version = i
end
|
#strip! ⇒ Object
282
283
284
|
# File 'lib/rbt/prefix/prefix.rb', line 282
def strip!
@internal_hash[:prefix].strip!
end
|
#sub!(old, new) ⇒ Object
101
102
103
|
# File 'lib/rbt/prefix/prefix.rb', line 101
def sub!(old, new)
@internal_hash[:prefix].sub!(old, new)
end
|
#text? ⇒ Boolean
#
prefix?
This query-method will output the prefix to use.
#
text?
302
303
304
|
# File 'lib/rbt/prefix/prefix.rb', line 302
def prefix?
@internal_hash[:prefix].to_s
end
|
#to_s ⇒ Boolean
#
prefix?
This query-method will output the prefix to use.
#
to_s
303
304
305
|
# File 'lib/rbt/prefix/prefix.rb', line 303
def prefix?
@internal_hash[:prefix].to_s
end
|
#use_appdir_prefix_for_this_program(i) ⇒ Object
#
use_appdir_prefix_for_this_program
#
324
325
326
327
|
# File 'lib/rbt/prefix/prefix.rb', line 324
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.
#
251
252
253
|
# File 'lib/rbt/prefix/prefix.rb', line 251
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
#
94
95
96
|
# File 'lib/rbt/prefix/prefix.rb', line 94
def we_will_use_an_appdir_prefix
@do_we_want_to_use_an_appdir_prefix = true
end
|