Class: MerbExceptions::Notification
- Inherits:
-
Object
- Object
- MerbExceptions::Notification
- Defined in:
- lib/merb-exceptions/notification.rb
Instance Attribute Summary collapse
-
#details ⇒ Object
readonly
Returns the value of attribute details.
Instance Method Summary collapse
- #deliver! ⇒ Object
- #deliver_emails! ⇒ Object
- #deliver_web_hooks! ⇒ Object
- #email_addresses ⇒ Object
- #environments ⇒ Object
-
#initialize(details = nil) ⇒ Notification
constructor
A new instance of Notification.
- #params ⇒ Object
- #should_deliver_notifications? ⇒ Boolean
- #web_hooks ⇒ Object
Constructor Details
#initialize(details = nil) ⇒ Notification
Returns a new instance of Notification.
9 10 11 12 |
# File 'lib/merb-exceptions/notification.rb', line 9 def initialize(details = nil) @details = details || {} @config = Merb::Plugins.config[:exceptions] end |
Instance Attribute Details
#details ⇒ Object (readonly)
Returns the value of attribute details.
7 8 9 |
# File 'lib/merb-exceptions/notification.rb', line 7 def details @details end |
Instance Method Details
#deliver! ⇒ Object
14 15 16 17 |
# File 'lib/merb-exceptions/notification.rb', line 14 def deliver! deliver_web_hooks! deliver_emails! end |
#deliver_emails! ⇒ Object
27 28 29 30 31 32 33 |
# File 'lib/merb-exceptions/notification.rb', line 27 def deliver_emails! return unless should_deliver_notifications? Merb.logger.info "DELIVERING EXCEPTION EMAILS" email_addresses.each do |address| send_notification_email(address) end end |
#deliver_web_hooks! ⇒ Object
19 20 21 22 23 24 25 |
# File 'lib/merb-exceptions/notification.rb', line 19 def deliver_web_hooks! return unless should_deliver_notifications? Merb.logger.info "DELIVERING EXCEPTION WEB HOOKS" web_hooks.each do |address| post_hook(address) end end |
#email_addresses ⇒ Object
37 |
# File 'lib/merb-exceptions/notification.rb', line 37 def email_addresses; option_as_array(:email_addresses); end |
#environments ⇒ Object
39 |
# File 'lib/merb-exceptions/notification.rb', line 39 def environments; option_as_array(:environments); end |
#params ⇒ Object
47 48 49 50 51 52 53 54 55 56 57 |
# File 'lib/merb-exceptions/notification.rb', line 47 def params { 'request_url' => details['url'], 'request_controller' => details['params'][:controller], 'request_action' => details['params'][:action], 'request_params' => details['params'], 'environment' => details['environment'], 'exceptions' => details['exceptions'], 'app_name' => @config[:app_name] } end |
#should_deliver_notifications? ⇒ Boolean
42 43 44 |
# File 'lib/merb-exceptions/notification.rb', line 42 def should_deliver_notifications? environments.include? Merb.env end |
#web_hooks ⇒ Object
35 |
# File 'lib/merb-exceptions/notification.rb', line 35 def web_hooks; option_as_array(:web_hooks); end |