class RBT::RequiredDependenciesOn

Public Class Methods

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

RBT::RequiredDependenciesOn[]

#
# File lib/rbt/cookbooks/required_dependencies_on/required_dependencies_on.rb, line 128
def self.[](i = ARGV)
  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 29
def initialize(
    commandline_arguments = nil,
    run_already           = true
  )
  reset
  set_commandline_arguments(
    commandline_arguments
  )
  run if run_already
end

Public Instance Methods

dependencies?() click to toggle source
#

dependencies?

#
# File lib/rbt/cookbooks/required_dependencies_on/required_dependencies_on.rb, line 75
def dependencies?
  @cookbook.required_dependencies_on?
end
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 82
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
  purple_arrow = mediumpurple('→')
  the_dependencies.each {|this_dependency|
    e "  #{purple_arrow} #{slateblue(this_dependency)}"
    dependencies_for_that_program = return_dependencies_of_this_program(this_dependency)
    if dependencies_for_that_program
      e "    #{slateblue(this_dependency)} #{rev}in turn depends on:"
      dependencies_for_that_program.each {|entry|
        e "      #{tomato(entry.to_s)}#{rev}"
      }
    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::LeanPrototype#reset
# File lib/rbt/cookbooks/required_dependencies_on/required_dependencies_on.rb, line 43
def reset
  super()
  set_be_verbose
  infer_the_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 57
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!
  action(:raw_cookbook, i).required_dependencies_on?
end
run() click to toggle source
#

run (run tag)

#
# File lib/rbt/cookbooks/required_dependencies_on/required_dependencies_on.rb, line 115
def run
  program_name = program_name?
  if RBT.has_this_program_registered?(program_name)
    report(RBT.raw_cookbook(program_name).required_dependencies_on?)
  else
    opne "#{rev}The program #{sfancy(program_name)} #{rev}is "\
         "not registered as part of the RBT project."
  end
end