visualize_packs 0.5.6 → 0.5.7

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: bd8d9c383e056e9ca083b753f77d14ff951d2f0245d3cccb8570eb4a6ac5cf72
4
- data.tar.gz: 98edaf0dd58faabbfc57e3d42b24ca43c5f5ea65227627f519815811a03970a6
3
+ metadata.gz: 698ac9ebae377a99e2b9b5fe62c3646bcaa8b4ce81439feee7354d81d80682c1
4
+ data.tar.gz: 15335a5ce4cc6eb90926af902da548c268bc6c86caa8ae6fd9df5127cfb7e071
5
5
  SHA512:
6
- metadata.gz: 541e54ff0460769bccc2d7e8788a57a86c1fbb5929af3cc7b01bbcac36daf0f26bf7378745e89bf189c51fa63b3484c3b34d6493e85e1603cf976f1b6780945e
7
- data.tar.gz: d0622a5d36ee4816b497f6fb2488be4ee1a86679729432f8304b27ce1120ff16e28fd1baefc790a1372b227932d9cd54ca5c13e7221f91271d33e717ff01f682
6
+ metadata.gz: 79f8106bfafe0a7cd9c17ff6f886871b4a24990e562a389b5dab45ff5838a3a0a22fc225d44ea7afcdeb8d8a20ff98e2037b74ed95cd170964027b8b53d40176
7
+ data.tar.gz: 5e5d466148f46ee4876baa8ae184187115bc5d77f66d36d8396867c4fb61066f47ac6b32e22781fcbd4d98c7b387f60f271a8b0cc1a89f91ba383462ca48fcec
data/lib/graph.dot.erb CHANGED
@@ -102,11 +102,7 @@ digraph package_diagram {
102
102
  <%- elsif todo_type == 'dependency' -%>
103
103
  arrowhead=odot
104
104
  <%- end -%>
105
- <%-
106
- max_edge_width = 10
107
- edge_width = (todo_types[todo_type].count / max_todo_count.to_f * max_edge_width).to_i
108
- -%>
109
- penwidth=<%= edge_width -%>
105
+ penwidth=<%= todo_edge_width(todo_types[todo_type].count, max_todo_count) -%>
110
106
  ]
111
107
  <%- end -%>
112
108
  <%- end -%>
@@ -131,6 +131,25 @@ module VisualizePacks
131
131
  todo_counts.values.max
132
132
  end
133
133
 
134
+ def self.todo_edge_width(todo_count, max_count)
135
+ # Limits
136
+ min_width = 1
137
+ max_width = 10
138
+ min_count = 1 # Number of todos equivalent to min_width
139
+
140
+ # Ensure safe values
141
+ return 0 if todo_count < min_count
142
+ return max_width if todo_count > max_count
143
+
144
+ todo_range = max_count - min_count
145
+ width_range = max_width - min_width
146
+ count_delta = todo_count - min_count
147
+
148
+ width_delta = count_delta / todo_range.to_f * width_range
149
+ edge_width = min_width + width_delta
150
+ edge_width.round(2)
151
+ end
152
+
134
153
  def self.filtered(packages, filter_package, filter_folder, exclude_packs)
135
154
  return packages unless filter_package || filter_folder || exclude_packs.any?
136
155
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: visualize_packs
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.6
4
+ version: 0.5.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Gusto Engineers