class RBT::Cookbooks::Homepage

Constants

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.

#
NAMESPACE
#

NAMESPACE

#

Public Class Methods

[](i = '') click to toggle source
#

[]

#
# File lib/rbt/utility_scripts/homepage.rb, line 242
def self.[](i = '')
  self.new(i)
end
new( this_program = ARGV.first, optional_use_this_dataset = nil, run_already = true ) click to toggle source
#

initialize

#
# File lib/rbt/utility_scripts/homepage.rb, line 43
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)
  run if run_already
end

Public Instance Methods

consider_opening_the_url_to_the_homepage_in_the_browser() click to toggle source
#

consider_opening_the_url_to_the_homepage_in_the_browser

#
# File lib/rbt/utility_scripts/homepage.rb, line 225
def consider_opening_the_url_to_the_homepage_in_the_browser
  if is_on_roebe?
    open_in_browser(return_homepage)
  end
end
dataset?() click to toggle source
#

dataset?

#
# File lib/rbt/utility_scripts/homepage.rb, line 170
def dataset?
  @dataset
end
determine_the_dataset_to_use(i = nil) click to toggle source
#

determine

#
# File lib/rbt/utility_scripts/homepage.rb, line 74
def determine_the_dataset_to_use(i = nil)
  if i.nil?
    unless RBT::Cookbooks.const_defined? :Cookbook
      require 'rbt/cookbooks/class/class.rb'
    end
    @dataset = RBT::Cookbooks::Cookbook.new(which_program?) { :bypass_menu }
  else
    @dataset = i
  end
end
menu(i) click to toggle source
#

menu

#
modify_the_xorg_buffer?()
modify_the_xorg_buffer_if_a_homepage_entry_exists?() click to toggle source
#

modify_the_xorg_buffer_if_a_homepage_entry_exists

#
# File lib/rbt/utility_scripts/homepage.rb, line 67
def modify_the_xorg_buffer_if_a_homepage_entry_exists?
  @modify_the_xorg_buffer_if_a_homepage_entry_exists
end
Also aliased as: modify_the_xorg_buffer?
report_the_homepage( this_program = which_program? )
reset() click to toggle source
#

reset (reset tag)

#
Calls superclass method RBT::Base#reset
# File lib/rbt/utility_scripts/homepage.rb, line 57
def reset
  super()
  @namespace = NAMESPACE
  @modify_the_xorg_buffer_if_a_homepage_entry_exists =
    MODIFY_THE_XORG_BUFFER_IF_A_HOMEPAGE_ENTRY_EXISTS
end
return_homepage() click to toggle source
#

return_homepage

#
# File lib/rbt/utility_scripts/homepage.rb, line 177
def return_homepage
  dataset?.homepage?
end
run() click to toggle source
#

run (run tag)

#
# File lib/rbt/utility_scripts/homepage.rb, line 234
def run
  report_the_homepage
  consider_opening_the_url_to_the_homepage_in_the_browser
end
set_this_program(i = '') click to toggle source
#

set_this_program

#
# File lib/rbt/utility_scripts/homepage.rb, line 88
def set_this_program(i = '')
  i = i.first if i.is_a? Array
  i = i.to_s.dup
  menu(i)
  @this_program = i
end
show_all_programs_that_miss_a_homepage_entry() click to toggle source
#

show_all_programs_that_miss_a_homepage_entry

This method will show all programs that miss a homepage entry.

#
# File lib/rbt/utility_scripts/homepage.rb, line 132
def show_all_programs_that_miss_a_homepage_entry
  require 'rbt/cookbooks/class/class.rb'
  available_programs?.each {|this_program|
    dataset = RBT::Cookbooks::Cookbook.new(this_program) { :bypass_menu_check }
    homepage_entry = dataset.homepage?
    if homepage_entry.nil?
      _ = ("`#{this_program}`").ljust(15)
      opnn; e "The program #{sfancy(_)} has no "\
              "#{sfancy('homepage: ')} entry."
    end
  }
end
show_help() click to toggle source
#

show_help (help tag)

Invoke this entry point via:

homepage --help
#
# File lib/rbt/utility_scripts/homepage.rb, line 151
def show_help
  opnn; e '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? ) click to toggle source
#

show_homepage_of_this_program

#
# File lib/rbt/utility_scripts/homepage.rb, line 184
def show_homepage_of_this_program(
    this_program = which_program?
  )
  if this_program.include? '.yml'
    this_program.sub!(/\.yml$/,'')
  end
  _ = return_homepage
  if _
    if _.empty?
      opnn; e "No homepage has been registered for the program "\
              "`#{sfancy(this_program)}`." 
    else
      # =================================================================== #
      # Else we have found a homepage entry and will display
      # our findings to the end-user.
      #
      # To test this subsection, try:
      #
      #   homepage geany
      #
      # =================================================================== #
      opnn; e "The homepage of the program `#{sfancy(this_program)}"\
              "` is at:"
      e
      e "  #{orange(_)}"
      e
      if modify_the_xorg_buffer?
        set_xorg_buffer(_)
      end
    end
  else
    opnn; e 'No homepage entry is registered in `'+
             sfancy(this_program)+'` (The .yml file should be at '
    opnn; e  simp("  #{individual_cookbooks_dir?}#{this_program}.yml")+
             ')'
  end
end
Also aliased as: report_the_homepage
this_program?() click to toggle source
#

this_program?

#
# File lib/rbt/utility_scripts/homepage.rb, line 163
def this_program?
  @this_program
end
which_program?() click to toggle source
#

which_program?

#
# File lib/rbt/utility_scripts/homepage.rb, line 98
def which_program?
  @this_program
end