Class: Kobako::Wire::Envelope::Panic

Inherits:
Data
  • Object
show all
Defined in:
lib/kobako/wire/envelope/payloads.rb

Overview

Panic (SPEC.md Outcome Envelope → Panic)

Failure Outcome payload. Encoded as a msgpack map keyed by name (forward-compatibility — unknown keys are silently ignored). Required: “origin” / “class” / “message”. Optional: “backtrace” (array of str), “details” (any wire-legal value).

Constant Summary collapse

ORIGIN_SANDBOX =
"sandbox"
ORIGIN_SERVICE =
"service"

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(origin:, klass:, message:, backtrace: [], details: nil) ⇒ Panic

Returns a new instance of Panic.

Raises:

  • (ArgumentError)


44
45
46
47
48
49
50
51
52
53
# File 'lib/kobako/wire/envelope/payloads.rb', line 44

def initialize(origin:, klass:, message:, backtrace: [], details: nil)
  raise ArgumentError, "Panic origin must be String"  unless origin.is_a?(String)
  raise ArgumentError, "Panic class must be String"   unless klass.is_a?(String)
  raise ArgumentError, "Panic message must be String" unless message.is_a?(String)
  unless backtrace.is_a?(Array) && backtrace.all?(String)
    raise ArgumentError, "Panic backtrace must be Array of String"
  end

  super
end

Instance Attribute Details

#backtraceObject (readonly)

Returns the value of attribute backtrace

Returns:

  • (Object)

    the current value of backtrace



43
44
45
# File 'lib/kobako/wire/envelope/payloads.rb', line 43

def backtrace
  @backtrace
end

#detailsObject (readonly)

Returns the value of attribute details

Returns:

  • (Object)

    the current value of details



43
44
45
# File 'lib/kobako/wire/envelope/payloads.rb', line 43

def details
  @details
end

#klassObject (readonly)

Returns the value of attribute klass

Returns:

  • (Object)

    the current value of klass



43
44
45
# File 'lib/kobako/wire/envelope/payloads.rb', line 43

def klass
  @klass
end

#messageObject (readonly)

Returns the value of attribute message

Returns:

  • (Object)

    the current value of message



43
44
45
# File 'lib/kobako/wire/envelope/payloads.rb', line 43

def message
  @message
end

#originObject (readonly)

Returns the value of attribute origin

Returns:

  • (Object)

    the current value of origin



43
44
45
# File 'lib/kobako/wire/envelope/payloads.rb', line 43

def origin
  @origin
end