Class: RBT::Cookbooks::GobolinuxRecipesComparer
- Inherits:
-
Base
show all
- Defined in:
- lib/rbt/linux/gobolinux/gobolinux_recipes_comparer.rb
Overview
RBT::Cookbooks::GobolinuxRecipesComparer.new
Constant Summary
collapse
- REMOTE_RECIPES_HOMEPAGE =
#
REMOTE_RECIPES_HOMEPAGE
#
'http://recipes.gobolinux.org/r/'
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::GobolinuxRecipesComparer[] ========================================================================= #.
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
43
44
45
46
47
48
49
50
51
|
# File 'lib/rbt/linux/gobolinux/gobolinux_recipes_comparer.rb', line 43
def initialize(
i = nil,
run_already = true
)
register_sigint
reset
set_input(i)
run if run_already
end
|
Class Method Details
.[](i = ARGV) ⇒ Object
#
RBT::Cookbooks::GobolinuxRecipesComparer[]
#
145
146
147
|
# File 'lib/rbt/linux/gobolinux/gobolinux_recipes_comparer.rb', line 145
def self.[](i = ARGV)
new(i)
end
|
Instance Method Details
73
74
75
|
# File 'lib/rbt/linux/gobolinux/gobolinux_recipes_comparer.rb', line 73
def input?
@input
end
|
#iterate_over_the_results ⇒ Object
#
iterate_over_the_results
#
95
96
97
98
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
|
# File 'lib/rbt/linux/gobolinux/gobolinux_recipes_comparer.rb', line 95
def iterate_over_the_results
@scanned_results.each_with_index {|line, index| index += 1
if line.include? '&ver='
splitted = line.split('&ver=')
program_name = splitted.first.downcase
program_version = splitted.last
if program_version.include?('-r') and
program_version =~ /\d+$/ end_position = (program_version.index('-r')-1)
program_version = program_version[0 .. end_position]
end
e
e orange(index)
e
if does_include?(program_name, :do_not_use_aliases)
opne 'The program '+sfancy(program_name)+' is included.'
opne 'The remote program version is '+simp(program_version)+'.'
local_program_version = RBT.swift_return_version_of_this_program(program_name)
opne 'The local program version is '+simp(local_program_version)+'.'
a = gem_version(local_program_version)
b = gem_version(program_version)
if a and b
if a < b
opne 'The remote version appears to be more up to date than'
opne 'the local version. This means that you could update.'
end
else
e 'Something went wrong with local version ('+sfancy(local_program_version)+
') and program version ('+sfancy(program_version)+').'
end
else
opne 'The program '+sfancy(program_name)+' is NOT included.'
end
e
end
}
end
|
#read_in_dataset_from_the_remote_webpage ⇒ Object
#
read_in_dataset_from_the_remote_webpage
#
88
89
90
|
# File 'lib/rbt/linux/gobolinux/gobolinux_recipes_comparer.rb', line 88
def read_in_dataset_from_the_remote_webpage
@dataset = open(REMOTE_RECIPES_HOMEPAGE).read
end
|
#reset ⇒ Object
56
57
58
59
|
# File 'lib/rbt/linux/gobolinux/gobolinux_recipes_comparer.rb', line 56
def reset
super()
infer_the_namespace
end
|
#run ⇒ Object
136
137
138
139
140
|
# File 'lib/rbt/linux/gobolinux/gobolinux_recipes_comparer.rb', line 136
def run
read_in_dataset_from_the_remote_webpage
scan_for_remote_versions
iterate_over_the_results
end
|
#scan_for_remote_versions ⇒ Object
#
scan_for_remote_versions
#
80
81
82
83
|
# File 'lib/rbt/linux/gobolinux/gobolinux_recipes_comparer.rb', line 80
def scan_for_remote_versions
use_this_regex = /<tr><td>\s*<a class='RecipeTitle' href='\?list=(.+?)'>/ @scanned_results = @dataset.scan(use_this_regex).flatten
end
|
64
65
66
67
68
|
# File 'lib/rbt/linux/gobolinux/gobolinux_recipes_comparer.rb', line 64
def set_input(i = '')
i = i.first if i.is_a? Array
i = i.to_s.dup
@input = i
end
|