Class: RegoValidate::CLI

Inherits:
Object
  • Object
show all
Defined in:
lib/ruby/rego/cli.rb

Overview

Command-line interface for validating inputs against a Rego policy.

Instance Method Summary collapse

Constructor Details

#initialize(argv, stdout: $stdout, stderr: $stderr) ⇒ CLI

Create a CLI instance.

Parameters:

  • argv (Array<String>)

    command-line arguments

  • stdout (IO) (defaults to: $stdout)

    output stream

  • stderr (IO) (defaults to: $stderr)

    error stream



105
106
107
108
109
110
# File 'lib/ruby/rego/cli.rb', line 105

def initialize(argv, stdout: $stdout, stderr: $stderr)
  @argv = argv
  @stdout = stdout
  @stderr = stderr
  @options = Options.new(format: "text", help: false, yaml_aliases: false, profile: false)
end

Instance Method Details

#runInteger

Run the CLI and return an exit status.

Returns:

  • (Integer)


115
116
117
118
119
120
121
# File 'lib/ruby/rego/cli.rb', line 115

def run
  perform_run
rescue Ruby::Rego::Error => e
  handle_rego_error(e)
rescue StandardError => e
  handle_unexpected_error(e)
end