class Proxy::OpenBolt::Error

Attributes

details[R]

Public Class Methods

new(message:, **details) click to toggle source
Calls superclass method
# File lib/smart_proxy_openbolt/error.rb, line 5
def initialize(message:, **details)
  @details = details
  super(message)
end

Public Instance Methods

to_json(*args) click to toggle source
# File lib/smart_proxy_openbolt/error.rb, line 10
def to_json(*args)
  result = { message: message }
  details.each do |key, val|
    if key == :exception && val.is_a?(Exception)
      result[:exception] = {
        class:     val.class.to_s,
        message:   val.message,
        backtrace: val.backtrace,
      }
    else
      result[key] = val unless val.nil?
    end
  end
  { error: result }.to_json(*args)
end