sus 0.22.0 → 0.22.2
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
- 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
|