exception_notification_rails3 1.1.0 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/README
CHANGED
@@ -71,7 +71,32 @@ Using:
|
|
71
71
|
ExceptionNotifier.with do
|
72
72
|
some code...
|
73
73
|
end
|
74
|
-
|
74
|
+
|
75
|
+
ExceptionNotifier.with({
|
76
|
+
:name => 'MyDaemon',
|
77
|
+
:data => { :username => "david" },
|
78
|
+
:files => [ "path/to/screenshot.png" ]
|
79
|
+
}) do
|
80
|
+
some code...
|
81
|
+
end
|
82
|
+
|
83
|
+
begin
|
84
|
+
some code...
|
85
|
+
rescue => e
|
86
|
+
ExceptionNotifier::Notifier.background_exception_notification(e).deliver
|
87
|
+
end
|
88
|
+
|
89
|
+
begin
|
90
|
+
some code...
|
91
|
+
rescue => e
|
92
|
+
screenshot_file = make_screenshot!
|
93
|
+
|
94
|
+
ExceptionNotifier::Notifier.background_exception_notification(e, {
|
95
|
+
:name => "MyDaemon",
|
96
|
+
:files => [ screenshot_file ]
|
97
|
+
}).deliver
|
98
|
+
end
|
99
|
+
|
75
100
|
== Rails 2.3 stable and earlier
|
76
101
|
|
77
102
|
If you are running Rails 2.3 then see the branch for that:
|
@@ -86,4 +111,4 @@ If you are running pre-rack Rails then see this tag:
|
|
86
111
|
|
87
112
|
https://rails.lighthouseapp.com/projects/8995-rails-plugins
|
88
113
|
|
89
|
-
Copyright (c) 2005 Jamis Buck, released under the MIT license
|
114
|
+
Copyright (c) 2005 Jamis Buck, released under the MIT license
|
data/lib/exception_notifier.rb
CHANGED
@@ -12,14 +12,14 @@ class ExceptionNotifier
|
|
12
12
|
end
|
13
13
|
|
14
14
|
def background_options
|
15
|
-
@background_options ||= Rails.application.middleware.find {|klass| klass == ExceptionNotifier }.args.first rescue {}
|
15
|
+
@background_options ||= Rails.application.middleware.find { |klass| klass == ExceptionNotifier }.args.first rescue {}
|
16
16
|
end
|
17
17
|
|
18
|
-
def with(&block)
|
18
|
+
def with(options = {}, &block)
|
19
19
|
block.call
|
20
20
|
rescue Exception => exception
|
21
21
|
unless Array.wrap(background_options[:ignore_exceptions]).include?(exception.class)
|
22
|
-
Notifier.background_exception_notification(exception).deliver
|
22
|
+
Notifier.background_exception_notification(exception, options).deliver
|
23
23
|
end
|
24
24
|
raise exception
|
25
25
|
end
|
@@ -58,17 +58,24 @@ class ExceptionNotifier
|
|
58
58
|
end
|
59
59
|
end
|
60
60
|
|
61
|
-
def background_exception_notification(exception)
|
61
|
+
def background_exception_notification(exception, options = {})
|
62
62
|
@exception = exception
|
63
63
|
@options = ExceptionNotifier.background_options.reverse_merge(self.class.default_options)
|
64
64
|
@kontroller = MissingController.new
|
65
65
|
@backtrace = clean_backtrace(exception)
|
66
|
-
@sections = %w(backtrace)
|
67
|
-
|
68
|
-
|
69
|
-
|
66
|
+
@sections = %w(data backtrace)
|
67
|
+
|
68
|
+
prefix = "#{@options[:email_prefix]}#{options[:name] || '[background]'}"
|
69
|
+
subject = "#{prefix} (#{@exception.class}) #{@exception.message.inspect}"
|
70
|
+
|
71
|
+
(options[:files] || []).each do |path|
|
72
|
+
attachments[File.basename(path)] = File.read(path)
|
73
|
+
end
|
74
|
+
|
75
|
+
@data = options[:data] || {}
|
76
|
+
|
70
77
|
mail(:to => @options[:exception_recipients], :from => @options[:sender_address], :subject => subject) do |format|
|
71
|
-
format.text { render "#{mailer_name}/exception_notification" }
|
78
|
+
format.text { render "#{mailer_name}/exception_notification", :layout => false }
|
72
79
|
end
|
73
80
|
end
|
74
81
|
|
metadata
CHANGED
@@ -1,13 +1,12 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: exception_notification_rails3
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash: 19
|
5
4
|
prerelease: false
|
6
5
|
segments:
|
7
6
|
- 1
|
8
|
-
-
|
7
|
+
- 2
|
9
8
|
- 0
|
10
|
-
version: 1.
|
9
|
+
version: 1.2.0
|
11
10
|
platform: ruby
|
12
11
|
authors:
|
13
12
|
- Jamis Buck
|
@@ -16,7 +15,7 @@ autorequire:
|
|
16
15
|
bindir: bin
|
17
16
|
cert_chain: []
|
18
17
|
|
19
|
-
date: 2010-
|
18
|
+
date: 2010-11-04 00:00:00 +02:00
|
20
19
|
default_executable:
|
21
20
|
dependencies: []
|
22
21
|
|
@@ -30,13 +29,14 @@ extra_rdoc_files: []
|
|
30
29
|
|
31
30
|
files:
|
32
31
|
- README
|
33
|
-
- lib/exception_notifier/notifier.rb
|
34
32
|
- lib/exception_notifier/views/exception_notifier/_backtrace.text.erb
|
35
33
|
- lib/exception_notifier/views/exception_notifier/_environment.text.erb
|
36
|
-
- lib/exception_notifier/views/exception_notifier/
|
34
|
+
- lib/exception_notifier/views/exception_notifier/exception_notification.text.erb
|
37
35
|
- lib/exception_notifier/views/exception_notifier/_session.text.erb
|
36
|
+
- lib/exception_notifier/views/exception_notifier/_data.text.erb
|
37
|
+
- lib/exception_notifier/views/exception_notifier/_request.text.erb
|
38
38
|
- lib/exception_notifier/views/exception_notifier/_title.text.erb
|
39
|
-
- lib/exception_notifier/
|
39
|
+
- lib/exception_notifier/notifier.rb
|
40
40
|
- lib/exception_notifier.rb
|
41
41
|
has_rdoc: true
|
42
42
|
homepage: http://github.com/railsware/exception_notification
|
@@ -52,7 +52,6 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
52
52
|
requirements:
|
53
53
|
- - ">="
|
54
54
|
- !ruby/object:Gem::Version
|
55
|
-
hash: 3
|
56
55
|
segments:
|
57
56
|
- 0
|
58
57
|
version: "0"
|
@@ -61,7 +60,6 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
61
60
|
requirements:
|
62
61
|
- - ">="
|
63
62
|
- !ruby/object:Gem::Version
|
64
|
-
hash: 3
|
65
63
|
segments:
|
66
64
|
- 0
|
67
65
|
version: "0"
|