exception-alarm 0.1.0 → 1.0.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/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 %>