class RBT::Cookbooks::UpdateKdePlasma
Constants
- NAMESPACE
#¶ ↑
NAMESPACE
¶ ↑#¶ ↑
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:
KDE_Plasma --size
#¶ ↑
# File lib/rbt/check_for_updates/update_kde_plasma.rb, line 86 def decide_what_to_do_next if commandline_size_query_was_issued? opnn; e "There are #{sfancy(@scanned_results.size)} remote "\ "KDE Plasma programs." 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_kde_plasma.rb, line 98 def iterate_through_the_results_and_update_old_cookbooks_entries require 'rbt/cookbooks/class/class.rb' @scanned_results.each {|this_program| # <- That variable is e. g. 'plasma-vault-5.11.0' 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 opnn; e "There is a more recent program version "\ "available for `#{sfancy(name_of_the_program)}`." full_remote_url = remote_download_url?.dup full_remote_url << '/' unless full_remote_url.end_with? '/' full_remote_url << "#{program_version}/#{this_program}.tar.xz" opnn; e "That remote URL should be at: "\ "#{sfancy(full_remote_url)}" colourized_result = slateblue( "class RBT::UpdateEntry.new(#{full_remote_url})" ) opnn; e "Now delegating towards #{colourized_result}." RBT::UpdateEntry.new(full_remote_url) { :do_not_ftp_upload } # =================================================================== # # Keep track of which programs were updated: # =================================================================== # @array_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
remote_download_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_kde_plasma.rb, line 70 def scan_for_all_results # ======================================================================= # # See this entry for the following regex: # http://rubular.com/r/KsMYvnkFWk # ======================================================================= # use_this_regex = /<td><a href="(http:\/\/download.kde.org\/stable\/plasma\/\d{0,1}.\d{0,2}.\d{0,2}\/)?(.+)\.tar\.xz">\D.+<\/a>/ @scanned_results = @dataset.scan(use_this_regex).flatten.compact end