piggly 2.2.4 → 2.3.0
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
- data/lib/piggly/dumper/qualified_type.rb +8 -4
- data/lib/piggly/reporter/index.rb +1 -0
- data/lib/piggly/reporter/procedure.rb +22 -15
- data/lib/piggly/reporter/resources/highlight.js +17 -0
- data/lib/piggly/reporter/resources/piggly.css +57 -23
- data/lib/piggly/version.rb +3 -3
- 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: 175262d0310c2392a9dbff13eb183eeddd5c647b
|
4
|
+
data.tar.gz: 2acb41d50d60c228d3ed37007b195f07ed414aa4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d7c256d66313af55b98d2f1068ed12165dd7a0b4f2decefabb21d775d23299a614a2ca58e3c4eb40733b1c72068b66b33e088b42428b23699566585db940e107
|
7
|
+
data.tar.gz: 8fb2c3751afebf4f5bfe4e6fa8dbedb849d72c1557e236a1da6724779a1901dead7b708775c335197431727b3d8a20e7d988bf52a05c4f4efa2dcfd60cdaf435
|
@@ -28,7 +28,7 @@ module Piggly
|
|
28
28
|
if rest.to_s == ""
|
29
29
|
schema = nil
|
30
30
|
else
|
31
|
-
schema = name
|
31
|
+
schema = unquote(name)
|
32
32
|
name = rest
|
33
33
|
end
|
34
34
|
|
@@ -43,15 +43,19 @@ module Piggly
|
|
43
43
|
if schema.to_s == ""
|
44
44
|
fst, snd = name.split(".", 2)
|
45
45
|
if snd.nil?
|
46
|
-
new(nil, fst, array)
|
46
|
+
new(nil, unquote(fst), array)
|
47
47
|
else
|
48
|
-
new(fst, snd, array)
|
48
|
+
new(unquote(fst), unquote(snd), array)
|
49
49
|
end
|
50
50
|
else
|
51
|
-
new(schema, name, array)
|
51
|
+
new(schema, unquote(name), array)
|
52
52
|
end
|
53
53
|
end
|
54
54
|
|
55
|
+
def self.unquote(s)
|
56
|
+
s[/^"(.*)"$/, 1] || s
|
57
|
+
end
|
58
|
+
|
55
59
|
def initialize(schema, name, array)
|
56
60
|
@schema, @name, @array = schema, name, array
|
57
61
|
end
|
@@ -14,6 +14,7 @@ module Piggly
|
|
14
14
|
tag :html do
|
15
15
|
tag :head do
|
16
16
|
tag :title, "Piggly PL/pgSQL Code Coverage"
|
17
|
+
tag :meta, :charset => "utf-8"
|
17
18
|
tag :link, :rel => "stylesheet", :type => "text/css", :href => "piggly.css"
|
18
19
|
tag :script, "<!-- -->", :type => "text/javascript", :src => "sortable.js"
|
19
20
|
end
|
@@ -18,30 +18,37 @@ module Piggly
|
|
18
18
|
tag :html, :xmlns => "http://www.w3.org/1999/xhtml" do
|
19
19
|
tag :head do
|
20
20
|
tag :title, "Code Coverage: #{procedure.name}"
|
21
|
+
tag :meta, :charset => "utf-8"
|
21
22
|
tag :link, :rel => "stylesheet", :type => "text/css", :href => "piggly.css"
|
22
23
|
tag :script, "<!-- -->", :type => "text/javascript", :src => "highlight.js"
|
23
24
|
end
|
24
25
|
|
25
26
|
tag :body do
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
tag :table do
|
30
|
-
tag :tr do
|
31
|
-
tag :td, " ", :class => "signature"
|
32
|
-
tag :td, signature(procedure), :class => "signature"
|
33
|
-
end
|
27
|
+
tag :div, :class => "header" do
|
28
|
+
aggregate(procedure.name, @profile.summary(procedure))
|
29
|
+
end
|
34
30
|
|
35
|
-
|
36
|
-
|
37
|
-
|
31
|
+
tag :div, :class => "container" do
|
32
|
+
tag :div, :class => "listing" do
|
33
|
+
tag :table do
|
34
|
+
tag :tr do
|
35
|
+
tag :td, " ", :class => "signature"
|
36
|
+
tag :td, signature(procedure), :class => "signature"
|
37
|
+
end
|
38
|
+
|
39
|
+
tag :tr do
|
40
|
+
tag :td, data[:lines].to_a.map{|n| %[<a href="#L#{n}" id="L#{n}">#{n}</a>] }.join("\n"), :class => "lines"
|
41
|
+
tag :td, data[:html], :class => "code"
|
42
|
+
end
|
38
43
|
end
|
39
44
|
end
|
40
|
-
end
|
41
45
|
|
42
|
-
|
46
|
+
toc(@profile[procedure])
|
47
|
+
end
|
43
48
|
|
44
49
|
timestamp
|
50
|
+
|
51
|
+
tag :a, "Return to index", :href => "index.html", :class => "return"
|
45
52
|
end
|
46
53
|
end
|
47
54
|
end
|
@@ -95,9 +102,9 @@ module Piggly
|
|
95
102
|
|
96
103
|
def toc(tags)
|
97
104
|
todo = tags.reject{|t| t.complete? }
|
98
|
-
|
105
|
+
|
99
106
|
tag :div, :class => 'toc' do
|
100
|
-
tag :
|
107
|
+
tag :strong, 'Notes'
|
101
108
|
|
102
109
|
tag :ol do
|
103
110
|
todo.each do |t|
|
@@ -19,3 +19,20 @@ function unhighlight(id, bg) {
|
|
19
19
|
var el = document.getElementById(id);
|
20
20
|
if (el) { el.style.backgroundColor = bg; }
|
21
21
|
}
|
22
|
+
|
23
|
+
document.addEventListener('DOMContentLoaded', function() {
|
24
|
+
var toc = document.getElementsByClassName('toc');
|
25
|
+
var lis = document.getElementsByClassName('listing');
|
26
|
+
if (toc.length != 1 || lis.length != 1)
|
27
|
+
return;
|
28
|
+
|
29
|
+
window.onscroll = function() {
|
30
|
+
if (lis[0].getBoundingClientRect().y <= 0) {
|
31
|
+
toc[0].classList.add('toc-fixed');
|
32
|
+
lis[0].classList.add('listing-fixed');
|
33
|
+
} else {
|
34
|
+
toc[0].classList.remove('toc-fixed');
|
35
|
+
lis[0].classList.remove('listing-fixed');
|
36
|
+
}
|
37
|
+
}
|
38
|
+
});
|
@@ -6,50 +6,84 @@ body
|
|
6
6
|
{
|
7
7
|
color: #000;
|
8
8
|
background-color: #fff;
|
9
|
-
|
9
|
+
margin: 50px;
|
10
10
|
}
|
11
11
|
|
12
12
|
a img { border: 0; }
|
13
13
|
|
14
|
-
|
14
|
+
.timestamp
|
15
15
|
{
|
16
16
|
clear: both;
|
17
17
|
font-family: "Consolas", "DejaVu Sans Mono", "Monaco", "Nimbus Mono L", "Courier New";
|
18
18
|
font-style: italic;
|
19
19
|
font-size: 9pt;
|
20
|
+
display: inline-block;
|
20
21
|
}
|
21
22
|
|
22
|
-
|
23
|
+
.return {
|
24
|
+
font-family: "Tahoma", "Trebuchet MS", "Arial", sans-serif;
|
25
|
+
font-size: 9pt;
|
26
|
+
font-weight: bold;
|
27
|
+
display: inline-block;
|
28
|
+
margin-left: 10px;
|
29
|
+
}
|
30
|
+
|
31
|
+
|
32
|
+
.container {
|
33
|
+
display: flex;
|
34
|
+
flex-direction: row;
|
35
|
+
flex-wrap: nowrap;
|
36
|
+
justify-content: space-between;
|
37
|
+
align-items: flex-start;
|
38
|
+
align-content: flex-start;
|
39
|
+
padding-bottom: 1rem;
|
40
|
+
}
|
41
|
+
|
42
|
+
.toc
|
23
43
|
{
|
24
|
-
width: 200px;
|
25
|
-
height: 150px;
|
26
|
-
border: 1px solid #c00;
|
27
|
-
background-color: #fdd;
|
28
|
-
padding: 5px;
|
29
|
-
position: fixed;
|
30
|
-
overflow: auto;
|
31
|
-
bottom: 10px;
|
32
|
-
right: 10px;
|
33
44
|
font-family: "Tahoma", "Trebuchet MS", "Arial", sans-serif;
|
45
|
+
order: 2;
|
46
|
+
flex-grow: 0;
|
47
|
+
flex-shrink: 0;
|
48
|
+
flex-basis: 180px;
|
49
|
+
padding-top: 10px;
|
50
|
+
padding-left: 10px;
|
51
|
+
}
|
52
|
+
|
53
|
+
.toc-fixed {
|
54
|
+
position: fixed;
|
55
|
+
width: 180px;
|
56
|
+
max-width: 180px;
|
57
|
+
top: 0;
|
58
|
+
right: 50px;
|
59
|
+
max-height: 100vh;
|
60
|
+
overflow-y: scroll;
|
34
61
|
}
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
62
|
+
.toc-fixed ol { padding-bottom: 2rem; }
|
63
|
+
.toc ol { margin-left: 1.6em; }
|
64
|
+
.toc a { color: #c00; }
|
65
|
+
.toc li { font-size: 90%; margin-bottom: 0.5rem; line-height: 1.0; }
|
66
|
+
/*
|
67
|
+
.toc li.branch { }
|
68
|
+
.toc li.block { }
|
69
|
+
.toc li.loop { }
|
70
|
+
*/
|
41
71
|
|
42
72
|
/* main container for line numbers and code */
|
43
|
-
|
73
|
+
.listing
|
44
74
|
{
|
45
75
|
background-color: #f9f9f9;
|
46
76
|
border: 1px solid silver;
|
47
|
-
|
48
|
-
|
77
|
+
overflow-x: auto;
|
78
|
+
order: 1;
|
79
|
+
flex-grow: 1;
|
80
|
+
flex-shrink: 1;
|
81
|
+
flex-basis: 100%;
|
49
82
|
}
|
83
|
+
.listing-fixed { margin-right: 190px; }
|
50
84
|
|
51
|
-
|
52
|
-
|
85
|
+
.listing table { border-collapse: collapse; }
|
86
|
+
.listing td.signature
|
53
87
|
{
|
54
88
|
vertical-align: top;
|
55
89
|
padding: 2px 4px;
|
data/lib/piggly/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: piggly
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kvle Putnam
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2018-04-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: treetop
|