sus 0.22.0 → 0.22.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data/lib/sus/config.rb +1 -3
- data/lib/sus/identity.rb +4 -0
- data/lib/sus/output/backtrace.rb +34 -12
- data/lib/sus/version.rb +1 -1
- data.tar.gz.sig +0 -0
- metadata +2 -2
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c70a977a33735903d76e45646448e680ad8c296d5a78b82c8cb06d597f79764b
|
4
|
+
data.tar.gz: 724ed6df638cc6871340b0f716f1a30f5c02952fb915889f31666c56f03d3c7d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 74683ea93689e366705fa06bd54f179901fe6b6c275c8898c5e4def4efba00f27f6bc0d4ec1931546efadaa0478a47a1a19c16f6a8635f3859eee340a05d2383
|
7
|
+
data.tar.gz: dc51defc2fd29cd488037fae3411ccddd93c58d9a124264ba03bb4369253aec2721ea4f3b62c863ff853a83d7a250aec6c22e3daa4d68baeb69d211b27c408b1
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data/lib/sus/config.rb
CHANGED
data/lib/sus/identity.rb
CHANGED
@@ -15,6 +15,10 @@ module Sus
|
|
15
15
|
self.new(location.path, name, location.lineno, parent, **options)
|
16
16
|
end
|
17
17
|
|
18
|
+
def self.current
|
19
|
+
self.nested(nil, nil, caller_locations(1...2).first)
|
20
|
+
end
|
21
|
+
|
18
22
|
# @parameter unique [Boolean | Symbol] Whether this identity is unique or needs a unique key/line number suffix.
|
19
23
|
def initialize(path, name = nil, line = nil, parent = nil, unique: true)
|
20
24
|
@path = path
|
data/lib/sus/output/backtrace.rb
CHANGED
@@ -15,7 +15,7 @@ module Sus
|
|
15
15
|
def self.for(exception, identity = nil)
|
16
16
|
# I've disabled the root filter here, because partial backtraces are not very useful.
|
17
17
|
# We might want to do something to improve presentation of the backtrace based on the root instead.
|
18
|
-
self.new(exception.backtrace_locations
|
18
|
+
self.new(exception.backtrace_locations, identity&.path)
|
19
19
|
end
|
20
20
|
|
21
21
|
def initialize(stack, root = nil, limit = nil)
|
@@ -24,20 +24,26 @@ module Sus
|
|
24
24
|
@limit = limit
|
25
25
|
end
|
26
26
|
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
27
|
+
attr :stack
|
28
|
+
attr :root
|
29
|
+
attr :limit
|
30
|
+
|
31
|
+
def filter(root: @root, limit: @limit)
|
32
|
+
if root
|
33
|
+
if limit
|
34
|
+
return @stack.lazy.select do |frame|
|
35
|
+
frame.path.start_with?(root)
|
36
|
+
end.first(limit)
|
37
|
+
else
|
38
|
+
return up_to_and_matching(@stack) do |frame|
|
39
|
+
frame.path.start_with?(root)
|
40
|
+
end
|
31
41
|
end
|
42
|
+
elsif limit
|
43
|
+
return @stack.first(limit)
|
32
44
|
else
|
33
|
-
|
45
|
+
return @stack
|
34
46
|
end
|
35
|
-
|
36
|
-
if @limit
|
37
|
-
stack = stack.take(@limit)
|
38
|
-
end
|
39
|
-
|
40
|
-
return stack
|
41
47
|
end
|
42
48
|
|
43
49
|
def print(output)
|
@@ -53,6 +59,22 @@ module Sus
|
|
53
59
|
end
|
54
60
|
end
|
55
61
|
end
|
62
|
+
|
63
|
+
private def up_to_and_matching(things, &block)
|
64
|
+
preface = true
|
65
|
+
things.select do |thing|
|
66
|
+
if preface
|
67
|
+
if yield(thing)
|
68
|
+
preface = false
|
69
|
+
end
|
70
|
+
true
|
71
|
+
elsif yield(thing)
|
72
|
+
true
|
73
|
+
else
|
74
|
+
false
|
75
|
+
end
|
76
|
+
end
|
77
|
+
end
|
56
78
|
end
|
57
79
|
end
|
58
80
|
end
|
data/lib/sus/version.rb
CHANGED
data.tar.gz.sig
CHANGED
Binary file
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sus
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.22.
|
4
|
+
version: 0.22.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Samuel Williams
|
@@ -38,7 +38,7 @@ cert_chain:
|
|
38
38
|
Q2K9NVun/S785AP05vKkXZEFYxqG6EW012U4oLcFl5MySFajYXRYbuUpH6AY+HP8
|
39
39
|
voD0MPg1DssDLKwXyt1eKD/+Fq0bFWhwVM/1XiAXL7lyYUyOq24KHgQ2Csg=
|
40
40
|
-----END CERTIFICATE-----
|
41
|
-
date: 2023-
|
41
|
+
date: 2023-08-01 00:00:00.000000000 Z
|
42
42
|
dependencies: []
|
43
43
|
description:
|
44
44
|
email:
|
metadata.gz.sig
CHANGED
Binary file
|