depviz 0.4.0 → 0.5.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.
Files changed (6) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.sig +0 -0
  3. data.tar.gz.sig +0 -0
  4. data/lib/depviz.rb +31 -6
  5. metadata +39 -35
  6. metadata.gz.sig +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 05ada6d7a48c5f347acc4eab8947406b53d1b01966809b6fedb1ba7a7367c573
4
- data.tar.gz: 8d4bc6609bd75a80b5f57f2f734b76d5f28a503b045947e43c08799375fc88cf
3
+ metadata.gz: dce62cfb73633debf25de501d335336bda15d3ecdc77d8f781b444d5677773ab
4
+ data.tar.gz: b55d6679b1b84c5226300fb63daaf8970aba542273d94546273c66f1cb3837c1
5
5
  SHA512:
6
- metadata.gz: 6dc83fc3c3743fd1fb3c91023a574da6c49a7c29114c47717d2d5f1bab50c5c5f3034d45882d93b951167e06d5598ea302a051eaa986f648885905acb10b8081
7
- data.tar.gz: d457c0dc75540fb146b5403c34df33ff38bc0a4de1d9dfb2dc16fbb86513dc93a8c692be4973718a34295954c70165ec9a9df70621a11cde0ccb8c37a45a04f6
6
+ metadata.gz: ce40cb2e3764138131d09a05c569ec84967a78a24694419b4704a153fef1d1821640289174e854fa7040a4d4e364d8aad8a9ad3e34648689c5ec705b7f1ad924
7
+ data.tar.gz: 47d6b94ce2a706c47b3cc1eacda2a158e358bba79963413125440e10d0851f7b977c32781e275164effd10df46149b674a8e006fa7d3720194f598336f9cb6ba
checksums.yaml.gz.sig CHANGED
Binary file
data.tar.gz.sig CHANGED
Binary file
data/lib/depviz.rb CHANGED
@@ -27,14 +27,38 @@ class DepViz
27
27
  a = LineTree.new(@s).to_doc.root.xpath('//' + @name)
28
28
  puts 'dep: a: ' + a.inspect if @debug
29
29
 
30
+ enclose = ->(a) do
31
+ a.length > 1 ? [a.first] << enclose.call(a[1..-1]) : a
32
+ end
33
+
30
34
  a2 = a.map do |x|
31
35
  puts ' dependencies x: ' + x.inspect if @debug
32
- x.backtrack.to_s.split('/')[1..-1]
36
+ enclose.call x.backtrack.to_s.split('/')[1..-1]
33
37
  end
38
+
34
39
  puts 'a2: ' + a2.inspect if @debug
35
40
 
36
- s = a2.map {|x| x.map.with_index {|y,i| ' ' * i + y }.join("\n")}\
37
- .join("\n")
41
+ # group the items in order to merge branches with the same parent
42
+ a3 = a2.group_by(&:first)
43
+ a4 = a3.map {|x| [x.first] + x.last.map(&:last)}
44
+
45
+ treeize = ->(obj, indent=-2) do
46
+
47
+ if obj.is_a? Array then
48
+
49
+ r = obj.map {|x| treeize.call(x, indent+1)}.join("\n")
50
+ puts 'r: ' + r.inspect if @debug
51
+ r
52
+
53
+ else
54
+
55
+ ' ' * indent + obj
56
+
57
+ end
58
+ end
59
+
60
+ s = treeize.call(a4)
61
+
38
62
  puts 'child s: ' + s.inspect if @debug
39
63
 
40
64
  dv3 = DepViz.new()
@@ -43,6 +67,8 @@ class DepViz
43
67
 
44
68
  end
45
69
 
70
+ # returns a DepViz document
71
+ #
46
72
  def reverse_dependencies()
47
73
 
48
74
  a = LineTree.new(@s, root: @root).to_doc.root.xpath('//' + @name)
@@ -67,9 +93,8 @@ class DepViz
67
93
  <?polyrex schema='items[type]/item[label]' delimiter =' # '?>
68
94
  type: digraph
69
95
 
70
- "
71
-
72
- build(s)
96
+ "
97
+ @s = build(s)
73
98
 
74
99
 
75
100
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: depviz
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Robertson
@@ -10,27 +10,32 @@ bindir: bin
10
10
  cert_chain:
11
11
  - |
12
12
  -----BEGIN CERTIFICATE-----
13
- MIIDXjCCAkagAwIBAgIBATANBgkqhkiG9w0BAQUFADAsMSowKAYDVQQDDCFnZW1t
14
- YXN0ZXIvREM9amFtZXNyb2JlcnRzb24vREM9ZXUwHhcNMTgwMTIxMTkyMzE2WhcN
15
- MTkwMTIxMTkyMzE2WjAsMSowKAYDVQQDDCFnZW1tYXN0ZXIvREM9amFtZXNyb2Jl
16
- cnRzb24vREM9ZXUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDQ3L67
17
- 8183BAMBswfY/06QuC63URRc8KHhoCfFC+3DE5h+bSycpUnu4lJ44QvFi1fycMmm
18
- 2HchCK0cLDX9ZxOqSO4YJWmh99TmA8nvqIDfe0hFx5Zcrn/b6SdKaUOxv6rWpvPw
19
- OfF3YjaHkeAvgar0xYvagUKESSKLr0Pbc/a7gJKaVZkHJFbnoyEguLYut6OpEEPP
20
- M78+Mtai/tFbVRwhDmid2BHZS57+4kTXFuA4UqePNVyXt8mrtic1vgNKbsQ0nSbJ
21
- t9QgEaqEAGSCkFye6b+dx8WVgq0MAchgQ2tvQhifzqRqtmEOhzf0785yKxNEHsDt
22
- F49kONjTsDQXtJd5AgMBAAGjgYowgYcwCQYDVR0TBAIwADALBgNVHQ8EBAMCBLAw
23
- HQYDVR0OBBYEFGsQrpJ6RZLNIpwQeKMZLs8ZbFFaMCYGA1UdEQQfMB2BG2dlbW1h
24
- c3RlckBqYW1lc3JvYmVydHNvbi5ldTAmBgNVHRIEHzAdgRtnZW1tYXN0ZXJAamFt
25
- ZXNyb2JlcnRzb24uZXUwDQYJKoZIhvcNAQEFBQADggEBAGT7n8qvDZb8tAeB600O
26
- a054HpBNHLJ/HxbMyv+gE2n7yDg3D4sR2X6ekQVW8Rg6emZAhDWa+dREHzL2j+dp
27
- hU13ewBbz3Oh2+M7+AsLWlp6lB1CwJ/HBaC7ePq2ijbDd8OpJaTRCDh/ICH6vkfm
28
- otS5scbDgYhQ2MmW2beylEznx9C+GhixFVcxWIDikknpEUvoOYoJalM0a8x5I7JG
29
- R/eJT/8JSL1Sz0ywBXzMSh8mBjYP5EkovU82TyiYbg0kJ7PSNIM2vb0x/VAO9LCY
30
- TCqBEF2WnZz6KeKywr1qQSkgenmZJAIRJf6Yc2GlE/o9rTHz+kWZGg9ZvB3AU6qZ
31
- 2QY=
13
+ MIIEXjCCAsagAwIBAgIBATANBgkqhkiG9w0BAQsFADAsMSowKAYDVQQDDCFnZW1t
14
+ YXN0ZXIvREM9amFtZXNyb2JlcnRzb24vREM9ZXUwHhcNMTkwNjAzMDk1MzQ0WhcN
15
+ MjAwNjAyMDk1MzQ0WjAsMSowKAYDVQQDDCFnZW1tYXN0ZXIvREM9amFtZXNyb2Jl
16
+ cnRzb24vREM9ZXUwggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAwggGKAoIBgQCRYbn1
17
+ Fxt/3nQfM/79qO2UuuUlR3kCV5irj0biTNxf4JtjzVV8yrXziAAeISrFHyuYEtic
18
+ i9MttV6DEW8TImuGj6f6Oqlw/A/RzzQjn7GtcL1d7neBK9W1J3KgJ1JXvrTIdyWv
19
+ 5PzQccRu1BWJBA1oLn0mU9/wfanuIpJv9Vbb9JkD+KVNltBwu3umDrxlLx7Sswyb
20
+ bVa3paStxaUQ68Czk2En37NGi4Fklm9B0vA0MQIAbk6SzJam2DW4Q3kY0xD8XW+M
21
+ OHu7kWa2fWZgNyJ8HKKuoSHoEUX1hQi8RLhl6RCd7XMvgHOcXz/RkpEslo2y7JL8
22
+ I6j0hgWreGD+2UX0/It/YGxP4ZuYURSLo3b51VCxG/ZucXap9q9fdL9yo0Q04La3
23
+ RdiwYfK8yT01Q2aka10FDm/pP3X3eAStU3j3OBIi5fOkmstRcVfwlZo3G+oKiSCN
24
+ jYa/SWlgplC2QYFV82wkl30HLoLTXQfOnMzcDqGwPrJs6uAHI+tN7pqWy2kCAwEA
25
+ AaOBijCBhzAJBgNVHRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNVHQ4EFgQUDZKHaZW1
26
+ sIg3/fJWq3G53WHv2rAwJgYDVR0RBB8wHYEbZ2VtbWFzdGVyQGphbWVzcm9iZXJ0
27
+ c29uLmV1MCYGA1UdEgQfMB2BG2dlbW1hc3RlckBqYW1lc3JvYmVydHNvbi5ldTAN
28
+ BgkqhkiG9w0BAQsFAAOCAYEAeBSpoASLXnbaBavcGV4U5cFztowi8X7A36mKQErU
29
+ M9WO2rSA1tKXRPCgbIXxDOjfSvIeElIOiCt3pOxUoh6hOdW74NJrouhE3SD+SaSD
30
+ 2DA9KfXiX1mX95ab0fZkdDQgMGFaaoO1FUl36iSsZFU07dBVEYJAn5qm4UjQpJw3
31
+ 7Zyr65t7l+gKktE7SK7Lz8bNcP+z7axdilCst21q0J3u0gEye917Xo/O53nzDNFY
32
+ FOnC3DQL7rPfXbHvtUh/pdI0VxYHqEbvAm7yU8MtknlBiDLDomSUGTqMRLXHzMDm
33
+ LY3ynRaBjiMdQYyXTDZMtrEiPBiWA3kiX0LSJmrVlHBUz+QCncMTvisHBndUgTqk
34
+ 49JLHdNSx+oB1JJWVUYG3mdKOvfmmdoGOi1tno8iO7x7Q2k3Sq/h4ePeVvkQJhyG
35
+ zoPaOSt4xoowKqommO0RHQimrbPQWds1bnkTc//n7y6ALRc9fqvN/8MJHf0wpUja
36
+ dsRU+5pPlIOwJbnDyYzEZrS9
32
37
  -----END CERTIFICATE-----
33
- date: 2018-10-15 00:00:00.000000000 Z
38
+ date: 2019-06-03 00:00:00.000000000 Z
34
39
  dependencies:
35
40
  - !ruby/object:Gem::Dependency
36
41
  name: pxgraphviz
@@ -56,42 +61,42 @@ dependencies:
56
61
  name: dependency_builder
57
62
  requirement: !ruby/object:Gem::Requirement
58
63
  requirements:
59
- - - "~>"
60
- - !ruby/object:Gem::Version
61
- version: '0.1'
62
64
  - - ">="
63
65
  - !ruby/object:Gem::Version
64
66
  version: 0.1.0
67
+ - - "~>"
68
+ - !ruby/object:Gem::Version
69
+ version: '0.1'
65
70
  type: :runtime
66
71
  prerelease: false
67
72
  version_requirements: !ruby/object:Gem::Requirement
68
73
  requirements:
69
- - - "~>"
70
- - !ruby/object:Gem::Version
71
- version: '0.1'
72
74
  - - ">="
73
75
  - !ruby/object:Gem::Version
74
76
  version: 0.1.0
77
+ - - "~>"
78
+ - !ruby/object:Gem::Version
79
+ version: '0.1'
75
80
  - !ruby/object:Gem::Dependency
76
81
  name: xml_to_sliml
77
82
  requirement: !ruby/object:Gem::Requirement
78
83
  requirements:
79
- - - "~>"
80
- - !ruby/object:Gem::Version
81
- version: '0.1'
82
84
  - - ">="
83
85
  - !ruby/object:Gem::Version
84
86
  version: 0.1.0
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '0.1'
85
90
  type: :runtime
86
91
  prerelease: false
87
92
  version_requirements: !ruby/object:Gem::Requirement
88
93
  requirements:
89
- - - "~>"
90
- - !ruby/object:Gem::Version
91
- version: '0.1'
92
94
  - - ">="
93
95
  - !ruby/object:Gem::Version
94
96
  version: 0.1.0
97
+ - - "~>"
98
+ - !ruby/object:Gem::Version
99
+ version: '0.1'
95
100
  description:
96
101
  email: james@jamesrobertson.eu
97
102
  executables: []
@@ -118,8 +123,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
118
123
  - !ruby/object:Gem::Version
119
124
  version: '0'
120
125
  requirements: []
121
- rubyforge_project:
122
- rubygems_version: 2.7.6
126
+ rubygems_version: 3.0.1
123
127
  signing_key:
124
128
  specification_version: 4
125
129
  summary: Generates a complete dependency tree from disparate dependencies to an SVG
metadata.gz.sig CHANGED
Binary file