Class: Roebe::ExtractGemFile
- Inherits:
-
Base
show all
- Defined in:
- lib/roebe/classes/extract_gem_file.rb
Overview
Constant Summary
collapse
- FILE_DATA_TR_GZ =
'data.tar.gz'
- ARRAY_THESE_FILES_BELONG_TO_A_GEM_ARCHIVE =
#
ARRAY_THESE_FILES_BELONG_TO_A_GEM_ARCHIVE
#
%w(
metadata.gz
data.tar.gz
checksums.yaml.gz
)
- SILENCE =
' 2>&1'
Constants inherited
from Base
Base::COLOURS, Base::HOME_DIRECTORY_OF_USER_X, Base::N, Base::NAMESPACE
Class Method Summary
collapse
Instance Method Summary
collapse
Methods inherited from Base
#actions, #append_this_onto_that_file, #append_what_into, #be_silent, #be_verbose?, #beautiful_url, #burlywood, #call_next, #chdir, #cheerful_guy, #cliner, #complex_esystem, #convert_global_env, #copy_directory, #copy_file, #cornflowerblue, #create_directory, #crimson, #current_month?, #current_time?, #current_year?, #cyan, #darkcyan, #darkgreen, #darkkhaki, #darkslateblue, #deeppink, #delete_symlink, #do_not_use_the_base_colours, #do_use_the_base_colours, #e, #ecomment, #editor_to_use?, #efancy, #eimp, #emphasis, #ensure_main_encoding, #ensure_utf_encoding, #eparse, #erev, #esteelblue, #etomato, #ewarn, #exit_program, #firebrick, #get_current_day, #get_current_month, #get_files_and_directories, #get_files_from, #get_german_name_for_this_weekday, #gold, #green, #grey, #hh_mm_ss, #hh_mm_ss_day_month_year, #home_dir?, #home_directory_of_user_x?, #infer_the_namespace, #internal_hash?, #is_a_directory?, #is_a_file?, #is_a_jpg_file?, #is_an_image_file?, #is_archive?, #is_audio_file?, #is_in_studium_dir?, #is_multimedia_file?, #is_on_roebe?, #is_on_windows?, #is_studium_available?, #is_symlink?, #is_this_a_ruby_file?, #is_video_file?, #iso_encoding?, #le, #left_colour, #lightblue, #lightgreen, #lightseagreen, #lightsteelblue, #lime, #limegreen, #localhost_to_data, #log_directory?, #main_encoding?, #mediumorchid, #mediumpurple, #mediumseagreen, #mediumslateblue, #mediumspringgreen, #mediumturquoise, #mkdir_p, #mv, #n_days_in_this_month, #n_pages_in_this_pdf_file?, #namespace?, #no_file_exists_at, #ogrey, #olive, #olivedrab, #open_in_browser, #opne, #opnesystem, #opnn, #orange, #orchid, #orev, #palegoldenrod, #palevioletred, #pink, #powderblue, #programs_dir?, #project_base_dir?, #random_html_colour, #rds, #read_file_in_iso_encoding, #read_file_via_the_default_encoding, #read_lines_via_iso_encoding, #readlines_with_main_encoding, #red, #register_sigint, #remove, #remove_directory, #remove_file, #rename_kde_konsole_tab, #replace_localhost_with_data, #report_pwd, #require_rescue, #reset_the_internal_hash, #return_all_directories_from_this_directory, #return_all_files_from_this_directory, #return_current_directory, #return_dd_mm_yyyy, #return_file_or_directory_of, #return_files_from_pwd, #return_last_part_of_the_current_directory, #return_utc, #rev, #right_arrow?, #right_colour, #roebe_log_directory?, #rosybrown, #royalblue, #ruby_base_directory?, #run_in_background, #run_rcfiles_then_run_ata_via_qdbus, #sandybrown, #sdir, #seagreen, #set_be_verbose, #set_xorg_buffer, #sfancy, #sfile, #show_help, #silent_redirection?, #simp, #simple_esystem, #skyblue, #slateblue, #slategray, #springgreen, #steelblue, #string_italic, #swarn, #symlink, #teal, #temp_dir?, #to_camelcase, #to_counted_hash, #tomato, #touch, #try_to_require_the_beautiful_url_gem, #try_to_require_the_html_template, #try_to_require_the_open_gem, #try_to_require_the_program_information_gem, #try_to_require_the_xorg_buffer, #use_colours?, #verbose_truth, #weekday?, #word_wrap, #write_what_into, #yellow
#append_onto_the_commandline_arguments, #clear_commandline_arguments, #commandline_arguments?, #commandline_arguments_as_string?, #commandline_arguments_without_leading_hyphens?, #first_argument?, #first_argument_without_leading_hyphens?, #has_an_argument_been_passed?, #remove_hyphened_arguments_from_the_commandline_arguments, #return_commandline_arguments_with_leading_hyphens, #second_argument?, #set_commandline_arguments
Constructor Details
#initialize(i = nil, run_already = true) ⇒ ExtractGemFile
47
48
49
50
51
52
53
54
|
# File 'lib/roebe/classes/extract_gem_file.rb', line 47
def initialize(
i = nil,
run_already = true
)
reset
set_input(i)
run if run_already
end
|
Class Method Details
.[](i = '') ⇒ Object
163
164
165
|
# File 'lib/roebe/classes/extract_gem_file.rb', line 163
def self.[](i = '')
new(i)
end
|
Instance Method Details
76
77
78
|
# File 'lib/roebe/classes/extract_gem_file.rb', line 76
def input?
@input
end
|
#main_array_files? ⇒ Boolean
#name_of_the_gem_itself? ⇒ Boolean
#
name_of_the_gem_itself?
This method will simply retun the name, without the trailing .gem variant, and also without any ‘/’ as part of the gem-name itself.
#
93
94
95
|
# File 'lib/roebe/classes/extract_gem_file.rb', line 93
def name_of_the_gem_itself?
File.basename(input?).sub(/\.gem$/,'')
end
|
59
60
61
62
|
# File 'lib/roebe/classes/extract_gem_file.rb', line 59
def reset
super()
infer_the_namespace
end
|
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
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
|
# File 'lib/roebe/classes/extract_gem_file.rb', line 100
def run
_ = input?
if File.exist? _
opne "Now extracting the .gem file `#{sfancy(_)}`."
sys_command_to_use = "tar -xvf #{_} --directory=#{return_pwd}"
e sys_command_to_use
`#{sys_command_to_use}`
this_dir = name_of_the_gem_itself?.dup+'/' opne "Next creating the directory `#{sdir(this_dir)}`."
mkdir this_dir
opne 'Next moving three files into that directory.'
ARRAY_THESE_FILES_BELONG_TO_A_GEM_ARCHIVE.each {|this_file|
target = this_dir+File.basename(this_file)
if File.exist? this_file
opne "Moving into target `#{sfancy(target)}`."
mv(this_file, target)
end
}
cd this_dir
if File.exist? FILE_DATA_TR_GZ
opne 'A file called '+sfile(FILE_DATA_TR_GZ)+
' exists (in '+sdir(return_pwd)+').'
opne 'We will next extract that file.'
sys_command_to_use = 'tar -xvzf '+FILE_DATA_TR_GZ+SILENCE
e sys_command_to_use
success_or_file = `#{sys_command_to_use}`
if success_or_file
main_array_files?.each {|this_file|
delete(this_file) if File.exist? this_file
}
end
opne "Ok - all seems ok. Have a look at the extracted "\
"directory `#{sdir(this_dir)}`."
end
else
opne "No file called #{sfile(_)} exists."
end
end
|
67
68
69
70
71
|
# File 'lib/roebe/classes/extract_gem_file.rb', line 67
def set_input(i = '')
i = i.first if i.is_a? Array
i = i.to_s.dup
@input = i
end
|