Class: RegoValidate::ErrorReporter::JsonFormatter

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

Overview

Emits JSON-formatted error output.

Instance Method Summary collapse

Constructor Details

#initialize(stdout:, stderr:) ⇒ JsonFormatter

Returns a new instance of JsonFormatter.

Parameters:

  • stdout (IO)
  • stderr (IO)


170
171
172
173
# File 'lib/ruby/rego/cli/reporting.rb', line 170

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

Instance Method Details

#error(message, _parser = nil) ⇒ void

This method returns an undefined value.

Parameters:

  • message (String)
  • parser (OptionParser, nil)


178
179
180
181
# File 'lib/ruby/rego/cli/reporting.rb', line 178

def error(message, _parser = nil)
  payload = ErrorPayload.from_cli_error(message).to_h
  stdout.puts(JSON.generate(payload))
end

#rego_error(error) ⇒ void

This method returns an undefined value.

Parameters:



185
186
187
188
# File 'lib/ruby/rego/cli/reporting.rb', line 185

def rego_error(error)
  payload = ErrorPayload.from_rego_error(error).to_h
  stdout.puts(JSON.generate(payload))
end