class RBT::RequiredDependenciesOn

Public Class Methods

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

RBT::RequiredDependenciesOn[]

#
# File lib/rbt/cookbooks/required_dependencies_on/required_dependencies_on.rb, line 145
def self.[](i = '')
  self.new(i)
end
new( commandline_arguments = nil, run_already = true ) click to toggle source
#

initialize

#
# File lib/rbt/cookbooks/required_dependencies_on/required_dependencies_on.rb, line 26
def initialize(
    commandline_arguments = nil,
    run_already           = true
  )
  reset
  set_commandline_arguments(
    commandline_arguments
  )
  run if run_already
end

Public Instance Methods

commandline_arguments?() click to toggle source
#

commandline_arguments?

#
# File lib/rbt/cookbooks/required_dependencies_on/required_dependencies_on.rb, line 57
def commandline_arguments?
  @commandline_arguments
end
dependencies?() click to toggle source
#

dependencies?

#
# File lib/rbt/cookbooks/required_dependencies_on/required_dependencies_on.rb, line 106
def dependencies?
  @cookbook.required_dependencies_on?
end
first?() click to toggle source
#

first?

#
# File lib/rbt/cookbooks/required_dependencies_on/required_dependencies_on.rb, line 64
def first?
  @commandline_arguments.first
end
Also aliased as: program_name?
program_name?()
Alias for: first?
report( the_dependencies = dependencies?, be_verbose = be_verbose? ) click to toggle source
#

report (report tag)

#
# File lib/rbt/cookbooks/required_dependencies_on/required_dependencies_on.rb, line 113
def report(
    the_dependencies = dependencies?,
    be_verbose       = be_verbose?
  )
  program_name = program_name?
  if be_verbose
    opne "The following dependencies are known (and "\
         "have been registered) for #{royalblue(program_name)}:"
    e
    cliner
    e royalblue(program_name)
  end
  the_dependencies.each {|this_dependency|
    e '  '+slateblue(this_dependency)
    dependencies_for_that_program = return_dependencies_of_this_program(this_dependency)
    if dependencies_for_that_program
      e '    '+slateblue(this_dependency)+' in turn depends on:'
      dependencies_for_that_program.each {|entry|
        e '      '+royalblue(entry.to_s)
      }
    end
  }
  if be_verbose
    e
    cliner
    e
  end
end
Also aliased as: report_dependencies
report_dependencies( the_dependencies = dependencies?, be_verbose = be_verbose? )
Alias for: report
reset() click to toggle source
#

reset (reset tag)

#
Calls superclass method RBT::Base#reset
# File lib/rbt/cookbooks/required_dependencies_on/required_dependencies_on.rb, line 40
def reset
  super()
  set_be_verbose
  @namespace = NAMESPACE
end
return_dependencies_of_this_program( i = program_name? ) click to toggle source
#

return_dependencies_of_this_program

The argument to this method should be the name of the program that we are trying to find.

#
# File lib/rbt/cookbooks/required_dependencies_on/required_dependencies_on.rb, line 88
def return_dependencies_of_this_program(
    i = program_name?
  )
  # ======================================================================= #
  # The input may include strings such as '>=', such as in 'mpc >= 0.8.1'.
  # In this case we will split the input.
  # ======================================================================= #
  if i.include? '='
    i = i.split('=').first.strip
  end
  i.delete!('><')
  i.strip!
  RBT::Cookbooks::Cookbook.new(i) { :bypass_menu_check }.required_dependencies_on?
end
run() click to toggle source
#

run (run tag)

#
# File lib/rbt/cookbooks/required_dependencies_on/required_dependencies_on.rb, line 71
def run
  program_name = program_name?
  if RBT.has_this_program_registered?(program_name)
    @cookbook = RBT::Cookbooks::Cookbook.new(program_name) { :bypass_menu_check }
    report(@cookbook.required_dependencies_on?)
  else
    opne "The program #{sfancy(program_name)} is not "\
         "registered as part of the RBT project."
  end
end
set_commandline_arguments(i = '') click to toggle source
#

set_input

#
# File lib/rbt/cookbooks/required_dependencies_on/required_dependencies_on.rb, line 49
def set_commandline_arguments(i = '')
  i = [i].flatten.compact
  @commandline_arguments = i
end