pocky 1.1.0 → 1.6.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/README.md +16 -5
- data/Rakefile +3 -3
- data/lib/pocky.rb +2 -1
- data/lib/pocky/Rakefile +4 -0
- data/lib/pocky/{graph.rb → packwerk.rb} +12 -9
- data/lib/pocky/railtie.rb +13 -0
- data/lib/pocky/tasks/generate.rake +8 -0
- data/lib/pocky/version.rb +1 -1
- metadata +6 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 85bd82c4180bd9152f53dcf8dcfa2e0cdb54f93211f926823c62572b9c98c7bf
|
4
|
+
data.tar.gz: 759e6fe70c7981b6342957da759754833c275d086bf4c2b7caab6e4406cf6bf5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d7db906a22cfd1c05fca50101bc0f5c896c6d3ade27cb998a7ab0e6218094a420577a0bd59a67bc41c851007bd73590735b4251e6ed60cff79ef41532572e8c8
|
7
|
+
data.tar.gz: 2a8078b50d6d0f0fd46ae1269b18f2602d5f69487ac431400d122b4bcddf4415457cd2b695483eda803c3117f80a4b52d5c2c78221406fdbc156bae6b1530dcd
|
data/README.md
CHANGED
@@ -1,20 +1,31 @@
|
|
1
1
|
# Pocky
|
2
2
|
|
3
|
-
Pocky
|
3
|
+
Pocky generates dependency graphs for your packwerk packages. The gem is named after pocky, a beloved Japanese snack that comes in small packages.
|
4
4
|
|
5
5
|

|
6
6
|
|
7
7
|
## Usage
|
8
8
|
|
9
|
+
Invoke from irb or code
|
9
10
|
```ruby
|
10
|
-
Pocky::
|
11
|
+
Pocky::Packwerk.generate(
|
11
12
|
root_path: 'path/to/app/packages',
|
12
|
-
default_package: '
|
13
|
-
package_prefix: 'app/packages',
|
14
|
-
|
13
|
+
default_package: 'Default', # The default package listed as "." in deprecated_references.yml
|
14
|
+
package_prefix: 'app/packages', # this is for matching package names listed in deprecated_references.yml
|
15
|
+
filename: 'packwerk-viz.png', # Name of output file
|
16
|
+
dpi: 150 # Output file resolution
|
15
17
|
)
|
16
18
|
```
|
17
19
|
|
20
|
+

|
21
|
+
|
22
|
+
Note that the the bold edges indicate heavier dependencies.
|
23
|
+
|
24
|
+
Invoke as a rake task
|
25
|
+
|
26
|
+
```
|
27
|
+
rake pocky:generate[path/to/app/packages,Default,app/packages,packwerk-viz.png,150]
|
28
|
+
```
|
18
29
|
|
19
30
|
## Installation
|
20
31
|
|
data/Rakefile
CHANGED
data/lib/pocky.rb
CHANGED
data/lib/pocky/Rakefile
ADDED
@@ -4,7 +4,9 @@ require 'yaml'
|
|
4
4
|
require 'ruby-graphviz'
|
5
5
|
|
6
6
|
module Pocky
|
7
|
-
class
|
7
|
+
class Packwerk
|
8
|
+
MAX_EDGE_WIDTH = 5
|
9
|
+
|
8
10
|
def self.generate(params)
|
9
11
|
new(**params).generate
|
10
12
|
end
|
@@ -14,13 +16,14 @@ module Pocky
|
|
14
16
|
root_path:,
|
15
17
|
default_package: 'Default',
|
16
18
|
package_prefix: '',
|
17
|
-
|
19
|
+
filename: 'packwerk-viz.png',
|
20
|
+
dpi: 150
|
18
21
|
)
|
19
22
|
@root_path = root_path
|
20
23
|
@default_package = default_package
|
21
24
|
@package_prefix = package_prefix
|
22
|
-
@
|
23
|
-
|
25
|
+
@filename = filename
|
26
|
+
@dpi = dpi.to_i
|
24
27
|
@deprecated_references = {}
|
25
28
|
@nodes = {}
|
26
29
|
end
|
@@ -33,7 +36,7 @@ module Pocky
|
|
33
36
|
private
|
34
37
|
|
35
38
|
def build_directed_graph
|
36
|
-
graph = GraphViz.new(:G, type: :digraph, dpi:
|
39
|
+
graph = GraphViz.new(:G, type: :digraph, dpi: @dpi)
|
37
40
|
@deprecated_references.each do |package, references|
|
38
41
|
@nodes[package] ||= graph.add_nodes(package)
|
39
42
|
references.each do |provider, dependencies|
|
@@ -41,24 +44,24 @@ module Pocky
|
|
41
44
|
@nodes[provider_package] ||= graph.add_nodes(provider_package)
|
42
45
|
|
43
46
|
graph.add_edges(
|
44
|
-
@nodes[package],
|
45
47
|
@nodes[provider_package],
|
48
|
+
@nodes[package],
|
46
49
|
penwidth: edge_width(dependencies.length)
|
47
50
|
)
|
48
51
|
end
|
49
52
|
end
|
50
53
|
|
51
|
-
graph.output(png: @
|
54
|
+
graph.output(png: @filename)
|
52
55
|
end
|
53
56
|
|
54
57
|
def edge_width(count)
|
55
58
|
[
|
56
59
|
[(count / 5).to_i, 1].max,
|
57
|
-
|
60
|
+
MAX_EDGE_WIDTH
|
58
61
|
].min
|
59
62
|
end
|
60
63
|
|
61
|
-
def
|
64
|
+
def load_package_dependencies
|
62
65
|
Dir.each_child(@root_path) do |elem|
|
63
66
|
if Dir.exist?(File.join(@root_path, elem))
|
64
67
|
load_deprecated_references_for_package(elem)
|
data/lib/pocky/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pocky
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.6.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Quan Nguyen
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-12-
|
11
|
+
date: 2020-12-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: ruby-graphviz
|
@@ -41,7 +41,10 @@ files:
|
|
41
41
|
- bin/console
|
42
42
|
- bin/setup
|
43
43
|
- lib/pocky.rb
|
44
|
-
- lib/pocky/
|
44
|
+
- lib/pocky/Rakefile
|
45
|
+
- lib/pocky/packwerk.rb
|
46
|
+
- lib/pocky/railtie.rb
|
47
|
+
- lib/pocky/tasks/generate.rake
|
45
48
|
- lib/pocky/version.rb
|
46
49
|
- pocky.gemspec
|
47
50
|
homepage: https://github.com/mquan/pocky
|