Sha256: 838baec1a7d5a79f53b25e3b3f619efd287d200dcd24a0bab6f22e0132dce840

Contents?: true

Size: 600 Bytes

Versions: 1

Compression:

Stored size: 600 Bytes

Contents

require 'captivus/backtrace'

module Captivus
  class Payload
    def initialize(exception)
      if exception.respond_to?(:class) && exception.class.respond_to?(:name) && exception.respond_to?(:message)
        @as_json = {
          'event' => {
            'type' => exception.class.name,
            'message' => exception.message,
            'timestamp' => Time.now.utc.to_s
          },
          'backtrace' => Backtrace.new(exception).as_json
        }
      else
        raise ArgumentError, "Unexpected exception: #{exception.inspect}"
      end
    end

    attr_reader :as_json
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
captivus-0.0.3 lib/captivus/payload.rb