Class: Denouncer::Notifiers::AmqpNotifier

Inherits:
BaseNotifier show all
Defined in:
lib/denouncer/notifiers/amqp_notifier.rb

Constant Summary collapse

DEFAULT_PORT =
5672
DEFAULT_SERVER =
'localhost'
DEFAULT_VHOST =
'/'
DEFAULT_USERNAME =
'guest'
DEFAULT_PASSWORD =
'guest'

Instance Attribute Summary

Attributes inherited from BaseNotifier

#config

Instance Method Summary collapse

Methods inherited from BaseNotifier

#get_current_timestamp, #get_error_cause, #initialize

Constructor Details

This class inherits a constructor from Denouncer::Notifiers::BaseNotifier

Instance Method Details

#nameString

Returns:

  • (String)


14
15
16
# File 'lib/denouncer/notifiers/amqp_notifier.rb', line 14

def name
  'amqp'
end

#notify(error, metadata = nil) ⇒ Object

Sends an error notification via amqp.

Parameters:

  • error (StandardError)
  • metadata (Hash) (defaults to: nil)


35
36
37
38
# File 'lib/denouncer/notifiers/amqp_notifier.rb', line 35

def notify(error,  = nil)
  msg = generate_json_message error, 
  send_message_via_amqp msg
end

#set_configuration!(options) ⇒ Object



18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/denouncer/notifiers/amqp_notifier.rb', line 18

def set_configuration!(options)
  raise "Configuration error: :application_name is not set!" if options[:application_name].nil?
  require 'bunny'
  
  options[:server] = DEFAULT_SERVER if options[:server].nil?
  options[:port] = DEFAULT_PORT if options[:port].nil?
  options[:vhost] = DEFAULT_VHOST if options[:vhost].nil?
  options[:username] = DEFAULT_USERNAME if options[:username].nil?
  options[:password] = DEFAULT_PASSWORD if options[:password].nil?
  options[:message_queue] = "#{options[:application_name]}.errors" if options[:errors].nil?
  return options
end