class ScaBox::CodebaseScanner

Public Class Methods

new(params) click to toggle source
Calls superclass method
# File lib/scabox_sdk/codebase.rb, line 8
def initialize(params)
  super(params)
end

Public Instance Methods

parse_opts(args) click to toggle source
# File lib/scabox_sdk/codebase.rb, line 24
def parse_opts(args)
  @opts = OpenStruct.new
  @opts.codebase    = nil
  @opts.output      = nil
  @opts.format      = :json
  @opts.verbose     = false
  @opts.info        = false
  @opts.color       = true
  @opts.output_stdout = false

  opt_parser = OptionParser.new do |opts|
    opts.on('-c', '--codebase=CODEBASE', 'Codebase to be scanned') do |codebase|
      @opts.codebase = codebase
    end

    opts.on('-f', '--format=FORMAT', 'Format to save result (json or txt)') do |f|
      @opts.format = f.to_sym
    end

    opts.on('-o', '--output=OUTPUT', 'File to save result') do |output|
      @opts.output = output
    end

    opts.on('--output-stdout', 'Print result to stdout') do
      @opts.output_stdout = true
    end

    opts.on("-v", '--[no-]verbose', 'Run verbosely') do |v|
      @opts.verbose = v
    end

    opts.on("-i", '--info', 'Info about the scanner') do
      @opts.info = true
    end

    opts.on('', '--[no-]color', 'Enable/disable coloring') do |v|
      @opts.color = v
      enable_color(@opts.color)
    end

  end

  opt_parser.parse!(args)
  print_debug(@opts.inspect) if @opts.verbose
  @opts
end
run() click to toggle source
# File lib/scabox_sdk/codebase.rb, line 12
def run
  parse_opts(ARGV)
  check_info_flag

  if @opts.codebase.nil?
    print_error("No codebase passed")
    exit 1
  end
  check_output_flag
  start_scan
end