Class: RBT::Action::Extract
- Inherits:
-
RBT::Action
show all
- Defined in:
- lib/rbt/actions/individual_actions/extract/extract.rb
Overview
Constant Summary
LeanPrototype::ALL_COLOUR_METHODS, LeanPrototype::ARRAY_KDE_KONSOLE_COLOURS_IN_USE, LeanPrototype::DAY_NAMES, LeanPrototype::NAMESPACE, LeanPrototype::SILENT_REDIRECTION
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(i = nil, run_already = true, &block) ⇒ Extract
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
|
# File 'lib/rbt/actions/individual_actions/extract/extract.rb', line 20
def initialize(
i = nil,
run_already = true,
&block
)
reset
case i
when :do_not_run_yet
i = nil
run_already = false
end
set_commandline_arguments(i)
do_assume_that_all_commandline_arguments_are_programs_we_seek_to_extract
if block_given?
yielded = yield
case yielded
when :do_not_run_yet
run_already = false
when :be_silent,
:be_quiet
@internal_hash[:be_silent_or_verbose] = :be_silent
end
end
run if run_already
end
|
Instance Method Details
#be_silent_or_verbose? ⇒ Boolean
#
be_silent_or_verbose?
#
80
81
82
|
# File 'lib/rbt/actions/individual_actions/extract/extract.rb', line 80
def be_silent_or_verbose?
@internal_hash[:be_silent_or_verbose]
end
|
#
This method will delegate towards class Extracter.
#
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
|
# File 'lib/rbt/actions/individual_actions/extract/extract.rb', line 150
def (
what,
= :default
)
case what
when :default_programs
what =
end
flattened = [what].flatten.compact
flattened.each {|this_entry|
if this_entry.is_a?(String) and this_entry.start_with?(':')
this_entry = try_to_find_an_alternative_path_for_this_source_archive(this_entry.delete(':'))
elsif this_entry.is_a?(Symbol)
this_entry = try_to_find_an_alternative_path_for_this_source_archive(this_entry.to_s)
end
case
when :default
= (this_entry)
end
Extracter.(this_entry, to: ) { be_silent_or_verbose? }
}
end
|
#do_assume_that_all_commandline_arguments_are_programs_we_seek_to_extract ⇒ Object
#
do_assume_that_all_commandline_arguments_are_programs_we_seek_to_extract
#
98
99
100
101
102
103
|
# File 'lib/rbt/actions/individual_actions/extract/extract.rb', line 98
def do_assume_that_all_commandline_arguments_are_programs_we_seek_to_extract
_ = commandline_arguments?
if _ and !_.empty?
(_)
end
end
|
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
|
# File 'lib/rbt/actions/individual_actions/extract/extract.rb', line 192
def (
i =
)
i.flatten.each {|entry|
if entry.is_a?(String) and entry.start_with?(':')
raw_cookbook = action(:raw_cookbook, entry.to_s.delete(':'))
program_path = raw_cookbook.program_path?
if File.file?(program_path)
@extract_to = (entry).delete(':')
(program_path, @extract_to)
return (program_path, @extract_to)
else
entry = try_to_find_an_alternative_path_for_this_source_archive(entry)
end
end
entry = entry.first if entry.is_a?(Array)
if is_this_an_archive? entry
entry = absolute_path(entry) @extract_to = (entry)
(entry, @extract_to)
_result = (entry, @extract_to)
else
opne sfile(entry)+rev+' does not appear to be a registered archive type.'
end
}
end
|
108
109
110
|
# File 'lib/rbt/actions/individual_actions/extract/extract.rb', line 108
def
@internal_hash[:extract_these_programs]
end
|
131
132
133
134
135
136
|
# File 'lib/rbt/actions/individual_actions/extract/extract.rb', line 131
def (
entry,
)
opne "#{rev}Next extracting #{sfile(entry)}#{rev} "\
"to #{sdir()}#{rev}."
end
|
#path? ⇒ Boolean
141
142
143
|
# File 'lib/rbt/actions/individual_actions/extract/extract.rb', line 141
def path?
@extract_to
end
|
#reset ⇒ Object
64
65
66
67
68
69
70
71
72
73
74
75
|
# File 'lib/rbt/actions/individual_actions/extract/extract.rb', line 64
def reset
super()
@internal_hash[:extract_these_programs] = []
@internal_hash[:be_silent_or_verbose] = :be_verbose
end
|
#run ⇒ Object
228
229
230
|
# File 'lib/rbt/actions/individual_actions/extract/extract.rb', line 228
def run
end
|
87
88
89
90
91
92
93
|
# File 'lib/rbt/actions/individual_actions/extract/extract.rb', line 87
def (i)
unless @internal_hash[:extract_these_programs].include? i
@internal_hash[:extract_these_programs] << i
@internal_hash[:extract_these_programs].flatten!
@internal_hash[:extract_these_programs].compact
end
end
|
185
186
187
|
# File 'lib/rbt/actions/individual_actions/extract/extract.rb', line 185
def (i)
@extract_to = i
end
|
#try_to_find_an_alternative_path_for_this_source_archive(entry) ⇒ Object
#
try_to_find_an_alternative_path_for_this_source_archive
#
115
116
117
118
119
120
121
122
123
124
125
126
|
# File 'lib/rbt/actions/individual_actions/extract/extract.rb', line 115
def try_to_find_an_alternative_path_for_this_source_archive(entry)
entry = "#{src_dir?}#{entry.to_s.delete(':')}/"
possible_files = Dir["#{entry}*"]
entry = possible_files.first unless possible_files.empty?
return entry
end
|