Sha256: 62d3c24cbfd400894cf5439362933bace416b7326e5045118e01c06f6eb753f8
Contents?: true
Size: 1001 Bytes
Versions: 3
Compression:
Stored size: 1001 Bytes
Contents
# frozen_string_literal: true require 'httparty' module ExceptionNotifier class GoogleChatNotifier < BaseNotifier def call(exception, opts = {}) options = base_options.merge(opts) formatter = Formatter.new(exception, options) HTTParty.post( options[:webhook_url], body: { text: body(exception, formatter) }.to_json, headers: { 'Content-Type' => 'application/json' } ) end private def body(exception, formatter) text = [ "\nApplication: *#{formatter.app_name}*", formatter.subtitle, '', formatter.title, "*#{exception.message.tr('`', "'")}*" ] if (request = formatter.request_message.presence) text << '' text << '*Request:*' text << request end if (backtrace = formatter.backtrace_message.presence) text << '' text << '*Backtrace:*' text << backtrace end text.compact.join("\n") end end end
Version data entries
3 entries across 3 versions & 1 rubygems