appygram-rails 1.0.3 → 1.0.4

Sign up to get free protection for your applications and to get access to all the features.
@@ -8,20 +8,22 @@ module Rack
8
8
  @app = app
9
9
  end
10
10
 
11
+ def handle_with_controller(exception, controller, request)
12
+ unless ::AppygramRails.ignores_exception_class? exception
13
+ ::AppygramRails::Catcher.handle_with_controller(e,env['action_controller.instance'], Rack::Request.new(env))
14
+ end
15
+ end
16
+
11
17
  def call(env)
12
18
  begin
13
19
  body = @app.call(env)
14
20
  rescue Exception => e
15
- unless e.is_a? ActionController::RoutingError
16
- ::AppygramRails::Catcher.handle_with_controller(e,env['action_controller.instance'], Rack::Request.new(env))
17
- end
21
+ handle_with_controller(e,env['action_controller.instance'], Rack::Request.new(env))
18
22
  raise
19
23
  end
20
24
 
21
25
  if env['rack.exception']
22
- unless env['rack.exception'].is_a? ActionController::RoutingError
23
- ::AppygramRails::Catcher.handle_with_controller(env['rack.exception'],env['action_controller.instance'], Rack::Request.new(env))
24
- end
26
+ handle_with_controller(env['rack.exception'],env['action_controller.instance'], Rack::Request.new(env))
25
27
  end
26
28
 
27
29
  body
@@ -1,3 +1,3 @@
1
1
  module AppygramRails
2
- VERSION = '1.0.3'
2
+ VERSION = '1.0.4'
3
3
  end
@@ -12,4 +12,30 @@ module AppygramRails
12
12
 
13
13
  end
14
14
 
15
+ @@ignored_classes = [
16
+ 'ActiveRecord::RecordNotFound',
17
+ 'ActiveController::RoutingException'
18
+ ]
19
+
20
+ class << self
21
+
22
+ def report_all_exceptions!
23
+ @@ignored_classes = []
24
+ end
25
+
26
+ def ignore_exception_class_name!(k)
27
+ @@ignored_classes << k
28
+ end
29
+
30
+ def ignores_exception_class?(exception)
31
+ @@ignored_classes.each do |k|
32
+ if exception.class.name == k
33
+ return true
34
+ end
35
+ end
36
+ false
37
+ end
38
+
39
+ end
40
+
15
41
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: appygram-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.3
4
+ version: 1.0.4
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-11-14 00:00:00.000000000 Z
12
+ date: 2012-11-15 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: appygram
16
- requirement: &70186041638940 !ruby/object:Gem::Requirement
16
+ requirement: &70136912887380 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
@@ -24,10 +24,10 @@ dependencies:
24
24
  version: 1.0.3
25
25
  type: :runtime
26
26
  prerelease: false
27
- version_requirements: *70186041638940
27
+ version_requirements: *70136912887380
28
28
  - !ruby/object:Gem::Dependency
29
29
  name: rack
30
- requirement: &70186041638260 !ruby/object:Gem::Requirement
30
+ requirement: &70136912885960 !ruby/object:Gem::Requirement
31
31
  none: false
32
32
  requirements:
33
33
  - - ! '>='
@@ -35,7 +35,7 @@ dependencies:
35
35
  version: '0'
36
36
  type: :runtime
37
37
  prerelease: false
38
- version_requirements: *70186041638260
38
+ version_requirements: *70136912885960
39
39
  description: appygram-rails sends uncaught Rails exceptions as traces to the hosted
40
40
  messaging service at http://www.appygram.com
41
41
  email: