Class: RBT::Action::BuildDirectory
- Inherits:
-
RBT::Action
show all
- Defined in:
- lib/rbt/actions/individual_actions/build_directory/build_directory.rb
Overview
RBT::Action::BuildDirectory
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
Instance Method Summary
collapse
-
#absolute_path_to_the_build_directory? ⇒ Boolean
(also: #use_this_path?, #use_which_path?, #path?, #full_path?, #absolute_path?, #use_this_as_build_directory?)
# === absolute_path_to_the_build_directory?.
-
#cd_one_level_downwards(i = absolute_path? ) ⇒ Object
# === cd_one_level_downwards ========================================================================== #.
-
#cd_to_the_base_directory ⇒ Object
(also: #cd_to_the_build_directory, #cd_into_the_build_directory)
# === cd_to_the_base_directory.
-
#change_directory(i = absolute_path_to_the_build_directory?, , be_verbose = be_verbose? ) ⇒ Object
(also: #do_change_directory, #cd, #chdir)
# === change_directory (cd tag).
-
#consider_creating_the_build_directory_and_then_entering_it(shall_we_make_use_of_a_build_directory = shall_we_make_use_of_a_build_directory? ) ⇒ Object
# === consider_creating_the_build_directory_and_then_entering_it ========================================================================== #.
-
#create_the_build_directory_if_it_does_not_yet_exist(i = absolute_path? ) ⇒ Object
# === create_the_build_directory_if_it_does_not_yet_exist ========================================================================== #.
-
#ensure_that_the_build_directory_exists(use_this_path = absolute_path? ) ⇒ Object
(also: #silently_make_sure_that_the_build_directory_exists)
# === ensure_that_the_build_directory_exists.
-
#initialize(i = nil, run_already = true, &block) ⇒ BuildDirectory
constructor
# === initialize ========================================================================== #.
-
#initialize_the_default_variables ⇒ Object
(also: #restore_the_default_values)
# === initialize_the_default_variables ========================================================================== #.
-
#name?(i = absolute_path? ) ⇒ Boolean
# === name?.
-
#reset ⇒ Object
# === reset (reset tag) ========================================================================== #.
-
#run ⇒ Object
# === run (run tag) ========================================================================== #.
-
#set_absolute_path_to_the_build_directory(i = return_pwd) ⇒ Object
(also: #set_path, #path_to_build_directory=, #use_this_build_directory=, #use_this_path=, #this_is_the_build_directory, #this_is_the_build_directory=)
# === set_absolute_path_to_the_build_directory (set tag).
-
#set_shall_we_make_use_of_a_build_directory(i) ⇒ Object
(also: #use_a_build_directory=)
# === set_shall_we_make_use_of_a_build_directory ========================================================================== #.
-
#shall_we_make_use_of_a_build_directory? ⇒ Boolean
(also: #use_a_build_directory?, #do_we_use_a_build_directory?)
# === shall_we_make_use_of_a_build_directory?.
-
#try_to_determine_the_path_from_the_commandline_arguments ⇒ Object
# === try_to_determine_the_path_from_the_commandline_arguments ========================================================================== #.
#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_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(i = nil, run_already = true, &block) ⇒ BuildDirectory
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
|
# File 'lib/rbt/actions/individual_actions/build_directory/build_directory.rb', line 44
def initialize(
i = nil, run_already = true,
&block
)
reset
set_commandline_arguments(i)
try_to_determine_the_path_from_the_commandline_arguments
if block_given?
yielded = yield
case yielded
when :do_not_run_yet
run = false
end
end
run if run_already
end
|
Class Method Details
.[](i = ARGV, &block) ⇒ Object
#
RBT::Action::BuildDirectory[]
#
333
334
335
|
# File 'lib/rbt/actions/individual_actions/build_directory/build_directory.rb', line 333
def self.[](i = ARGV, &block)
new(i, &block)
end
|
Instance Method Details
#absolute_path_to_the_build_directory? ⇒ Boolean
Also known as:
use_this_path?, use_which_path?, path?, full_path?, absolute_path?, use_this_as_build_directory?
#
absolute_path_to_the_build_directory?
This query-method will return the (absolute) path to the build-directory.
#
285
286
287
|
# File 'lib/rbt/actions/individual_actions/build_directory/build_directory.rb', line 285
def absolute_path_to_the_build_directory?
@internal_hash[:absolute_path_to_the_build_directory]
end
|
#cd_one_level_downwards(i = absolute_path?
) ⇒ Object
#
cd_one_level_downwards
#
195
196
197
198
199
200
|
# File 'lib/rbt/actions/individual_actions/build_directory/build_directory.rb', line 195
def cd_one_level_downwards(
i = absolute_path?
)
new_target_directory = File.dirname(i)
change_directory(new_target_directory)
end
|
#cd_to_the_base_directory ⇒ Object
Also known as:
cd_to_the_build_directory, cd_into_the_build_directory
#
cd_to_the_base_directory
This method will always go to the default base-directory.
#
274
275
276
|
# File 'lib/rbt/actions/individual_actions/build_directory/build_directory.rb', line 274
def cd_to_the_base_directory
cd(:base_directory)
end
|
#change_directory(i = absolute_path_to_the_build_directory?,
, be_verbose = be_verbose?
) ⇒ Object
Also known as:
do_change_directory, cd, chdir
#
change_directory (cd tag)
This method can be used to instruct class BuildDirectory to change to another directory. By default it will change to the build directory that was assigned to this class.
The actualy “change-directory” action will be silent by default.
#
211
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
251
252
253
254
255
256
|
# File 'lib/rbt/actions/individual_actions/build_directory/build_directory.rb', line 211
def change_directory(
i = absolute_path_to_the_build_directory?,
be_verbose = be_verbose?
)
case i
when :be_verbose
be_verbose = true
end
case i
when :default,
:start,
:base_directory,
nil
i = absolute_path_to_the_build_directory?
end
if block_given?
yielded = yield
case yielded
when :ensure_that_the_directory_exists
if i create_the_build_directory_if_it_does_not_yet_exist(i)
end
end
end
if i and File.directory?(i)
if be_verbose
orev "Now entering the directory `#{sdir(i)}#{rev}`."
end
Dir.chdir(i)
else
orev "Can not change directory to non-existing "\
"path at `#{sfile(i.to_s)}#{rev}`." if be_verbose
end
end
|
#consider_creating_the_build_directory_and_then_entering_it(shall_we_make_use_of_a_build_directory = shall_we_make_use_of_a_build_directory?
) ⇒ Object
#
consider_creating_the_build_directory_and_then_entering_it
#
182
183
184
185
186
187
188
189
190
|
# File 'lib/rbt/actions/individual_actions/build_directory/build_directory.rb', line 182
def consider_creating_the_build_directory_and_then_entering_it(
shall_we_make_use_of_a_build_directory = shall_we_make_use_of_a_build_directory?
)
_ = absolute_path_to_the_build_directory?
if _ and shall_we_make_use_of_a_build_directory
create_the_build_directory_if_it_does_not_yet_exist
cd_into_the_build_directory { :be_quiet }
end
end
|
#create_the_build_directory_if_it_does_not_yet_exist(i = absolute_path?
) ⇒ Object
#
create_the_build_directory_if_it_does_not_yet_exist
#
263
264
265
266
267
|
# File 'lib/rbt/actions/individual_actions/build_directory/build_directory.rb', line 263
def create_the_build_directory_if_it_does_not_yet_exist(
i = absolute_path?
)
mkdir(i) unless File.directory?(i)
end
|
#ensure_that_the_build_directory_exists(use_this_path = absolute_path?
) ⇒ Object
Also known as:
silently_make_sure_that_the_build_directory_exists
#
ensure_that_the_build_directory_exists
This method will be silent by default.
#
316
317
318
319
320
321
322
|
# File 'lib/rbt/actions/individual_actions/build_directory/build_directory.rb', line 316
def ensure_that_the_build_directory_exists(
use_this_path = absolute_path?
)
unless File.directory? use_this_path
mkdir(use_this_path, :be_silent)
end
end
|
#initialize_the_default_variables ⇒ Object
Also known as:
restore_the_default_values
#
initialize_the_default_variables
#
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
|
# File 'lib/rbt/actions/individual_actions/build_directory/build_directory.rb', line 77
def initialize_the_default_variables
@internal_hash[:absolute_path_to_the_build_directory] = nil
@internal_hash[:shall_we_make_use_of_a_build_directory] = true
set_be_quiet
end
|
#name?(i = absolute_path?
) ⇒ Boolean
#
name?
This method will just return the short-name of the path.
For example, if the absolute path is “/abc/def/build_dir/” then this method will simply return the following string:
"build_dir"
#
305
306
307
308
309
|
# File 'lib/rbt/actions/individual_actions/build_directory/build_directory.rb', line 305
def name?(
i = absolute_path?
)
return File.basename(i)
end
|
#reset ⇒ Object
68
69
70
71
72
|
# File 'lib/rbt/actions/individual_actions/build_directory/build_directory.rb', line 68
def reset
super()
infer_the_namespace
initialize_the_default_variables
end
|
#run ⇒ Object
327
328
|
# File 'lib/rbt/actions/individual_actions/build_directory/build_directory.rb', line 327
def run
end
|
#set_absolute_path_to_the_build_directory(i = return_pwd) ⇒ Object
Also known as:
set_path, path_to_build_directory=, use_this_build_directory=, use_this_path=, this_is_the_build_directory, this_is_the_build_directory=
#
set_absolute_path_to_the_build_directory (set tag)
The path meant here is the full, absolute path towards the build directory.
#
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
|
# File 'lib/rbt/actions/individual_actions/build_directory/build_directory.rb', line 142
def set_absolute_path_to_the_build_directory(
i = return_pwd
)
if i
if i.is_a? Array
i = i.join(' ').strip
elsif i.is_a? Hash
if i.has_key? :path_to_build_directory
i = i[:path_to_build_directory]
end
end
if i.is_a?(String)
i = i.dup if i.frozen?
i = File.absolute_path(i)
i << '/' unless i.end_with?('/')
end
end
@internal_hash[:absolute_path_to_the_build_directory] = i end
|
#set_shall_we_make_use_of_a_build_directory(i) ⇒ Object
Also known as:
use_a_build_directory=
#
set_shall_we_make_use_of_a_build_directory
#
120
121
122
|
# File 'lib/rbt/actions/individual_actions/build_directory/build_directory.rb', line 120
def set_shall_we_make_use_of_a_build_directory(i)
@internal_hash[:shall_we_make_use_of_a_build_directory] = i
end
|
#shall_we_make_use_of_a_build_directory? ⇒ Boolean
Also known as:
use_a_build_directory?, do_we_use_a_build_directory?
#
shall_we_make_use_of_a_build_directory?
This method is required because the RBT::Action::SoftwareManager class may not always want to use a build directory.
#
112
113
114
|
# File 'lib/rbt/actions/individual_actions/build_directory/build_directory.rb', line 112
def shall_we_make_use_of_a_build_directory?
@internal_hash[:shall_we_make_use_of_a_build_directory]
end
|
#try_to_determine_the_path_from_the_commandline_arguments ⇒ Object
#
try_to_determine_the_path_from_the_commandline_arguments
#
127
128
129
130
131
132
133
134
|
# File 'lib/rbt/actions/individual_actions/build_directory/build_directory.rb', line 127
def try_to_determine_the_path_from_the_commandline_arguments
_ = first_argument?
if _
set_absolute_path_to_the_build_directory(_)
else
set_absolute_path_to_the_build_directory(nil)
end
end
|