pretty_trace 0.0.1 → 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +70 -7
- data/lib/pretty_trace/formatter.rb +3 -7
- data/lib/pretty_trace/version.rb +1 -1
- 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: 579685ff281ef135925131b6f4e3c08a8e5d9072
|
4
|
+
data.tar.gz: 75179399e4b8548338bfe95ca77392374bae5397
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ef62bb07f161ce52abc03b6f68ee7ae08de4c8306aba1a5c2562cfdcac5f9494aeb7ccad487201cd8e5826fa94477cb1c3de7ec57898fa0a1a9436597ba71c05
|
7
|
+
data.tar.gz: 8aa643e2e3380994e7c759d6271e3d8244e1f5134f9ae2303a35568d3a56c55dd1249bbd19595c60594c7f08e80d4ec4026967aa15afa68018dacd869d83aab5
|
data/README.md
CHANGED
@@ -1,17 +1,35 @@
|
|
1
1
|
Pretty Trace - Pretty Errors and Backtrace
|
2
2
|
==================================================
|
3
3
|
|
4
|
-
|
4
|
+
[![Gem](https://img.shields.io/gem/v/pretty_trace.svg?style=flat-square)](https://rubygems.org/gems/pretty_trace)
|
5
|
+
[![Travis](https://img.shields.io/travis/DannyBen/pretty_trace.svg?style=flat-square)](https://travis-ci.org/DannyBen/pretty_trace)
|
6
|
+
[![Code Climate](https://img.shields.io/codeclimate/github/DannyBen/pretty_trace.svg?style=flat-square)](https://codeclimate.com/github/DannyBen/pretty_trace)
|
7
|
+
[![Gemnasium](https://img.shields.io/gemnasium/DannyBen/pretty_trace.svg?style=flat-square)](https://gemnasium.com/DannyBen/pretty_trace)
|
8
|
+
|
9
|
+
---
|
10
|
+
|
11
|
+
Make your Ruby backtrace pretty again. Just require `pretty_trace/enable`
|
12
|
+
in your ruby script, and errors will become clearer and more readable.
|
13
|
+
|
14
|
+
---
|
5
15
|
|
6
16
|
Install
|
7
17
|
--------------------------------------------------
|
8
18
|
|
9
|
-
|
19
|
+
```
|
20
|
+
$ gem install pretty_trace
|
21
|
+
```
|
22
|
+
|
23
|
+
Or with bundler:
|
24
|
+
|
25
|
+
```
|
26
|
+
$ gem 'pretty_trace', require: 'pretty_trace/enable'
|
27
|
+
```
|
10
28
|
|
11
29
|
Example
|
12
30
|
--------------------------------------------------
|
13
31
|
|
14
|
-
|
32
|
+
### Create this ruby file:
|
15
33
|
|
16
34
|
```ruby
|
17
35
|
# test.rb
|
@@ -20,15 +38,60 @@ require "fileutils"
|
|
20
38
|
FileUtils.rm 'no_such_file'
|
21
39
|
```
|
22
40
|
|
23
|
-
|
41
|
+
### Run it:
|
24
42
|
|
25
|
-
|
43
|
+
![screenshot](/screenshot.png)
|
26
44
|
|
27
|
-
3. Get a pretty exception
|
28
45
|
|
29
|
-
|
46
|
+
Usage
|
47
|
+
--------------------------------------------------
|
48
|
+
|
49
|
+
The easiest way to use Pretty Trace is to require its activation script in
|
50
|
+
your script:
|
30
51
|
|
52
|
+
```ruby
|
53
|
+
require 'pretty_trace/enable'
|
54
|
+
```
|
31
55
|
|
56
|
+
From this point on, any exception will be formatted.
|
32
57
|
|
58
|
+
If you prefer to enable/disable the formatted backtrace manually, use
|
59
|
+
`PrettyTrace.enable` and `PrettyTrace.disable`
|
60
|
+
|
61
|
+
```ruby
|
62
|
+
require 'pretty_trace'
|
33
63
|
|
64
|
+
# Exceptions here will not be formatted
|
34
65
|
|
66
|
+
PrettyTrace.enable
|
67
|
+
|
68
|
+
# Exceptions here will be formatted
|
69
|
+
|
70
|
+
PrettyTrace.disable
|
71
|
+
|
72
|
+
# Exceptions here will not be formatted
|
73
|
+
```
|
74
|
+
|
75
|
+
|
76
|
+
Configuration
|
77
|
+
--------------------------------------------------
|
78
|
+
|
79
|
+
To filter out lines in the backtrace, use `PrettyTrace.filter`. This method
|
80
|
+
accepts a single regular expression, or an array of regular expressions.
|
81
|
+
|
82
|
+
Note that you can call this method several times, and it will aggregate all
|
83
|
+
your filters together.
|
84
|
+
|
85
|
+
```ruby
|
86
|
+
require 'pretty_trace/enable'
|
87
|
+
PrettyTrace.filter /rails/
|
88
|
+
PrettyTrace.filter [/gem/, /lib/]
|
89
|
+
```
|
90
|
+
|
91
|
+
If you wish to temporarily disable Pretty Trace (for example, when you need
|
92
|
+
to see the full trace paths), you can set the environment variable
|
93
|
+
`PRETTY_TRACE=off` before running your script:
|
94
|
+
|
95
|
+
```
|
96
|
+
$ PRETTY_TRACE=off ruby myscript.rb
|
97
|
+
```
|
@@ -1,5 +1,3 @@
|
|
1
|
-
require 'ostruct'
|
2
|
-
|
3
1
|
module PrettyTrace
|
4
2
|
class Formatter
|
5
3
|
def self.pretty_trace(backtrace, opts={})
|
@@ -11,12 +9,12 @@ module PrettyTrace
|
|
11
9
|
end
|
12
10
|
|
13
11
|
backtrace.map! do |item|
|
14
|
-
if item =~ /(.+):(
|
12
|
+
if item =~ /(.+):(-?\d+):in `(.+)'/
|
15
13
|
file, line, method = $1, $2, $3
|
16
14
|
dir = File.dirname(file).split('/').last
|
17
15
|
dir = dir == '.' ? '' : "#{dir}/"
|
18
|
-
|
19
16
|
file = File.basename file
|
17
|
+
|
20
18
|
item = "line %{green}#{line.to_s.ljust 4}%{reset} in %{cyan}#{dir}%{magenta}#{file}%{reset} > %{blue}#{method}%{reset}" % colors
|
21
19
|
end
|
22
20
|
item
|
@@ -25,8 +23,6 @@ module PrettyTrace
|
|
25
23
|
backtrace
|
26
24
|
end
|
27
25
|
|
28
|
-
private
|
29
|
-
|
30
26
|
def self.colors
|
31
27
|
{
|
32
28
|
reset: "\e[0m",
|
@@ -41,4 +37,4 @@ module PrettyTrace
|
|
41
37
|
}
|
42
38
|
end
|
43
39
|
end
|
44
|
-
end
|
40
|
+
end
|
data/lib/pretty_trace/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pretty_trace
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
4
|
+
version: 0.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Danny Ben Shitrit
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-09-
|
11
|
+
date: 2017-09-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: runfile
|