Class: MetzScan::Commands::Report

Inherits:
Object
  • Object
show all
Defined in:
lib/metz_scan/commands/report.rb

Defined Under Namespace

Classes: Options

Constant Summary collapse

USAGE =
"Usage: metz-scan report PATH/TO/JSON [--format text|json|sarif|gh-annotations]"
VALID_FORMATS =
%w[text json sarif gh-annotations].freeze
RENDERERS =
{ "sarif" => Scan::SarifRenderer, "gh-annotations" => Scan::GithubAnnotationsRenderer }.freeze
DEFAULT_FORMAT =
"text"

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(stdout:, stderr:) ⇒ Report

Returns a new instance of Report.



26
27
28
29
# File 'lib/metz_scan/commands/report.rb', line 26

def initialize(stdout:, stderr:)
  @stdout = stdout
  @stderr = stderr
end

Class Method Details

.run(argv, stdout:, stderr:) ⇒ Object



22
23
24
# File 'lib/metz_scan/commands/report.rb', line 22

def self.run(argv, stdout:, stderr:)
  new(stdout: stdout, stderr: stderr).run(argv)
end

Instance Method Details

#run(argv) ⇒ Object



31
32
33
34
35
36
# File 'lib/metz_scan/commands/report.rb', line 31

def run(argv)
  options = parse_options(argv)
  validate(options) || emit(options)
rescue OptionParser::ParseError => e
  parser_error(e)
end