Class: ExceptionNotifier::Notifier
- Inherits:
-
ActionMailer::Base
- Object
- ActionMailer::Base
- ExceptionNotifier::Notifier
- Defined in:
- lib/exception_notifier/notifier.rb
Class Method Summary collapse
- .default_email_prefix ⇒ Object
- .default_exception_recipients ⇒ Object
- .default_options ⇒ Object
- .default_sections ⇒ Object
- .default_sender_address ⇒ Object
Instance Method Summary collapse
Class Method Details
.default_email_prefix ⇒ Object
18 19 20 |
# File 'lib/exception_notifier/notifier.rb', line 18 def default_email_prefix "[ERROR] " end |
.default_exception_recipients ⇒ Object
14 15 16 |
# File 'lib/exception_notifier/notifier.rb', line 14 def default_exception_recipients [] end |
.default_options ⇒ Object
26 27 28 29 30 31 |
# File 'lib/exception_notifier/notifier.rb', line 26 def { :sender_address => default_sender_address, :exception_recipients => default_exception_recipients, :email_prefix => default_email_prefix, :sections => default_sections } end |
.default_sections ⇒ Object
22 23 24 |
# File 'lib/exception_notifier/notifier.rb', line 22 def default_sections %w(request session environment backtrace) end |
.default_sender_address ⇒ Object
10 11 12 |
# File 'lib/exception_notifier/notifier.rb', line 10 def default_sender_address %("Exception Notifier" <[email protected]>) end |
Instance Method Details
#exception_notification(env, exception) ⇒ Object
34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
# File 'lib/exception_notifier/notifier.rb', line 34 def exception_notification(env, exception) @env = env @exception = exception @options = (env['exception_notifier.options'] || {}).reverse_merge(self.class.) @controller = env['action_controller.instance'] @request = ActionDispatch::Request.new(env) @backtrace = clean_backtrace(exception) @sections = @options[:sections] data = env['exception_notifier.exception_data'] || {} data.each do |name, value| instance_variable_set("@#{name}", value) end prefix = "#{@options[:email_prefix]}#{@controller.controller_name}##{@controller.action_name}" subject = "#{prefix} (#{@exception.class}) #{@exception..inspect}" mail(:to => @options[:exception_recipients], :from => @options[:sender_address], :subject => subject) do |format| format.text { render "#{mailer_name}/exception_notification" } end end |