class RBT::CompileVersionedProgram

Public Class Methods

new( i = ARGV, run_already = true ) { || ... } click to toggle source
#

initialize

#
# File lib/rbt/utility_scripts/compile_versioned_program/compile_versioned_program.rb, line 27
def initialize(
    i           = ARGV,
    run_already = true,
    &block
  )
  reset
  set_commandline_arguments(i)
  # ======================================================================= #
  # === Handle blocks next:
  # ======================================================================= #
  if block_given?
    yielded = yield
    if yielded.is_a? Hash
      # =================================================================== #
      # === :use_this_directory
      # =================================================================== #
      if yielded.has_key? :use_this_directory
        set_use_this_directory(yielded.delete(:use_this_directory))
      end
    end
  end
  run if run_already
end

Public Instance Methods

reset() click to toggle source
#

reset (reset tag)

#
Calls superclass method RBT::LeanPrototype#reset
# File lib/rbt/utility_scripts/compile_versioned_program/compile_versioned_program.rb, line 54
def reset
  super()
  infer_the_namespace
  # ======================================================================= #
  # === @target_directory
  # ======================================================================= #
  @target_directory = return_pwd
end
run() click to toggle source
#

run

#
# File lib/rbt/utility_scripts/compile_versioned_program/compile_versioned_program.rb, line 73
def run
  all_files = Dir[@target_directory+'**']
  work_on = first_argument?
  possible_matches = all_files.select {|entry|
    entry = File.basename(entry) # Get a shorter variant here.
    entry.include?(work_on)
  }
  if possible_matches.empty?
    opne "No match was found for the given input #{steelblue(work_on)}."
  else
    # ===================================================================== #
    # Next we have to find the proper match, from all
    # possible_matches determined above. Here we need
    # to be careful to find the correct entry.
    # ===================================================================== #
    _ = possible_matches.first
    assumed_name = File.basename(@target_directory).delete('-')
    assumed_version = ProgramInformation.return_version(_)
    _ = assumed_name+'@'+assumed_version
    set_first_commandline_argument(_)
    RBT::Action::Installer.new(commandline_arguments?)
  end
end
set_target_directory(i) click to toggle source
#

set_target_directory

#
# File lib/rbt/utility_scripts/compile_versioned_program/compile_versioned_program.rb, line 66
def set_target_directory(i)
  @target_directory = i
end
Also aliased as: set_use_this_directory
set_use_this_directory(i)