class Cookbooks::DisplayCookbookDataset

Constants

LEFT_PADDING
#

Cookbooks::DisplayCookbookDataset::LEFT_PADDING

#
NAMESPACE
#

NAMESPACE

#
REPLACE_PLUS_WITH_LONG_NAME
#

REPLACE_PLUS_WITH_LONG_NAME

#

Public Class Methods

feedback_all(i) click to toggle source
#

::feedback_all

#
# File lib/cookbooks/display_cookbook_dataset/feedback/feedback.rb, line 415
def self.feedback_all(i)
  ::Cookbooks::DisplayCookbookDataset::Feedback.feedback_all(i)
end
feedback_all_binaries(i) click to toggle source
#

::feedback_all_binaries

Usage:

DisplayCookbookDataset.feedback_all_binaries 'coreutils'
#
# File lib/cookbooks/display_cookbook_dataset/feedback/feedback.rb, line 425
def self.feedback_all_binaries(i)
  ::Cookbooks::DisplayCookbookDataset::Feedback.feedback_all_binaries(i)
end
feedback_all_libraries(i) click to toggle source
#

::feedback_all_libraries

Usage:

DisplayCookbookDataset.feedback_all_binaries 'coreutils'
#
# File lib/cookbooks/display_cookbook_dataset/feedback/feedback.rb, line 392
def self.feedback_all_libraries(i)
  ::Cookbooks::DisplayCookbookDataset::Feedback.feedback_all_libraries(i)
end
feedback_extra_description(of_this_program) click to toggle source
#

::feedback_extra_description

#
# File lib/cookbooks/display_cookbook_dataset/feedback/feedback.rb, line 399
def self.feedback_extra_description(of_this_program)
  ::Cookbooks::DisplayCookbookDataset::Feedback.feedback_extra_information(of_this_program)
end
feedback_local_base(i) click to toggle source
#

::feedback_local_base

#
# File lib/cookbooks/display_cookbook_dataset/feedback/feedback.rb, line 368
def self.feedback_local_base(i)
  ::Cookbooks::DisplayCookbookDataset::Feedback.feedback_base(i)
end
feedback_local_location(i) click to toggle source
#

::feedback_local_location

#
# File lib/cookbooks/display_cookbook_dataset/feedback/feedback.rb, line 375
def self.feedback_local_location(i)
  ::Cookbooks::DisplayCookbookDataset::Feedback.feedback_local_location(i)
end
feedback_make_options(i = ARGV) click to toggle source
#

::feedback_make_options

#
# File lib/cookbooks/display_cookbook_dataset/feedback/feedback.rb, line 382
def self.feedback_make_options(i = ARGV)
  ::Cookbooks::DisplayCookbookDataset::Feedback.feedback_make_options(i)
end
feedback_program_description(i) click to toggle source
#

::feedback_program_description

#
# File lib/cookbooks/display_cookbook_dataset/feedback/feedback.rb, line 406
def self.feedback_program_description(i)
  ::Cookbooks::DisplayCookbookDataset::Feedback.feedback_description(i)
end
feedback_url(i = ARGV) click to toggle source
#

::feedback_url

This method will feedback information about the url of a program. Each member inside @remote_urls is a string, and we will report all of them.

#
# File lib/cookbooks/display_cookbook_dataset/feedback/feedback_url.rb, line 18
def self.feedback_url(i = ARGV)
  i = i.first if i.is_a? Array
  Feedback.register(i) unless Feedback.dataset?
  result = nil
  can_be_found_in_this_cookbook = nil
  if Object.const_defined? :Cookbooks
    can_be_found_in_this_cookbook = Cookbooks.individual_cookbooks_directory?+i+'.yml'
  end
  cliner {
    print Colours.simp(' => URL for ')+sfancy(i)
    # ===================================================================== #
    # Next, display where it is defined.
    # ===================================================================== #
    unless can_be_found_in_this_cookbook.nil?
      e  Colours.simp(' (as defined in ')+sfile(can_be_found_in_this_cookbook)+')'
    end
    e Colours.simp('    points to: ')
    e
    # ===================================================================== #
    # We must ensure to not fill up empty URLs
    # ===================================================================== #
    Feedback.dataset?.remote_urls.each_with_index { |_, index| index += 1
      unless _.empty?
        e Colours.simp('    ('+index.to_s+') '+_)
        result = _
      end
    }; e
  }
  return result
end
new( this_program = ARGV, run_already = true ) { || ... } click to toggle source
#

initialize

#
# File lib/cookbooks/display_cookbook_dataset/display_cookbook_dataset.rb, line 29
def initialize(
    this_program = ARGV,
    run_already  = true
  )
  reset # Defined in reset.rb
  set_program(this_program)
  if block_given?
    yielded = yield
    case yielded
    when :do_not_show_md5sum
      set_show_md5sum false
    end
  end
  run if run_already
end

Public Instance Methods

clear()
Alias for: reset
dataset?() click to toggle source
#

dataset?

#
# File lib/cookbooks/display_cookbook_dataset/display_cookbook_dataset.rb, line 107
def dataset?
  @dataset
end
determine_dataset(i = program?) click to toggle source
#

#determine_dataset

#
# File lib/cookbooks/display_cookbook_dataset/display_cookbook_dataset.rb, line 100
def determine_dataset(i = program?)
  @dataset = ::Cookbooks::Cookbook.new(i)
end
display_this_option(i = :short_name) click to toggle source
#

#display_this_option

#
# File lib/cookbooks/display_cookbook_dataset/display_cookbook_dataset.rb, line 137
def display_this_option(i = :short_name)
  result = ''.dup
  result << case i
  when :prefix
    'Prefix: '
  when :base_dir
    'Base dir: '
  when :short_name
    'Short name: '
  when :real_short_name
    'Real short name: '
  end
  result = result.ljust(30)
  name_of_the_method = i.to_s.dup+'?'
  result << sfancy(@dataset.send(name_of_the_method.to_sym).to_s)
  e result
end
main_program_entries?() click to toggle source
#

main_program_entries?

Query method over ARRAY_MAIN_PROGRAM_ENTRIES.

#
# File lib/cookbooks/display_cookbook_dataset/display_cookbook_dataset.rb, line 71
def main_program_entries?
  self.class.main_program_entries?
end
opnn() click to toggle source
#

opnn

#
Calls superclass method Cookbooks::Base#opnn
# File lib/cookbooks/display_cookbook_dataset/display_cookbook_dataset.rb, line 86
def opnn
  super(NAMESPACE)
end
program?() click to toggle source
#

program?

#
# File lib/cookbooks/display_cookbook_dataset/display_cookbook_dataset.rb, line 93
def program?
  @program
end
reset() click to toggle source
#

reset (reset tag)

#
Calls superclass method Cookbooks::Base#reset
# File lib/cookbooks/display_cookbook_dataset/reset.rb, line 15
def reset
  super()
  @internal_hash = {}
  @internal_hash[:show_md5sum]    = show_md5sum?
  @internal_hash[:this_program]   = nil # Initialize it.
  @internal_hash[:programs_dir]   = PROGRAMS_DIR
  @internal_hash[:base_dir]       = SRC_DIR # Keep a reference to "/Users/x/SRC/" or to any other value.
  @internal_hash[:extra_commands] = []
  @internal_hash[:found_result]   = false # We have not yet searched, so this defaults to false.
  @internal_hash[:may_we_exit]    = false
  @internal_hash[:wrap_result]    = true # If true then we will wrap the description of a given program.
  # ======================================================================= #
  # We can replace '+' with 'plus' depending on whether the constant
  # REPLACE_PLUS_WITH_LONG_NAME tells us to do so. The program gtk+
  # is an example for this - it would become "gtkplus". If you do not
  # want to have '+' as directory names under /Programs/, then you
  # can enable this via that constant.
  # ======================================================================= #
  @internal_hash[:replace_plus_with_long_name] = REPLACE_PLUS_WITH_LONG_NAME
  reset_yaml_dataset
end
Also aliased as: clear
reset_yaml_dataset() click to toggle source
#

#reset_yaml_dataset

#
# File lib/cookbooks/display_cookbook_dataset/reset.rb, line 40
def reset_yaml_dataset
  @yaml_dataset = {}
end
run() click to toggle source
#

run

#
# File lib/cookbooks/display_cookbook_dataset/display_cookbook_dataset.rb, line 114
def run
  determine_dataset
  opnn; e 'Displaying information about the program '+sfancy(@program)+'.'
  dataset = dataset?
  ljust_value = 30
  # ======================================================================= #
  # Display important values.
  # ======================================================================= #
  display_this_option :prefix
  e 'Program path: '.ljust(ljust_value)+sfancy(dataset.program_path?.to_s)
  e 'Dependencies on: '.ljust(ljust_value)+sfancy(dataset.deps_on?.join(',').rstrip.to_s)
  display_this_option :base_dir
  display_this_option :short_name
  display_this_option :real_short_name
  e 'Archive size: '.ljust(ljust_value)+sfancy(dataset.archive_size?.to_s)
  if show_md5sum?
    e 'md5sum: '.ljust(ljust_value)+sfancy(dataset.md5sum?.to_s)
  end
end
set_program(i) click to toggle source
#

#set_program

#
# File lib/cookbooks/display_cookbook_dataset/display_cookbook_dataset.rb, line 78
def set_program(i)
  i = i.first if i.is_a? Array
  @program = i
end
set_show_md5sum(i) click to toggle source
#

#set_show_md5sum

#
# File lib/cookbooks/display_cookbook_dataset/display_cookbook_dataset.rb, line 48
def set_show_md5sum(i)
  @internal_hash[:show_md5sum] = i
end
show_md5sum?() click to toggle source
#

show_md5sum?

#
# File lib/cookbooks/display_cookbook_dataset/display_cookbook_dataset.rb, line 55
def show_md5sum?
  @internal_hash[:show_md5sum]
end
use_only_symbols_for_the_main_hash?() click to toggle source
#

use_only_symbols_for_the_main_hash?

#
# File lib/cookbooks/display_cookbook_dataset/display_cookbook_dataset.rb, line 62
def use_only_symbols_for_the_main_hash?
  false # Hardcoded for now. We keep only Strings.
end