Class: RegoValidate::OutcomeEmitter

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

Overview

Emits human-readable or JSON output.

Defined Under Namespace

Classes: JsonFormatter, OutcomePayload, TextFormatter

Constant Summary collapse

FORMATTERS =
{
  "json" => JsonFormatter,
  "text" => TextFormatter
}.freeze

Instance Method Summary collapse

Constructor Details

#initialize(stdout, format: "text") ⇒ OutcomeEmitter

Create an emitter for CLI output.

Parameters:

  • stdout (IO)
  • format (String) (defaults to: "text")


970
971
972
# File 'lib/ruby/rego/cli.rb', line 970

def initialize(stdout, format: "text")
  @formatter = FORMATTERS.fetch(format, TextFormatter).new(stdout)
end

Instance Method Details

#emit(outcome) ⇒ void

This method returns an undefined value.

Emit the outcome payload.

Parameters:



978
979
980
# File 'lib/ruby/rego/cli.rb', line 978

def emit(outcome)
  formatter.emit(outcome)
end