class RCT

Public Class Methods

argv_get(pos) click to toggle source
# File lib/rct/baseutils.rb, line 95
def self.argv_get(pos)
  value = ARGV[pos + 1]
  ARGV.delete_at(pos + 1)
  ARGV.delete_at(pos)
  return value
end
bad_invocation(msg) click to toggle source
# File lib/rct/baseutils.rb, line 76
def self.bad_invocation(msg)
  error(msg)
  exit(1)
end
die(msg) click to toggle source
# File lib/rct/baseutils.rb, line 85
def self.die(msg)
  error(msg)
  exit(1)
end
error(msg) click to toggle source
# File lib/rct/baseutils.rb, line 68
def self.error(msg)
  puts "error: #{msg}"
end
get_opt(info) click to toggle source
# File lib/rct/baseutils.rb, line 162
def self.get_opt(info)
  pos = 0
  while (pos < ARGV.length)
    arg = ARGV[pos]
    if (arg == info[0] || arg == info[1])
      return argv_get(pos)
    else
      pos += 1
    end
  end
end
help() click to toggle source
# File lib/rct/baseutils.rb, line 106
def self.help

  # default is CLI invocation of method name
  # rct Time.get_time
  #
  # provide require file if it is not in CLI list
  # rct Time.get_time --req time_client
  # rct --test test-suite

end
increase_log_level() click to toggle source
# File lib/rct/baseutils.rb, line 50
def self.increase_log_level
  @log_level += 1
end
log(level, line) click to toggle source
# File lib/rct/baseutils.rb, line 58
def self.log(level, line)
  if (level <= @log_level)
    puts line
  end
end
log_level() click to toggle source
# File lib/rct/baseutils.rb, line 32
def self.log_level
  @log_level
end
parse_global_options() click to toggle source
# File lib/rct/baseutils.rb, line 124
def self.parse_global_options
  pos = 0

  if (ARGV == nil)
    die("No arguments!")
  end

  while (pos < ARGV.length)
    arg = ARGV[pos]

    if (arg == '-t' || arg == '--test')
      sset(RCT_MODE, RCT_MODE_TEST)
      sset(TEST_SUITE_FILE, argv_get(pos))

    elsif (arg == '--req')
      require argv_get(pos)

    elsif (arg == '-h' || arg == '--host')
      sset(SERVER_HOSTNAME, argv_get(pos))

    elsif (arg == '-p' || arg == '--port')
      sset(SERVER_PORT, argv_get(pos))

    elsif (arg == '--cafile')
      sset(SSL_CA_FILE, argv_get(pos))

    elsif (arg == '-v')
      increase_log_level()
      ARGV.delete_at(pos)

    else
      pos += 1
    end

  end
end
parse_options(opts, required) click to toggle source
# File lib/rct/baseutils.rb, line 175
def self.parse_options(opts, required)
  return if opts == nil
  opts.each { |key, info|
    if ($GLOBAL_OPTS[info[0]] == 1 || $GLOBAL_OPTS[info[1]] == 1)
      bad_invocation("Error in CLI definition: #{info[0]}|#{info[1]} " +
                     "conflicts with global options!")
    end
    value = get_opt(info)
    if (required && value == nil)
      bad_invocation("Required argument #{info[0]}|#{info[1]} has no value!")
    end
    $STATE.set(key, value)
  }
end
sdelete(key) click to toggle source
# File lib/rct/baseutils.rb, line 218
def self.sdelete(key)
  $STATE.delete(key)
end
set_log_level(level) click to toggle source
# File lib/rct/baseutils.rb, line 40
def self.set_log_level(level)
  @log_level = RESULT if level == RESULT
  @log_level = INFO if level == INFO
  @log_level = DEBUG if level == DEBUG
end
sget(key) click to toggle source
# File lib/rct/baseutils.rb, line 210
def self.sget(key)
  $STATE.get(key)
end
sset(key, value, temp=false) click to toggle source
# File lib/rct/baseutils.rb, line 194
def self.sset(key, value, temp=false)
  $STATE.set(key, value, temp)
end
ssettmp(key, value) click to toggle source
# File lib/rct/baseutils.rb, line 202
def self.ssettmp(key, value)
  $STATE.set(key, value, true)
end