Class: RBT::Cookbooks::Homepage
- Inherits:
-
Base
show all
- Defined in:
- lib/rbt/cookbooks/homepage/homepage.rb
Overview
Constant Summary
collapse
- MODIFY_THE_XORG_BUFFER_IF_A_HOMEPAGE_ENTRY_EXISTS =
#
MODIFY_THE_XORG_BUFFER_IF_A_HOMEPAGE_ENTRY_EXISTS
If the following constant is set to true then we will also try to modify the xorg buffer.
#
true
LeanPrototype::ALL_COLOUR_METHODS, LeanPrototype::ARRAY_KDE_KONSOLE_COLOURS_IN_USE, LeanPrototype::DAY_NAMES, LeanPrototype::NAMESPACE, LeanPrototype::SILENT_REDIRECTION
Class Method Summary
collapse
-
.[](i = ARGV) ⇒ Object
# === RBT::Cookbooks::Homepage[] ========================================================================= #.
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, #otomato, #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_name, #return_program_name_for_gobolinux_systems, #return_program_name_via_program_information, #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, #rpn, #run_simulation=, #run_simulation?, #sdir, #sdir_return_pwd, #set_be_silent, #set_be_verbose, #set_first_commandline_argument, #set_namespace, #set_use_colours, #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(this_program = ARGV.first, optional_use_this_dataset = nil, run_already = true) ⇒ Homepage
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
|
# File 'lib/rbt/cookbooks/homepage/homepage.rb', line 41
def initialize(
this_program = ARGV.first,
optional_use_this_dataset = nil,
run_already = true
)
reset
set_this_program(
this_program
)
determine_the_dataset_to_use(
optional_use_this_dataset
)
if block_given?
yielded = yield
case yielded
when :be_quiet
be_quiet
end
end
run if run_already
end
|
Class Method Details
.[](i = ARGV) ⇒ Object
#
RBT::Cookbooks::Homepage[]
#
289
290
291
|
# File 'lib/rbt/cookbooks/homepage/homepage.rb', line 289
def self.[](i = ARGV)
new(i)
end
|
Instance Method Details
#consider_opening_the_url_to_the_homepage_in_the_browser ⇒ Object
#
consider_opening_the_url_to_the_homepage_in_the_browser
#
259
260
261
262
263
|
# File 'lib/rbt/cookbooks/homepage/homepage.rb', line 259
def consider_opening_the_url_to_the_homepage_in_the_browser
if is_on_roebe? and be_verbose?
open_in_browser(return_homepage)
end
end
|
#dataset? ⇒ Boolean
195
196
197
|
# File 'lib/rbt/cookbooks/homepage/homepage.rb', line 195
def dataset?
@dataset
end
|
#determine_the_dataset_to_use(i = nil) ⇒ Object
268
269
270
271
272
273
274
275
276
|
# File 'lib/rbt/cookbooks/homepage/homepage.rb', line 268
def determine_the_dataset_to_use(i = nil)
if i.nil?
@dataset = action(:SanitizeCookbook, which_program?) {
:fast_and_be_verbose
}
else
@dataset = i
end
end
|
#make_sure_that_the_cookbook_class_is_available ⇒ Object
#
make_sure_that_the_cookbook_class_is_available
#
92
93
94
|
# File 'lib/rbt/cookbooks/homepage/homepage.rb', line 92
def make_sure_that_the_cookbook_class_is_available
require 'rbt/requires/require_the_cookbook_class.rb'
end
|
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
|
# File 'lib/rbt/cookbooks/homepage/homepage.rb', line 116
def (i)
if i.is_a? Array
i.each {|entry| (entry) }
else
case i when /^-?-?help$/
show_help
exit
when /^-?-?missing(-|_)?url\??$/,
/^-?-?missing$/
show_all_programs_that_miss_a_homepage_entry
exit
end
end
end
|
#modify_the_xorg_buffer_if_a_homepage_entry_exists? ⇒ Boolean
Also known as:
modify_the_xorg_buffer?
#
modify_the_xorg_buffer_if_a_homepage_entry_exists
#
85
86
87
|
# File 'lib/rbt/cookbooks/homepage/homepage.rb', line 85
def modify_the_xorg_buffer_if_a_homepage_entry_exists?
@modify_the_xorg_buffer_if_a_homepage_entry_exists
end
|
#return_homepage ⇒ Object
Also known as:
homepage?, result?
202
203
204
|
# File 'lib/rbt/cookbooks/homepage/homepage.rb', line 202
def return_homepage
dataset?.homepage?
end
|
#run ⇒ Object
281
282
283
284
|
# File 'lib/rbt/cookbooks/homepage/homepage.rb', line 281
def run
report_the_homepage
consider_opening_the_url_to_the_homepage_in_the_browser
end
|
#set_this_program(i = '') ⇒ Object
99
100
101
102
103
104
|
# File 'lib/rbt/cookbooks/homepage/homepage.rb', line 99
def set_this_program(i = '')
i = i.first if i.is_a? Array
i = i.to_s.dup
(i)
@this_program = i
end
|
#show_all_programs_that_miss_a_homepage_entry(available_programs = available_programs?
) ⇒ Object
#
show_all_programs_that_miss_a_homepage_entry
This method will show all programs that miss a homepage entry.
Invocation example:
homepage --missing-url?
#
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
|
# File 'lib/rbt/cookbooks/homepage/homepage.rb', line 148
def show_all_programs_that_miss_a_homepage_entry(
available_programs = available_programs?
)
make_sure_that_the_cookbook_class_is_available
cliner
opne "Now working through #{steelblue(available_programs.size)} "\
"different programs."
opne "This may take a while, so please be patient."
cliner
available_programs.each {|this_program|
dataset = action(:SanitizeCookbook, this_program) { :be_fast }
homepage_entry = dataset.homepage?.to_s
if homepage_entry.empty?
_ = ("`#{this_program}`").ljust(15)
opne "#{rev}The program #{sfancy(_)} #{rev}has no "\
"#{sfancy('homepage: ')} #{rev}entry."
end
}
end
|
#show_help ⇒ Object
#
show_help (help tag)
Invoke this entry point via:
homepage --help
#
176
177
178
179
180
181
182
183
|
# File 'lib/rbt/cookbooks/homepage/homepage.rb', line 176
def show_help
opne 'Currently these options are available for `'+
sfancy("class #{namespace?}")+'`:'
e
e " --missing-url? # show which cookbook entries lack "\
"a proper #{sfancy('homepage: entry')}"
e
end
|
#show_homepage_of_this_program(this_program = which_program?
) ⇒ Object
Also known as:
report_the_homepage
#
show_homepage_of_this_program
#
210
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
|
# File 'lib/rbt/cookbooks/homepage/homepage.rb', line 210
def show_homepage_of_this_program(
this_program = which_program?
)
if this_program.include? '.yml'
this_program.delete_suffix!('.yml')
end
_ = return_homepage
if _
this_program = File.basename(this_program).sub(/\.yml$/,'')
if _.empty?
if be_verbose?
opne "#{rev}No homepage has been registered for the program "\
"`#{sfancy(this_program)}#{rev}`."
end
else
if be_verbose?
opne "#{rev}The homepage of the program `#{sfancy(this_program)}"\
"#{rev}` is at:"
e
e " #{orange(_)}"
e
if modify_the_xorg_buffer?
set_xorg_buffer(_)
end
end
end
else
if be_verbose?
opne "No homepage entry is registered in `"+
"#{sfancy(this_program)}#{rev}` "\
"(The .yml file should be at "
opne simp(" #{individual_cookbooks_dir?}#{this_program}.yml")+
')'
end
end
end
|
#this_program? ⇒ Boolean
188
189
190
|
# File 'lib/rbt/cookbooks/homepage/homepage.rb', line 188
def this_program?
@this_program
end
|
#which_program? ⇒ Boolean
109
110
111
|
# File 'lib/rbt/cookbooks/homepage/homepage.rb', line 109
def which_program?
@this_program
end
|