class RBT::MissingHomepages

Public Class Methods

[](i = ARGV, &block) click to toggle source
#

RBT::MissingHomepages[]

#
# File lib/rbt/utility_scripts/missing_homepages.rb, line 141
def self.[](i = ARGV, &block)
  new(i, &block)
end
new( commandline_arguments = nil, run_already = true ) click to toggle source
#

initialize

#
# File lib/rbt/utility_scripts/missing_homepages.rb, line 29
def initialize(
    commandline_arguments = nil,
    run_already           = true
  )
  reset
  set_commandline_arguments(
    commandline_arguments
  )
  run if run_already
end

Public Instance Methods

do_process_the_available_programs() click to toggle source
#

do_process_the_available_programs

Since as of April 2021, this method allows the user to operate via two different modes.

#
# File lib/rbt/utility_scripts/missing_homepages.rb, line 72
def do_process_the_available_programs
  available_programs = available_programs?
  opne "Working over the available programs next. "\
       "#{seagreen('This may take a while.')}"
  available_programs.each {|this_program|
    case @obtain_how
    # ===================================================================== #
    # === :use_raw_cookbook
    # ===================================================================== #
    when :use_raw_cookbook
      remote_homepage = RBT.raw_cookbook(this_program) { :fast }.homepage?.to_s
    # ===================================================================== #
    # === :use_a_rbt_toplevel_method
    # ===================================================================== #
    when :use_a_rbt_toplevel_method
      remote_homepage = RBT.return_homepage_of?(this_program)
    end
    if remote_homepage.nil? or remote_homepage.empty?
      @array_these_programs_lack_a_homepage_entry << this_program
      # =================================================================== #
      # We have to report at once because it takes too long otherwise.
      # =================================================================== #
      notify_the_user_that_this_program_has_no_homepage_entry(this_program)
    end
  }
  do_process_the_available_programs
end
notify_the_user_that_this_program_has_no_homepage_entry( this_program ) click to toggle source
#

notify_the_user_that_this_program_has_no_homepage_entry

#
# File lib/rbt/utility_scripts/missing_homepages.rb, line 59
def notify_the_user_that_this_program_has_no_homepage_entry(
    this_program
  )
  opne "#{rev}Missing homepage entry "\
       "for `#{steelblue(this_program)}`#{rev}."
end
report( i = @array_these_programs_lack_a_homepage_entry ) click to toggle source
#

report (report tag)

#
# File lib/rbt/utility_scripts/missing_homepages.rb, line 117
def report(
    i = @array_these_programs_lack_a_homepage_entry
  )
  if i.empty?
    opne 'Every registered program has a '\
         'homepage entry. This is good!'
  else
    i.each {|this_program|
      notify_the_user_that_this_program_has_no_homepage_entry
    }
  end
end
report_how_many_programs_lack_a_homepage_entry() click to toggle source
#

report_how_many_programs_lack_a_homepage_entry

#
# File lib/rbt/utility_scripts/missing_homepages.rb, line 103
def report_how_many_programs_lack_a_homepage_entry
  _ = @array_these_programs_lack_a_homepage_entry
  if _.size > 1
    opne 'A total of '+steelblue(_.size.to_s)+
         ' programs lack a proper homepage entry right now.'
  else
    opne "All registered programs have a proper homepage entry."\
         "#{return_coloured_cheering_person}"
  end
end
reset() click to toggle source
#

reset (reset tag)

#
Calls superclass method RBT::Base#reset
# File lib/rbt/utility_scripts/missing_homepages.rb, line 43
def reset
  super()
  infer_the_namespace
  # ======================================================================= #
  # === @array_these_programs_lack_a_homepage_entry
  # ======================================================================= #
  @array_these_programs_lack_a_homepage_entry = []
  # ======================================================================= #
  # === @obtain_how
  # ======================================================================= #
  @obtain_how = :use_raw_cookbook
end
run() click to toggle source
#

run (run tag)

#
# File lib/rbt/utility_scripts/missing_homepages.rb, line 133
def run
  do_process_the_available_programs
  report_how_many_programs_lack_a_homepage_entry
end