Class: Roebe::Update
- Inherits:
-
Base
show all
- Defined in:
- lib/roebe/classes/update.rb
Overview
Constant Summary
collapse
- ARCHIVE_DIRECTORY =
Roebe.temp_directory?+'MyGems/'
Constants inherited
from Base
Base::COLOURS, Base::HOME_DIRECTORY_OF_USER_X, Base::N, Base::NAMESPACE
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, #run_in_background, #run_rcfiles_then_run_ata_via_qdbus, #sandybrown, #sdir, #seagreen, #set_be_verbose, #set_xorg_buffer, #sfancy, #sfile, #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(optional_commandline = ARGV) ⇒ Update
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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
|
# File 'lib/roebe/classes/update.rb', line 25
def initialize(
optional_commandline = ARGV
)
reset
parse_commandline(optional_commandline)
create_the_archive_directory
base_dir = determine_the_base_directory
if is_on_windows?
base_dir = File.absolute_path(Roebe.project_base_directory?+'..')+'/'
end
array = install_which_projects? array.each_with_index {|entry, index|
name = entry
location = base_dir+entry
location << '/' unless location.end_with? '/'
index = (index+1).to_s
name = entry if name.empty?
e
e "#{rev}#{index}) #{sfancy(name)}#{rev}"\
": → Directory is: #{sfancy(location)}"
e
cd(location) case @install_how when :gem
install_in_ruby_gem_manner
when :both
install_in_ruby_setup_manner
if also_install_the_gem?
install_in_ruby_gem_manner(ARCHIVE_DIRECTORY)
end
when :setup, :default
install_in_ruby_setup_manner
end
}
PostInstall.run if @shall_we_expand_the_cookbook_dataset
@end_time = ::Time.now
show_the_time_it_took
end
|
Instance Method Details
#also_install_the_gem? ⇒ Boolean
#
also_install_the_gem?
#
147
148
149
|
# File 'lib/roebe/classes/update.rb', line 147
def also_install_the_gem?
@also_install_the_gem
end
|
#create_the_archive_directory(i = ARCHIVE_DIRECTORY) ⇒ Object
#
create_the_archive_directory
This is usually /home/x/Temp/MyGems/.
#
163
164
165
166
167
168
169
170
171
172
173
|
# File 'lib/roebe/classes/update.rb', line 163
def create_the_archive_directory(
i = ARCHIVE_DIRECTORY
)
if File.directory?(i)
remove_directory(i)
end
mkdir(i)
end
|
#determine_the_base_directory ⇒ Object
#
determine_the_base_directory
The following method will determine (and return) the assumed base directory where all ruby files are kept. This normally # uses an environment variable ($RSRC), but in a chrooted # environment that is fresh, such an environment variable may not exist. Thus, in September 2022, the old code that was simply returning the value of that environment variable was modified; it will now return a hardcoded path if the environment variable could not be found.
#
102
103
104
105
106
107
108
|
# File 'lib/roebe/classes/update.rb', line 102
def determine_the_base_directory
_ = "#{ENV['RSRC']}/".to_s.strip
if _.empty?
_ = '/home/x/programming/ruby/src/'
end
return _
end
|
#do_also_install_as_a_gem(optional_further_instructions = nil) ⇒ Object
#
do_also_install_as_a_gem
#
264
265
266
267
268
269
270
271
272
273
|
# File 'lib/roebe/classes/update.rb', line 264
def do_also_install_as_a_gem(
optional_further_instructions = nil
)
case optional_further_instructions
when :user_install
@extra_commands = ' --user-install '
::Roebe.append_to_gem_install_command(@extra_commands)
end
@install_how = :gem
end
|
#install_in_ruby_gem_manner ⇒ Object
#
install_in_ruby_gem_manner
#
#install_in_ruby_setup_manner(i = @use_this_binary) ⇒ Object
#
install_in_ruby_setup_manner
This is the equivalent of copying setup.rb, then invoking it via config/setup/install.
#
#install_which_projects? ⇒ Boolean
#
install_which_projects?
Tell us which projects we will install.
#
#parse_commandline(i) ⇒ Object
Also known as:
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
257
258
259
|
# File 'lib/roebe/classes/update.rb', line 229
def parse_commandline(i)
if i.is_a? Array
i.each {|entry| parse_commandline(entry) }
else
case i when /-?-?jruby$/
@use_this_binary = 'jruby'
when /-?-?user(-|_)?install/
do_also_install_as_a_gem(:user_install)
when /-?-?gem/
do_also_install_as_a_gem
when /help/
show_help
exit
end
end
end
|
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
|
# File 'lib/roebe/classes/update.rb', line 113
def reset
super()
infer_the_namespace
@also_install_the_gem = false @install_how = :setup
@extra_commands = ''
@start_time = ::Time.now
@shall_we_expand_the_cookbook_dataset = false
@use_this_binary = 'ruby'
end
|
#show_help ⇒ Object
#
show_help (help tag)
To invoke this method, do:
iruby --help
#
204
205
206
207
208
209
210
211
212
213
214
215
216
217
|
# File 'lib/roebe/classes/update.rb', line 204
def show_help
_ = install_which_projects?
e 'This class will install these '+sfancy(_.size)+' projects by default:'
_.each {|entry|
e ' '+simp(entry)
}
e
e 'More commandline options are:'
e
e ' --gem # also install the .gem'
e ' --user-install # install these as gems and also via '\
'the --user-install option'
e
end
|
#show_the_time_it_took ⇒ Object
#
show_the_time_it_took
#
278
279
280
281
282
283
284
|
# File 'lib/roebe/classes/update.rb', line 278
def show_the_time_it_took
@took_this_time = @end_time - @start_time
if be_verbose?
opne "#{rev}This took #{steelblue(@took_this_time.round(2).to_s)} "\
"#{rev}seconds."
end
end
|
#took_this_time? ⇒ Boolean
154
155
156
|
# File 'lib/roebe/classes/update.rb', line 154
def took_this_time?
@took_this_time
end
|