runtimeerror_notifier 0.0.11 → 0.0.12

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,4 +1,6 @@
1
1
  require 'runtimeerror_notifier/notifier'
2
+ require 'runtimeerror_notifier/tracker'
3
+ require 'runtimeerror_notifier/railtie' if defined?(Rails::Railtie)
2
4
 
3
5
  module RuntimeerrorNotifier
4
6
  def self.for(*emails)
@@ -6,11 +8,13 @@ module RuntimeerrorNotifier
6
8
  if defined?(::Rails)
7
9
  ::Rails.application.config.middleware.insert 0, RuntimeerrorNotifier::Tracker
8
10
  end
11
+
9
12
  renderer_class = if defined?(::ActionDispatch::DebugExceptions)
10
13
  ::ActionDispatch::DebugExceptions
11
14
  elsif defined?(::ActionDispatch::ShowExceptions)
12
15
  ::ActionDispatch::ShowExceptions
13
16
  end
17
+
14
18
  if renderer_class
15
19
  renderer_class.class_eval do
16
20
  def render_exception_with_runtimeerror_notifier(env, exception)
@@ -25,16 +29,4 @@ module RuntimeerrorNotifier
25
29
  end
26
30
  end
27
31
  end
28
- class Tracker
29
- def initialize(app, options={})
30
- @app, @options = app, options
31
- end
32
-
33
- def call(env)
34
- @app.call(env)
35
- rescue Exception => ex
36
- RuntimeerrorNotifier::Notifier.notification(env, ex, @options)
37
- raise ex
38
- end
39
- end
40
32
  end
@@ -18,6 +18,7 @@ module RuntimeerrorNotifier
18
18
 
19
19
  def self.for(*emails)
20
20
  RECIPIENTS.push(*emails)
21
+ RECIPIENTS.reject!(&:empty?)
21
22
  RECIPIENTS.uniq!
22
23
  end
23
24
 
@@ -0,0 +1,9 @@
1
+ require 'rails'
2
+
3
+ module RuntimeerrorNotifier
4
+ class Railtie < ::Rails::Railtie
5
+ rake_tasks do
6
+ require 'runtimeerror_notifier/rake_handler'
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,32 @@
1
+ require 'rake'
2
+
3
+ module RuntimeerrorNotifier
4
+ module RakeHandler
5
+ def self.included(base)
6
+ base.class_eval do
7
+ alias_method :display_errors_without_runtimeerror, :display_error_message
8
+ alias_method :display_error_message, :display_errors_with_runtimeerror
9
+ end
10
+ end
11
+
12
+ def display_errors_with_runtimeerror(excp)
13
+ RuntimeerrorNotifier::Notifier.notification(environment_info, excp)
14
+ display_errors_without_runtimeerror(excp)
15
+ end
16
+
17
+ def environment_info
18
+ { component: 'rake', action: command_line_info, rake_env: ENV}
19
+ end
20
+
21
+ def command_line_info
22
+ ARGV.join(' ')
23
+ end
24
+ end
25
+ end
26
+
27
+ # Hook to capture rake errors
28
+ Rake.application.instance_eval do
29
+ class << self
30
+ include RuntimeerrorNotifier::RakeHandler
31
+ end
32
+ end
@@ -0,0 +1,14 @@
1
+ module RuntimeerrorNotifier
2
+ class Tracker
3
+ def initialize(app, options={})
4
+ @app, @options = app, options
5
+ end
6
+
7
+ def call(env)
8
+ @app.call(env)
9
+ rescue Exception => ex
10
+ RuntimeerrorNotifier::Notifier.notification(env, ex, @options)
11
+ raise ex
12
+ end
13
+ end
14
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: runtimeerror_notifier
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.11
4
+ version: 0.0.12
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -14,7 +14,7 @@ date: 2013-03-23 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: httparty
17
- requirement: &70298640717180 !ruby/object:Gem::Requirement
17
+ requirement: &70178578762780 !ruby/object:Gem::Requirement
18
18
  none: false
19
19
  requirements:
20
20
  - - ~>
@@ -22,10 +22,54 @@ dependencies:
22
22
  version: 0.10.0
23
23
  type: :runtime
24
24
  prerelease: false
25
- version_requirements: *70298640717180
25
+ version_requirements: *70178578762780
26
+ - !ruby/object:Gem::Dependency
27
+ name: activesupport
28
+ requirement: &70178578761400 !ruby/object:Gem::Requirement
29
+ none: false
30
+ requirements:
31
+ - - ! '>='
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: *70178578761400
37
+ - !ruby/object:Gem::Dependency
38
+ name: actionpack
39
+ requirement: &70178578760200 !ruby/object:Gem::Requirement
40
+ none: false
41
+ requirements:
42
+ - - ! '>='
43
+ - !ruby/object:Gem::Version
44
+ version: '0'
45
+ type: :runtime
46
+ prerelease: false
47
+ version_requirements: *70178578760200
48
+ - !ruby/object:Gem::Dependency
49
+ name: actionmailer
50
+ requirement: &70178578758740 !ruby/object:Gem::Requirement
51
+ none: false
52
+ requirements:
53
+ - - ! '>='
54
+ - !ruby/object:Gem::Version
55
+ version: '0'
56
+ type: :runtime
57
+ prerelease: false
58
+ version_requirements: *70178578758740
59
+ - !ruby/object:Gem::Dependency
60
+ name: rake
61
+ requirement: &70178578757440 !ruby/object:Gem::Requirement
62
+ none: false
63
+ requirements:
64
+ - - ! '>='
65
+ - !ruby/object:Gem::Version
66
+ version: '0'
67
+ type: :runtime
68
+ prerelease: false
69
+ version_requirements: *70178578757440
26
70
  - !ruby/object:Gem::Dependency
27
71
  name: rspec
28
- requirement: &70298640715220 !ruby/object:Gem::Requirement
72
+ requirement: &70178578756820 !ruby/object:Gem::Requirement
29
73
  none: false
30
74
  requirements:
31
75
  - - ~>
@@ -33,10 +77,10 @@ dependencies:
33
77
  version: 2.11.0
34
78
  type: :development
35
79
  prerelease: false
36
- version_requirements: *70298640715220
80
+ version_requirements: *70178578756820
37
81
  - !ruby/object:Gem::Dependency
38
82
  name: shoulda
39
- requirement: &70298640713640 !ruby/object:Gem::Requirement
83
+ requirement: &70178578756140 !ruby/object:Gem::Requirement
40
84
  none: false
41
85
  requirements:
42
86
  - - ~>
@@ -44,7 +88,18 @@ dependencies:
44
88
  version: 3.3.2
45
89
  type: :development
46
90
  prerelease: false
47
- version_requirements: *70298640713640
91
+ version_requirements: *70178578756140
92
+ - !ruby/object:Gem::Dependency
93
+ name: faker
94
+ requirement: &70178578754960 !ruby/object:Gem::Requirement
95
+ none: false
96
+ requirements:
97
+ - - ! '>='
98
+ - !ruby/object:Gem::Version
99
+ version: '0'
100
+ type: :development
101
+ prerelease: false
102
+ version_requirements: *70178578754960
48
103
  description: This gem installs the agent of RuntimeError.net to your application.
49
104
  It handles uncaught exceptions from your application and tightly integrates exceptions
50
105
  with your project management tool.
@@ -59,6 +114,9 @@ files:
59
114
  - lib/generators/runtimeerror_notifier/templates/initializer.rb
60
115
  - lib/runtimeerror_notifier/missing_controller.rb
61
116
  - lib/runtimeerror_notifier/notifier.rb
117
+ - lib/runtimeerror_notifier/railtie.rb
118
+ - lib/runtimeerror_notifier/rake_handler.rb
119
+ - lib/runtimeerror_notifier/tracker.rb
62
120
  - lib/runtimeerror_notifier.rb
63
121
  - templates/runtimeerror_notifier/_backtrace.html.erb
64
122
  - templates/runtimeerror_notifier/_environment.html.erb