graph 2.9.1 → 2.11.0
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/History.txt +19 -0
- data/bin/graph +5 -2
- data/gallery/ruby_exceptions.rb +1 -2
- data/lib/dep_analyzer.rb +4 -0
- data/lib/graph.rb +17 -1
- data/lib/homebrew_analyzer.rb +40 -3
- data/lib/rake_analyzer.rb +1 -2
- data/test/test_graph.rb +4 -0
- data.tar.gz.sig +2 -2
- metadata +16 -16
- 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: 9e3e77a037eb6a1d0590ecc38940bc5f043562af70e1cdf0f3ed1ab8c3c24634
|
4
|
+
data.tar.gz: a5682ec5e678f9330afc4c853132746398991118043ec295269ab724f32c30cf
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6a6736ea7c648eb10201c0c89ec7f5921a99c44e2efc142caf8bbe58ea2494ec5b71dc87c72aef39f572639693415b63590f36231d94a801d893206c012bda22
|
7
|
+
data.tar.gz: 573fd706cca92c52a0580fec4f18f0033bc17dbe9a6b223f0f00598fb2bc735781d6731492473dceafd379da6260bff740d86b6ae86662ceebe3f7d512d129dd
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data/History.txt
CHANGED
@@ -1,3 +1,22 @@
|
|
1
|
+
=== 2.11.0 / 2022-09-29
|
2
|
+
|
3
|
+
* 2 minor enhancements:
|
4
|
+
|
5
|
+
* Added -r to bin/graph to rotate the image 90 degrees.
|
6
|
+
* Trying to improve the output of dep_analyzer (rects + better coloring).
|
7
|
+
|
8
|
+
* 1 bug fix:
|
9
|
+
|
10
|
+
* Fixes for homebrew_analyzer to deal with homebrew changes / yet-more-bugs.
|
11
|
+
|
12
|
+
=== 2.10.0 / 2020-02-09
|
13
|
+
|
14
|
+
* 3 minor enhancements:
|
15
|
+
|
16
|
+
* Added compact! shortcut (rotate + boxes--good for code/text graphs).
|
17
|
+
* Added fontcolor shortcut.
|
18
|
+
* Improved homebrew analyzer to include outdated casks & added caching.
|
19
|
+
|
1
20
|
=== 2.9.1 / 2019-12-14
|
2
21
|
|
3
22
|
* 1 bug fix:
|
data/bin/graph
CHANGED
@@ -1,7 +1,8 @@
|
|
1
1
|
#!/usr/bin/env ruby -ws
|
2
2
|
|
3
|
-
$o ||= false
|
4
|
-
$d ||= false
|
3
|
+
$o ||= false # open after creating
|
4
|
+
$d ||= false # dot file only
|
5
|
+
$r ||= false # rotate 90°
|
5
6
|
|
6
7
|
type = ARGV.shift
|
7
8
|
unless type then
|
@@ -21,6 +22,8 @@ klass = Object.const_get name
|
|
21
22
|
analyzer = klass.new
|
22
23
|
graph = analyzer.run
|
23
24
|
|
25
|
+
graph.rotate if $r
|
26
|
+
|
24
27
|
huge = graph.nodes.size + graph.edges.size > 500
|
25
28
|
ext = $d ? nil : huge ? "pdf" : "png"
|
26
29
|
|
data/gallery/ruby_exceptions.rb
CHANGED
data/lib/dep_analyzer.rb
CHANGED
@@ -170,16 +170,20 @@ class DepAnalyzer < Cache
|
|
170
170
|
ports[port] = deps
|
171
171
|
end
|
172
172
|
|
173
|
+
rect = g.rect
|
173
174
|
blue = g.color "blue"
|
174
175
|
purple = g.color "purple4"
|
175
176
|
red = g.color "red"
|
177
|
+
pink = g.fill_lightpink
|
176
178
|
|
177
179
|
indies = ports.keys - ports.minvert.keys
|
178
180
|
indies.each do |k|
|
181
|
+
rect << g[k]
|
179
182
|
blue << g[k]
|
180
183
|
end
|
181
184
|
|
182
185
|
old.each do |k,v|
|
186
|
+
pink << g[k]
|
183
187
|
if indies.include? k then
|
184
188
|
purple << g[k]
|
185
189
|
else
|
data/lib/graph.rb
CHANGED
@@ -7,7 +7,7 @@ require "enumerator"
|
|
7
7
|
# dot format.
|
8
8
|
|
9
9
|
class Graph
|
10
|
-
VERSION = "2.
|
10
|
+
VERSION = "2.11.0" # :nodoc:
|
11
11
|
|
12
12
|
# :stopdoc:
|
13
13
|
|
@@ -292,6 +292,13 @@ class Graph
|
|
292
292
|
Attribute.new "fontname = %p" % [name]
|
293
293
|
end
|
294
294
|
|
295
|
+
##
|
296
|
+
# Shortcut method to create a new fontcolor Attribute instance.
|
297
|
+
|
298
|
+
def fontcolor name
|
299
|
+
Attribute.new "fontcolor = %p" % [name]
|
300
|
+
end
|
301
|
+
|
295
302
|
##
|
296
303
|
# Shortcut method to create a new fontsize Attribute instance.
|
297
304
|
|
@@ -339,6 +346,15 @@ class Graph
|
|
339
346
|
orient dir
|
340
347
|
end
|
341
348
|
|
349
|
+
##
|
350
|
+
# Shortcut method to rotate and use boxes. Helps compact when there
|
351
|
+
# is lots of long text nodes.
|
352
|
+
|
353
|
+
def compact!
|
354
|
+
rotate
|
355
|
+
boxes
|
356
|
+
end
|
357
|
+
|
342
358
|
##
|
343
359
|
# Saves out both a dot file to path and an image for the specified type.
|
344
360
|
# Specify type as nil to skip exporting an image.
|
data/lib/homebrew_analyzer.rb
CHANGED
@@ -3,19 +3,56 @@ require 'dep_analyzer'
|
|
3
3
|
# :stopdoc:
|
4
4
|
|
5
5
|
class HomebrewAnalyzer < DepAnalyzer
|
6
|
+
SHH = "2> /dev/null"
|
7
|
+
|
8
|
+
attr_accessor :casks
|
9
|
+
|
6
10
|
def installed
|
7
11
|
# don't cache so it updates every delete
|
8
12
|
puts "scanning installed ports"
|
9
|
-
`brew list
|
13
|
+
ports = normal `brew list #{SHH}`
|
14
|
+
puts "scanning installed casks"
|
15
|
+
self.casks = normal `brew list --cask #{SHH}`
|
16
|
+
ports + casks
|
10
17
|
end
|
11
18
|
|
12
19
|
def outdated
|
13
20
|
# don't cache so it updates every delete
|
14
21
|
puts "scanning outdated ports"
|
15
|
-
`brew outdated
|
22
|
+
ports = normal `brew outdated #{SHH}`
|
23
|
+
puts "scanning outdated casks"
|
24
|
+
casks = normal `brew outdated --cask #{SHH}`
|
25
|
+
ports + casks
|
26
|
+
end
|
27
|
+
|
28
|
+
def alldeps
|
29
|
+
# there's YET ANOTHER bug in homebrew whereby `brew deps -1
|
30
|
+
# --installed` output is painfully different from all other output:
|
31
|
+
#
|
32
|
+
# % brew deps -1 --for-each pango
|
33
|
+
# pango: cairo fontconfig freetype fribidi glib harfbuzz
|
34
|
+
# % brew deps -1 --installed | grep pango
|
35
|
+
# pango: cairo
|
36
|
+
|
37
|
+
@alldeps ||= begin
|
38
|
+
full_names = `brew list --full-name`.split
|
39
|
+
`brew deps -n1 --for-each #{full_names.join " "}`
|
40
|
+
.lines
|
41
|
+
.map { |l| k, *v = l.delete(":").split; [clean(k), v] }
|
42
|
+
.to_h
|
43
|
+
end
|
16
44
|
end
|
17
45
|
|
18
46
|
def deps port
|
19
|
-
|
47
|
+
return [] if @casks.include? port
|
48
|
+
alldeps[port] ||= `brew deps #{port}`.scan(/\S+/)
|
49
|
+
end
|
50
|
+
|
51
|
+
def normal lines
|
52
|
+
lines.split(/\n/).map { |s| clean s }
|
53
|
+
end
|
54
|
+
|
55
|
+
def clean name
|
56
|
+
name.split("/").last
|
20
57
|
end
|
21
58
|
end
|
data/lib/rake_analyzer.rb
CHANGED
data/test/test_graph.rb
CHANGED
@@ -69,6 +69,10 @@ class TestGraph < Minitest::Test
|
|
69
69
|
assert_attribute "fontsize", 12, graph.fontsize(12)
|
70
70
|
end
|
71
71
|
|
72
|
+
def test_font_color
|
73
|
+
assert_attribute "fontcolor", "white", graph.fontcolor("white")
|
74
|
+
end
|
75
|
+
|
72
76
|
def test_digraph
|
73
77
|
g = digraph do
|
74
78
|
edge "a", "b", "c"
|
data.tar.gz.sig
CHANGED
@@ -1,2 +1,2 @@
|
|
1
|
-
|
2
|
-
|
1
|
+
8d4;;����
|
2
|
+
8Q8IR��I�#8˓���{�ch���ĝ�9%x�~�x$��2lG�<�#G�k$�q3 �s���H�\l+K�j?Ǔ�O�ǖ:�JWj<a�y�I�!ֹB=Q�R��վʣ�ѝ<fҿ %� N�!����虝�y�G�(v����v��(����Ӱ�'�|v> u:��5\��<6t����p{<E���rg<�wX���H�K7�M��4l�j��RЅ��:Q��)o�e�v
|
metadata
CHANGED
@@ -1,18 +1,18 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: graph
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.11.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ryan Davis
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain:
|
11
11
|
- |
|
12
12
|
-----BEGIN CERTIFICATE-----
|
13
|
-
|
13
|
+
MIIDPjCCAiagAwIBAgIBBjANBgkqhkiG9w0BAQsFADBFMRMwEQYDVQQDDApyeWFu
|
14
14
|
ZC1ydWJ5MRkwFwYKCZImiZPyLGQBGRYJemVuc3BpZGVyMRMwEQYKCZImiZPyLGQB
|
15
|
-
|
15
|
+
GRYDY29tMB4XDTIxMTIyMzIzMTkwNFoXDTIyMTIyMzIzMTkwNFowRTETMBEGA1UE
|
16
16
|
AwwKcnlhbmQtcnVieTEZMBcGCgmSJomT8ixkARkWCXplbnNwaWRlcjETMBEGCgmS
|
17
17
|
JomT8ixkARkWA2NvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALda
|
18
18
|
b9DCgK+627gPJkB6XfjZ1itoOQvpqH1EXScSaba9/S2VF22VYQbXU1xQXL/WzCkx
|
@@ -22,14 +22,14 @@ cert_chain:
|
|
22
22
|
qhtV7HJxNKuPj/JFH0D2cswvzznE/a5FOYO68g+YCuFi5L8wZuuM8zzdwjrWHqSV
|
23
23
|
gBEfoTEGr7Zii72cx+sCAwEAAaM5MDcwCQYDVR0TBAIwADALBgNVHQ8EBAMCBLAw
|
24
24
|
HQYDVR0OBBYEFEfFe9md/r/tj/Wmwpy+MI8d9k/hMA0GCSqGSIb3DQEBCwUAA4IB
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
25
|
+
AQCKB5jfsuSnKb+t/Wrh3UpdkmX7TrEsjVmERC0pPqzQ5GQJgmEXDD7oMgaKXaAq
|
26
|
+
x2m+KSZDrqk7c8uho5OX6YMqg4KdxehfSLqqTZGoeV78qwf/jpPQZKTf+W9gUSJh
|
27
|
+
zsWpo4K50MP+QtdSbKXZwjAafpQ8hK0MnnZ/aeCsW9ov5vdXpYbf3dpg6ADXRGE7
|
28
|
+
lQY2y1tJ5/chqu6h7dQmnm2ABUqx9O+JcN9hbCYoA5i/EeubUEtFIh2w3SpO6YfB
|
29
|
+
JFmxn4h9YO/pVdB962BdBNNDia0kgIjI3ENnkLq0dKpYU3+F3KhEuTksLO0L6X/V
|
30
|
+
YsuyUzsMz6GQA4khyaMgKNSD
|
31
31
|
-----END CERTIFICATE-----
|
32
|
-
date:
|
32
|
+
date: 2022-09-29 00:00:00.000000000 Z
|
33
33
|
dependencies:
|
34
34
|
- !ruby/object:Gem::Dependency
|
35
35
|
name: rdoc
|
@@ -57,14 +57,14 @@ dependencies:
|
|
57
57
|
requirements:
|
58
58
|
- - "~>"
|
59
59
|
- !ruby/object:Gem::Version
|
60
|
-
version: '3.
|
60
|
+
version: '3.25'
|
61
61
|
type: :development
|
62
62
|
prerelease: false
|
63
63
|
version_requirements: !ruby/object:Gem::Requirement
|
64
64
|
requirements:
|
65
65
|
- - "~>"
|
66
66
|
- !ruby/object:Gem::Version
|
67
|
-
version: '3.
|
67
|
+
version: '3.25'
|
68
68
|
description: "Graph is a type of hash that outputs in graphviz's dot format. It\ncomes
|
69
69
|
with a command-line interface that is easily pluggable.\n\nIt ships with plugins
|
70
70
|
to graph dependencies and status of installed\nrubygems, rake tasks, homebrew ports,
|
@@ -109,7 +109,7 @@ licenses:
|
|
109
109
|
- MIT
|
110
110
|
metadata:
|
111
111
|
homepage_uri: https://github.com/seattlerb/graph
|
112
|
-
post_install_message:
|
112
|
+
post_install_message:
|
113
113
|
rdoc_options:
|
114
114
|
- "--main"
|
115
115
|
- README.txt
|
@@ -126,8 +126,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
126
126
|
- !ruby/object:Gem::Version
|
127
127
|
version: '0'
|
128
128
|
requirements: []
|
129
|
-
rubygems_version: 3.
|
130
|
-
signing_key:
|
129
|
+
rubygems_version: 3.3.12
|
130
|
+
signing_key:
|
131
131
|
specification_version: 4
|
132
132
|
summary: Graph is a type of hash that outputs in graphviz's dot format
|
133
133
|
test_files: []
|
metadata.gz.sig
CHANGED
Binary file
|