class ExceptionNotifier::GoogleChatNotifier
Public Instance Methods
call(exception, opts = {})
click to toggle source
# File lib/exception_notifier/google_chat_notifier.rb, line 7 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 Instance Methods
body(exception, formatter)
click to toggle source
# File lib/exception_notifier/google_chat_notifier.rb, line 20 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