exception-alarm 0.1.0 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
data/CHANGELOG.md CHANGED
@@ -1,5 +1,9 @@
1
1
  # Changelog
2
2
 
3
+ ## Exception Alarm 1.0.0 (April 6, 2012)
4
+
5
+ * Stable version
6
+
3
7
  ## Exception Alarm 0.1.0 (April 6, 2012)
4
8
 
5
9
  * First public release
data/README.md CHANGED
@@ -23,9 +23,9 @@ Add to ApplicationController before filter
23
23
  ``` ruby
24
24
  class ApplicationController < ActionController::Base
25
25
  before_filter do
26
- ExceptionAlarm::Notifier.sender = "project-name@example.com"
27
- ExceptionAlarm::Notifier.prefix = '[ERROR-project-name]'
28
- ExceptionAlarm::Notifier.recipients = %w[vakhov@gmail.com]
26
+ ExceptionAlarm::Mailer.sender = "project-name@example.com"
27
+ ExceptionAlarm::Mailer.prefix = '[ERROR-project-name]'
28
+ ExceptionAlarm::Mailer.recipients = %w[vakhov@gmail.com]
29
29
  end
30
30
 
31
31
  # ...
@@ -1,4 +1,4 @@
1
1
  require "exception_alarm/version"
2
2
  require "exception_alarm/engine"
3
- require "exception_alarm/notifier"
3
+ require "exception_alarm/mailer"
4
4
  require "exception_alarm/middleware"
@@ -1,5 +1,8 @@
1
1
  module ExceptionAlarm
2
- class Notifier < ActionMailer::Base
2
+ class Mailer < ActionMailer::Base
3
+ self.mailer_name = 'mailer'
4
+ self.append_view_path "#{File.dirname(__FILE__)}/views"
5
+
3
6
  cattr_accessor :prefix
4
7
  cattr_accessor :sender
5
8
  cattr_accessor :recipients
@@ -10,6 +13,8 @@ module ExceptionAlarm
10
13
  def alarm(env, exception)
11
14
  @env = env
12
15
  @exception = exception
16
+ @kontroller = env['action_controller.instance']
17
+ @request = ActionDispatch::Request.new(env)
13
18
 
14
19
  mail(
15
20
  from: self.class.sender,
@@ -7,8 +7,8 @@ module ExceptionAlarm
7
7
  def call(env)
8
8
  @app.call(env)
9
9
  rescue Exception => exception
10
- if Rails.application.config.exception_alarm.enable && !ignore_exceptions.include?(exception.class.to_s) && Notifier.recipients.present?
11
- Notifier.alarm(env, exception).deliver
10
+ if Rails.application.config.exception_alarm.enable && !ignore_exceptions.include?(exception.class.to_s) && ::ExceptionAlarm::Mailer.recipients.present?
11
+ ::ExceptionAlarm::Mailer.alarm(env, exception).deliver
12
12
  end
13
13
 
14
14
  raise exception
@@ -1,3 +1,3 @@
1
1
  module ExceptionAlarm
2
- VERSION = "0.1.0"
2
+ VERSION = "1.0.0"
3
3
  end
@@ -0,0 +1,7 @@
1
+ <% filtered_env = @request.filtered_env -%>
2
+ <% max = filtered_env.keys.map(&:size).max -%>
3
+ <% filtered_env.stringify_keys.sort.each do |k, v| -%>
4
+ * <%= raw("%-*s: %s" % [max, k, (v.is_a?(Hash) || v.is_a?(Array) ? v.inspect : v.to_s)]) %>
5
+ <% end -%>
6
+ * <%= raw("%-*s: %s" % [max, 'Process', $$]) %>
7
+ * <%= raw("%-*s: %s" % [max, 'Server', `hostname -s`.chomp]) %>
@@ -0,0 +1,4 @@
1
+ * URL : <%= raw @request.url %>
2
+ * IP address: <%= raw @request.remote_ip %>
3
+ * Parameters: <%= raw @request.filtered_parameters.inspect %>
4
+ * Rails root: <%= raw Rails.root %>
@@ -0,0 +1,2 @@
1
+ * session id: <%= raw @request.session['session_id'].inspect.html_safe %>
2
+ * data: <%= raw @request.session.inspect -%>
@@ -0,0 +1,24 @@
1
+ <% if @kontroller -%>
2
+ A <%= @exception.class %> occurred in <%= @kontroller.controller_name %>#<%= @kontroller.action_name %>:
3
+ <% end -%>
4
+ <%= raw @exception.backtrace.first %>
5
+
6
+ -------------------------------
7
+ : Request
8
+ -------------------------------
9
+ <%= render 'request' -%>
10
+
11
+ -------------------------------
12
+ : Session
13
+ -------------------------------
14
+ <%= render 'session' -%>
15
+
16
+ -------------------------------
17
+ : Environment
18
+ -------------------------------
19
+ <%= render 'environment' -%>
20
+
21
+ -------------------------------
22
+ : Trace
23
+ -------------------------------
24
+ <%= raw @exception.backtrace.join("\n") -%>
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: exception-alarm
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 1.0.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -13,7 +13,7 @@ date: 2012-04-06 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rails
16
- requirement: &76730070 !ruby/object:Gem::Requirement
16
+ requirement: &72956420 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
@@ -21,7 +21,7 @@ dependencies:
21
21
  version: '3.1'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *76730070
24
+ version_requirements: *72956420
25
25
  description: Send email on exception
26
26
  email:
27
27
  - vakhov@gmail.com
@@ -35,13 +35,16 @@ files:
35
35
  - LICENSE
36
36
  - README.md
37
37
  - Rakefile
38
- - app/views/exception_alarm/notifier/alarm.txt.erb
39
38
  - exception-alarm.gemspec
40
39
  - lib/exception-alarm.rb
41
40
  - lib/exception_alarm/engine.rb
41
+ - lib/exception_alarm/mailer.rb
42
42
  - lib/exception_alarm/middleware.rb
43
- - lib/exception_alarm/notifier.rb
44
43
  - lib/exception_alarm/version.rb
44
+ - lib/exception_alarm/views/mailer/_environment.text.erb
45
+ - lib/exception_alarm/views/mailer/_request.text.erb
46
+ - lib/exception_alarm/views/mailer/_session.text.erb
47
+ - lib/exception_alarm/views/mailer/alarm.text.erb
45
48
  homepage: ''
46
49
  licenses: []
47
50
  post_install_message:
@@ -56,7 +59,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
56
59
  version: '0'
57
60
  segments:
58
61
  - 0
59
- hash: -455781487
62
+ hash: -647038065
60
63
  required_rubygems_version: !ruby/object:Gem::Requirement
61
64
  none: false
62
65
  requirements:
@@ -65,7 +68,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
65
68
  version: '0'
66
69
  segments:
67
70
  - 0
68
- hash: -455781487
71
+ hash: -647038065
69
72
  requirements: []
70
73
  rubyforge_project:
71
74
  rubygems_version: 1.8.11
@@ -1,2 +0,0 @@
1
- <%= raw @exception.message %>
2
- <%= raw @exception.backtrace.first %>