Class: ExceptionNotifier::Notifier
- Inherits:
-
ActionMailer::Base
- Object
- ActionMailer::Base
- ExceptionNotifier::Notifier
show all
- Defined in:
- lib/exception_notifier/notifier.rb
Defined Under Namespace
Classes: MissingController
Class Attribute Summary collapse
Class Method Summary
collapse
Instance Method Summary
collapse
Class Attribute Details
.default_background_sections ⇒ Object
43
44
45
|
# File 'lib/exception_notifier/notifier.rb', line 43
def default_background_sections
@default_background_sections || %w(backtrace data)
end
|
35
36
37
|
# File 'lib/exception_notifier/notifier.rb', line 35
def default_email_format
@default_email_format || :text
end
|
59
60
61
|
# File 'lib/exception_notifier/notifier.rb', line 59
def
@default_email_headers || {}
end
|
.default_email_prefix ⇒ Object
31
32
33
|
# File 'lib/exception_notifier/notifier.rb', line 31
def default_email_prefix
@default_email_prefix || "[ERROR] "
end
|
.default_exception_recipients ⇒ Object
27
28
29
|
# File 'lib/exception_notifier/notifier.rb', line 27
def default_exception_recipients
@default_exception_recipients || []
end
|
.default_normalize_subject ⇒ Object
51
52
53
|
# File 'lib/exception_notifier/notifier.rb', line 51
def default_normalize_subject
@default_normalize_prefix || false
end
|
.default_sections ⇒ Object
39
40
41
|
# File 'lib/exception_notifier/notifier.rb', line 39
def default_sections
@default_sections || %w(request session environment backtrace)
end
|
.default_sender_address ⇒ Object
23
24
25
|
# File 'lib/exception_notifier/notifier.rb', line 23
def default_sender_address
@default_sender_address || %("Exception Notifier" <[email protected]>)
end
|
.default_smtp_settings ⇒ Object
55
56
57
|
# File 'lib/exception_notifier/notifier.rb', line 55
def default_smtp_settings
@default_smtp_settings || nil
end
|
.default_verbose_subject ⇒ Object
47
48
49
|
# File 'lib/exception_notifier/notifier.rb', line 47
def default_verbose_subject
@default_verbose_subject.nil? || @default_verbose_subject
end
|
Class Method Details
.default_options ⇒ Object
63
64
65
66
67
68
69
70
71
72
73
74
75
|
# File 'lib/exception_notifier/notifier.rb', line 63
def default_options
{ :sender_address => default_sender_address,
:exception_recipients => default_exception_recipients,
:email_prefix => default_email_prefix,
:email_format => default_email_format,
:sections => default_sections,
:background_sections => default_background_sections,
:verbose_subject => default_verbose_subject,
:normalize_subject => default_normalize_subject,
:template_path => mailer_name,
:smtp_settings => default_smtp_settings,
:email_headers => }
end
|
.normalize_digits(string) ⇒ Object
77
78
79
|
# File 'lib/exception_notifier/notifier.rb', line 77
def normalize_digits(string)
string.gsub(/[0-9]+/, 'N')
end
|
Instance Method Details
#background_exception_notification(exception, options = {}) ⇒ Object
103
104
105
106
107
108
109
110
111
112
113
114
115
|
# File 'lib/exception_notifier/notifier.rb', line 103
def background_exception_notification(exception, options={})
load_custom_views
if @notifier = Rails.application.config.middleware.detect{ |x| x.klass == ExceptionNotifier }
@options = options.reverse_merge(@notifier.args.first || {}).reverse_merge(self.class.default_options)
@exception = exception
@backtrace = exception.backtrace || []
@sections = @options[:background_sections]
@data = options[:data] || {}
compose_email
end
end
|
#exception_notification(env, exception, options = {}) ⇒ Object
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
|
# File 'lib/exception_notifier/notifier.rb', line 87
def exception_notification(env, exception, options={})
load_custom_views
@env = env
@exception = exception
@options = options.reverse_merge(env['exception_notifier.options'] || {}).reverse_merge(self.class.default_options)
@kontroller = env['action_controller.instance'] || MissingController.new
@request = ActionDispatch::Request.new(env)
@backtrace = exception.backtrace ? clean_backtrace(exception) : []
@sections = @options[:sections]
@data = (env['exception_notifier.exception_data'] || {}).merge(options[:data] || {})
@sections = @sections + %w(data) unless @data.empty?
compose_email
end
|