sus 0.22.0 → 0.22.1
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/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 +3 -3
- 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: d98d9db638357180f67cf8eb50386e099d8ec38adf112fe86bbddd950faa2bb6
|
4
|
+
data.tar.gz: b26ceb6e7fabd8817ffa6c033bdbe9216b7656efea458d0c23f6783a8fc8c9ed
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ed2b150dd585fd0f3f71c3ee5c21067be8989145b96bf8c7eb2606eae7bd7b9b33c0bbec5c2c6a9c83d6ece774fc6539c53d7e5e8e5c1201c2c191862648db35
|
7
|
+
data.tar.gz: e1103fa59201767edbcae235d05e49515b763eeb28fa92d117bd1a97aff0e34644a6b3f9eea2b2b493248965e3ad57d861f1ca329c60d0ed63065a9e1bc861f2
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
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.1
|
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:
|
@@ -121,7 +121,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
121
121
|
- !ruby/object:Gem::Version
|
122
122
|
version: '0'
|
123
123
|
requirements: []
|
124
|
-
rubygems_version: 3.4.
|
124
|
+
rubygems_version: 3.4.7
|
125
125
|
signing_key:
|
126
126
|
specification_version: 4
|
127
127
|
summary: A fast and scalable test runner.
|
metadata.gz.sig
CHANGED
Binary file
|