Sha256: 6f385719080e20d34ab330acdd2dae53f82bc9344c45e63bbdd011ce3d1ae2a5

Contents?: true

Size: 838 Bytes

Versions: 19

Compression:

Stored size: 838 Bytes

Contents

# 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

Version data entries

19 entries across 19 versions & 1 rubygems

Version Path
sqreen-1.22.0-java lib/sqreen/events/remote_exception.rb
sqreen-1.22.0 lib/sqreen/events/remote_exception.rb
sqreen-1.21.1-java lib/sqreen/events/remote_exception.rb
sqreen-1.21.1 lib/sqreen/events/remote_exception.rb
sqreen-1.21.0-java lib/sqreen/events/remote_exception.rb
sqreen-1.21.0 lib/sqreen/events/remote_exception.rb
sqreen-1.20.4-java lib/sqreen/events/remote_exception.rb
sqreen-1.20.4 lib/sqreen/events/remote_exception.rb
sqreen-1.21.0.beta3-java lib/sqreen/events/remote_exception.rb
sqreen-1.21.0.beta3 lib/sqreen/events/remote_exception.rb
sqreen-1.20.4.beta1 lib/sqreen/events/remote_exception.rb
sqreen-1.20.3 lib/sqreen/events/remote_exception.rb
sqreen-1.20.2 lib/sqreen/events/remote_exception.rb
sqreen-1.21.0.beta2 lib/sqreen/events/remote_exception.rb
sqreen-1.21.0.beta1 lib/sqreen/events/remote_exception.rb
sqreen-1.20.1-java lib/sqreen/events/remote_exception.rb
sqreen-1.20.1 lib/sqreen/events/remote_exception.rb
sqreen-1.20.0-java lib/sqreen/events/remote_exception.rb
sqreen-1.20.0 lib/sqreen/events/remote_exception.rb