exception_details 0.0.2 → 0.0.3
Sign up to get free protection for your applications and to get access to all the features.
data/README.md
CHANGED
@@ -14,7 +14,7 @@ Features/benefits:
|
|
14
14
|
|
15
15
|
* A single statement method for a loggable string (avoid repeating exception log string creation)
|
16
16
|
|
17
|
-
* Get Pry like debug knowledge from cron job errors and running
|
17
|
+
* Get Pry like debug knowledge from cron job errors and running systems from the log, without being there.
|
18
18
|
|
19
19
|
* Pry type information with less overhead/dependencies--binding_of_caller is the only dependency.
|
20
20
|
|
@@ -24,7 +24,7 @@ Features/benefits:
|
|
24
24
|
begin
|
25
25
|
greeting = 'hello'
|
26
26
|
@name = nil
|
27
|
-
puts greeting + name
|
27
|
+
puts greeting + @name
|
28
28
|
rescue Exception => e
|
29
29
|
puts e.details
|
30
30
|
puts e.inspect_variables
|
@@ -34,11 +34,11 @@ Features/benefits:
|
|
34
34
|
e.details ->
|
35
35
|
|
36
36
|
Exception:
|
37
|
-
can't convert nil into String
|
37
|
+
TypeError: can't convert nil into String
|
38
38
|
Variables:
|
39
|
-
<String> greeting
|
40
|
-
<
|
41
|
-
|
39
|
+
<String> greeting = "hello"
|
40
|
+
<NilClass> @name = nil
|
41
|
+
|
42
42
|
Backtrace:
|
43
43
|
/Users/someguy/apps/exception_details/spec/exception_details_spec.rb:20:in `+'
|
44
44
|
/Users/someguy/apps/exception_details/spec/exception_details_spec.rb:20:in `block (3 levels) in <top (required)>'
|
@@ -25,7 +25,7 @@ class Exception
|
|
25
25
|
inspect_results = inspect_variables(options)
|
26
26
|
parts = []
|
27
27
|
parts << (options[:colorize] ? red('Exception:') : 'Exception:')
|
28
|
-
parts << "\t" + message
|
28
|
+
parts << "\t" + "#{self.class.name}: #{message}"
|
29
29
|
parts << (options[:colorize] ? red('Variables:') : 'Variables:')
|
30
30
|
parts << inspect_results
|
31
31
|
parts << (options[:colorize] ? red('Backtrace:') : 'Backtrace:')
|
@@ -19,8 +19,10 @@ module ExceptionDetails
|
|
19
19
|
variable_names = target_binding.eval(variable_scope.to_s)
|
20
20
|
variable_names.each do |vname|
|
21
21
|
value = target_binding.eval(vname.to_s)
|
22
|
-
variable_value_string = "\t<#{value.class}> #{vname}
|
23
|
-
|
22
|
+
variable_value_string = "\t" + sprintf("%-35s = %s", "<#{value.class}> #{vname}", value.inspect)
|
23
|
+
unless value == self # don't list the exception itself ...
|
24
|
+
variable_strings << variable_value_string
|
25
|
+
end
|
24
26
|
end
|
25
27
|
end
|
26
28
|
variable_strings.sort
|
@@ -11,6 +11,7 @@ describe "ExceptionDetails" do
|
|
11
11
|
end
|
12
12
|
|
13
13
|
context ".details" do
|
14
|
+
|
14
15
|
it "should provide exception details method with back trace" do
|
15
16
|
@e.details.include?('.rb').should be_true
|
16
17
|
end
|
@@ -52,7 +53,7 @@ describe "ExceptionDetails" do
|
|
52
53
|
|
53
54
|
it "should be available on grandchild subclasses" do
|
54
55
|
begin
|
55
|
-
# cause an
|
56
|
+
# cause an argument error
|
56
57
|
should_be_in_output = true
|
57
58
|
"UP".downcase("", "")
|
58
59
|
rescue Exception => e
|
@@ -61,15 +62,16 @@ describe "ExceptionDetails" do
|
|
61
62
|
end
|
62
63
|
end
|
63
64
|
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
65
|
+
|
66
|
+
it "should capture a binding for NameError" do
|
67
|
+
pending "Need to investigate why NameError won't capture a binding (any takers?)"
|
68
|
+
begin
|
69
|
+
reality_check = true
|
70
|
+
'hello' + made_up_variable
|
71
|
+
rescue Exception => e
|
72
|
+
p e.inspect
|
73
|
+
e.binding_during_exception.should be_an_instance_of Binding
|
74
|
+
e.inspect_variables.include?("reality_check").should be_true
|
73
75
|
end
|
74
76
|
end
|
75
77
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: exception_details
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-07-
|
12
|
+
date: 2013-07-15 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: bundler
|