# typed: true # Copyright (c) 2015 Sqreen. All Rights Reserved. # Please refer to our terms for more information: https://www.sqreen.com/terms.html require 'json' require 'sqreen/event' module Sqreen # When an exception arise it is automatically pushed to the event queue class RemoteException < Sqreen::Event def self.record(payload_or_exception) exception = RemoteException.new(payload_or_exception) exception.enqueue end def initialize(payload_or_exception) payload = if payload_or_exception.is_a?(Hash) payload_or_exception else { 'exception' => payload_or_exception } end super(payload) end def enqueue Sqreen.queue.push(self) end def klass payload['exception'].class.name end end end