class RBT::Cookbooks::UpdateLxqt
Public Class Methods
[](i = '')
click to toggle source
Public Instance Methods
decide_what_to_do_next()
click to toggle source
#¶ ↑
decide_what_to_do_next
¶ ↑
The first variant can be invoked via:
update_lxqt --size
#¶ ↑
# File lib/rbt/check_for_updates/update_lxqt.rb, line 63 def decide_what_to_do_next if commandline_size_query_was_issued? opne "There are #{sfancy(@scanned_results.size)} remote "\ "LXQT components." else # else, enter the default "modus operandi". iterate_through_the_results_and_update_old_cookbooks_entries end end
iterate_through_the_results_and_update_old_cookbooks_entries()
click to toggle source
#¶ ↑
iterate_through_the_results_and_update_old_cookbooks_entries
¶ ↑
#¶ ↑
# File lib/rbt/check_for_updates/update_lxqt.rb, line 75 def iterate_through_the_results_and_update_old_cookbooks_entries require 'rbt/requires/require_the_cookbook_class.rb' @scanned_results.each {|this_program| # ← That variable is the full URL to the program. name_of_the_program, program_version = ::ProgramInformation.return_array_program_name_and_program_version(this_program) # ===================================================================== # # Next, we must compare it to the local dataset. # ===================================================================== # local_dataset = new_cookbook_instance_for(name_of_the_program) local_program_version = local_dataset.program_version? if local_program_version < program_version # =================================================================== # # In this case, we have to update. # =================================================================== # @downloaded_n_programs += 1 opne "There is a more recent program version "\ "available for `#{sfancy(name_of_the_program)}`." full_remote_url = "#{this_program}".dup opne "That remote URL should be at: "\ "#{sfancy(full_remote_url)}" colourized_result = slateblue( "class RBT::UpdateEntry.new(#{full_remote_url})" ) opne "Now delegating towards #{colourized_result}." update_entry(full_remote_url) # =================================================================== # # Keep track of which programs were updated: # =================================================================== # add_these_programs_were_updated( remove_archive_from_the_end( File.basename(full_remote_url) ) ) end } if @downloaded_n_programs == 0 notify_the_user_that_no_downloads_have_occurred else report_that_these_programs_were_updated( array_these_programs_were_updated? ) end end
main_url?()
click to toggle source
reset()
click to toggle source
run()
click to toggle source
scan_for_all_results()
click to toggle source
#¶ ↑
scan_for_all_results
¶ ↑
#¶ ↑
# File lib/rbt/check_for_updates/update_lxqt.rb, line 121 def scan_for_all_results # ======================================================================= # # See this entry for the following regex: # https://rubular.com/r/6SYxcOqmJxK9gC # ======================================================================= # use_this_regex = /<a href="downloads\/([a-z-]+)\/([0-9.]+)">(.+)<\/a><br>/ scanned_results = @dataset.scan(use_this_regex) # ======================================================================= # # Must modify it a bit still, to get the real URL. # ======================================================================= # scanned_results.map! {|inner_array| # ← May look like ["libqtxdg", "3.3.1", "libqtxdg 3.3.1"] first = inner_array[0] # like: 'libqtxdg' second = inner_array[1] # like: '0.14.1' third = inner_array[2] # like: 'libqtxdg 3.3.1' # ===================================================================== # # Assemble the full URL here, rather than at a later point. # ===================================================================== # "#{REMOTE_DOWNLOAD_BASE_URL_FOR_LXQT}"\ "downloads/"\ "#{first}/"\ "#{second}/"\ "#{third.tr(' ','-')}.tar.xz" } @scanned_results = scanned_results end