debug_exceptions_json 0.2.2 → 0.2.3
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.
- checksums.yaml +4 -4
- data/lib/debug_exceptions_json/version.rb +1 -1
- data/lib/debug_exceptions_json.rb +25 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b6565ca44f804fa3055d8a6b183430ac62ef5c5f
|
4
|
+
data.tar.gz: 9715771e9ee32834b36f52a60800a3b55e488f90
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cd050012139c4b069088fb8c6f814a09461d4c9ad62e60a5694cffac1cdee6e4baedc27cee2fd0c53661561acbc795ed6bbc84efe7edea9092ae5f48bdc529d5
|
7
|
+
data.tar.gz: 1b5a6d6812fafe52ec0bc011f9875bf0bbf30c0bc203724d9acd50411c16834d91fc227bbb29aed76b5b8506af2a8fe1fa51f6e7bec98cae3090c29316179255
|
@@ -1,3 +1,6 @@
|
|
1
|
+
require 'active_support/deprecation'
|
2
|
+
require 'active_support/logger'
|
3
|
+
|
1
4
|
class DebugExceptionsJson
|
2
5
|
DEFAULT_BUILDER = -> (exception, env) {
|
3
6
|
[
|
@@ -33,6 +36,7 @@ class DebugExceptionsJson
|
|
33
36
|
raise exception unless show_exception?(env)
|
34
37
|
raise exception unless response_with_json?(env)
|
35
38
|
|
39
|
+
log_error(exception, env)
|
36
40
|
@response_builder.call(exception, env)
|
37
41
|
end
|
38
42
|
|
@@ -45,4 +49,25 @@ class DebugExceptionsJson
|
|
45
49
|
def response_with_json?(env)
|
46
50
|
env['HTTP_ACCEPT'] =~ /application\/json/
|
47
51
|
end
|
52
|
+
|
53
|
+
def log_error(exception, env)
|
54
|
+
binding.pry
|
55
|
+
logger = logger(env)
|
56
|
+
return unless logger
|
57
|
+
|
58
|
+
ActiveSupport::Deprecation.silence do
|
59
|
+
message = "\n#{exception.class} (#{exception.message}):\n"
|
60
|
+
message << exception.annoted_source_code.to_s if exception.respond_to?(:annoted_source_code)
|
61
|
+
message << " " << exception.backtrace.join("\n ")
|
62
|
+
logger.fatal("#{message}\n\n")
|
63
|
+
end
|
64
|
+
end
|
65
|
+
|
66
|
+
def logger(env)
|
67
|
+
env['action_dispatch.logger'] || stderr_logger
|
68
|
+
end
|
69
|
+
|
70
|
+
def stderr_logger
|
71
|
+
@stderr_logger ||= ActiveSupport::Logger.new($stderr)
|
72
|
+
end
|
48
73
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: debug_exceptions_json
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Taiki Ono
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-10-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|