Class: RBT::Cookbooks::Url
- Inherits:
-
Base
show all
- Defined in:
- lib/rbt/cookbooks/url/url.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
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_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) ⇒ Url
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
|
# File 'lib/rbt/cookbooks/url/url.rb', line 25
def initialize(
i = nil,
run_already = true
)
reset
set_find_these_programs(i)
if block_given?
yielded = yield
case yielded
when :be_quiet
set_be_quiet
when :show_the_homepage_as_well
@show_the_homepage = true
when :show_the_homepage_as_well_and_the_git_URL_should_it_exist
@show_the_homepage = true
@show_the_git_URL_as_well_should_it_exist = true
end
end
run if run_already
end
|
Instance Method Details
#array_urls? ⇒ Boolean
Also known as:
result
#
array_urls?
This method will return the URLs in Array format.
#
158
159
160
|
# File 'lib/rbt/cookbooks/url/url.rb', line 158
def array_urls?
[url1, url2]
end
|
#consider_reporting_url2 ⇒ Object
#
consider_reporting_url2
We will try to report the second URL, aka url2.
As of December 2017, if url2 does not exist BUT a homepage url exists, we will use that one instead.
#
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
|
# File 'lib/rbt/cookbooks/url/url.rb', line 202
def consider_reporting_url2
if url2? if !url2?.empty?
if be_verbose?
result = ''.dup
if @show_leading_url_entry
if use_colours?
result << skyblue('url2: ')
else
result << 'url2: '
end
end
if use_colours?
result << yellowgreen(url2?.to_s)
else
result << url2?.to_s
end
e result.strip
use_this_as_xorg_buffer(url2?)
end
end
end
end
|
#determine_dataset(search_for = search_for?
) ⇒ Object
#
determine_dataset
This method will also set the @dataset variable.
#
331
332
333
334
335
336
337
338
339
340
|
# File 'lib/rbt/cookbooks/url/url.rb', line 331
def determine_dataset(
search_for = search_for?
)
if RBT.does_include?(search_for) @dataset = action(:SanitizeCookbook, search_for) { :fast }
else orev "The search_term `#{sfancy(search_for)}#{rev}` is not included."
exit
end
end
|
#do_work_on_all_found_programs ⇒ Object
#
do_work_on_all_found_programs
#
317
318
319
320
321
322
323
324
|
# File 'lib/rbt/cookbooks/url/url.rb', line 317
def do_work_on_all_found_programs
@find_these_programs.each {|entry|
set_search_for(entry)
tell_the_user_what_we_seek
determine_dataset
feedback_urls
}
end
|
#feedback_urls ⇒ Object
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
|
# File 'lib/rbt/cookbooks/url/url.rb', line 259
def feedback_urls
if url1?.nil? or url1?.empty?
e "url.rb: We did not find `#{search_for?}`." if be_verbose?
else
use_this_as_xorg_buffer(url1?)
result = ''.dup
if @show_leading_url_entry
if be_verbose?
if use_colours?
result << skyblue('url1: ')
else
result << 'url1: '
end
else
result << 'url1: '
end
end
if use_colours?
result << yellowgreen(url1?.to_s)
else
result << url1?.to_s
end
e result if be_verbose?
if be_verbose?
consider_reporting_url2 end
if @show_the_homepage and
homepage and
!homepage.empty?
if use_colours?
e "#{skyblue('homepage: ')}"+
yellowgreen(homepage?.to_s)
else
e "#homepage: #{homepage?}"
end
end
if @show_the_git_URL_as_well_should_it_exist and
git_URL? and
!git_URL?.empty?
if use_colours?
e "#{skyblue('git: ')}"+
yellowgreen(git_URL?.to_s)
else
e "#git: #{git_URL?}"
end
end
end
e
end
|
#git_URL? ⇒ Boolean
Also known as:
git_url?
190
191
192
|
# File 'lib/rbt/cookbooks/url/url.rb', line 190
def git_URL?
@dataset.git_URL?
end
|
#homepage? ⇒ Boolean
Also known as:
homepage
183
184
185
|
# File 'lib/rbt/cookbooks/url/url.rb', line 183
def homepage?
@dataset.homepage?
end
|
#reset ⇒ Object
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
90
91
92
|
# File 'lib/rbt/cookbooks/url/url.rb', line 61
def reset
super()
infer_the_namespace
@show_the_homepage = false
@show_the_git_URL_as_well_should_it_exist = false
set_be_verbose @dataset = nil
@internal_hash[:search_for] = nil
@show_leading_url_entry = true
try_to_require_the_xorg_buffer
end
|
#run ⇒ Object
345
346
347
|
# File 'lib/rbt/cookbooks/url/url.rb', line 345
def run
do_work_on_all_found_programs
end
|
#search_for? ⇒ Boolean
Also known as:
find?
149
150
151
|
# File 'lib/rbt/cookbooks/url/url.rb', line 149
def search_for?
@internal_hash[:search_for]
end
|
#set_find_these_programs(i) ⇒ Object
Also known as:
search_for_url
#
set_find_these_programs
Use this method to designate which program we wish to find the URL for.
#
99
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
|
# File 'lib/rbt/cookbooks/url/url.rb', line 99
def set_find_these_programs(i)
i = [i].flatten.compact
i.map! {|entry|
entry = entry.to_s.strip
entry.delete!('-') if entry.include? '-' entry.delete!('/') if entry.include? '/'
entry.sub!(/\.yml$/,'') if entry.end_with? '.yml'
case entry when /^PWD$/i
entry = File.basename(return_pwd)
end unless File.exist? entry
entry.downcase! if RBT.is_an_alias?(entry)
entry = RBT.find_cookbook_alias_for(entry) end unless RBT.has_this_program?(entry) unless RBT.does_include? entry
if RBT.does_include? "lib#{entry}"
entry.prepend('lib')
elsif RBT.does_include? entry.sub(/^lib/,'')
entry.sub!(/^lib/,'')
end
end
if entry.empty? and
is_on_roebe? and
return_pwd.include?(source_directory?)
entry = File.basename(return_pwd)
end
entry
}
@find_these_programs = i
end
|
#set_search_for(i) ⇒ Object
243
244
245
|
# File 'lib/rbt/cookbooks/url/url.rb', line 243
def set_search_for(i)
@internal_hash[:search_for] = i
end
|
#tell_the_user_what_we_seek(be_verbose = be_verbose?
) ⇒ Object
#
tell_the_user_what_we_seek
This method notifies the user for which particular program this class will try to obtain the associated homepage.
#
232
233
234
235
236
237
238
|
# File 'lib/rbt/cookbooks/url/url.rb', line 232
def tell_the_user_what_we_seek(
be_verbose = be_verbose?
)
if be_verbose
orev "Seeking URLs to `#{sfancy(search_for?)}#{rev}` next."
end
end
|
#url1? ⇒ Boolean
Also known as:
return_main_url, url1
165
166
167
|
# File 'lib/rbt/cookbooks/url/url.rb', line 165
def url1?
@dataset.url1?
end
|
#url2? ⇒ Boolean
Also known as:
return_second_url, url, url?, url2
173
174
175
|
# File 'lib/rbt/cookbooks/url/url.rb', line 173
def url2?
@dataset.url2?
end
|
#use_this_as_xorg_buffer(i) ⇒ Object
#
use_this_as_xorg_buffer
This method has to account for “xsel” existing or not.
#
252
253
254
|
# File 'lib/rbt/cookbooks/url/url.rb', line 252
def use_this_as_xorg_buffer(i)
set_xorg_buffer(i)
end
|