rubion 0.3.5 → 0.3.7
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/rubion/reporter.rb +36 -3
- data/lib/rubion/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 8699b79a4501e6f466fc31e5ff30e26d04d516c39ddc26ebc7feca06c5f21dfb
|
|
4
|
+
data.tar.gz: b9dc8ea8e40ec891d99632b5a1e5b74518feace3eee80c5bc1b9aca0f8d7f4c8
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 882f8c6228137d7e5814df1b7ee0ab199d2b69abaf828ef4e9676b4df747b2c916a74e25208c92f6b0e941beeb71bc6e2095faad8e3109e173d4f72172e48ccc
|
|
7
|
+
data.tar.gz: 5388ff2bef79e8b19f75e0ec051ba3a6891675c666fbf2f41564d4cb065521f4d6570f21e3d8ca91c4c95618ce18fd6c22c8074c177609839184044e51e2e575
|
data/lib/rubion/reporter.rb
CHANGED
|
@@ -4,10 +4,11 @@ require 'terminal-table'
|
|
|
4
4
|
|
|
5
5
|
module Rubion
|
|
6
6
|
class Reporter
|
|
7
|
-
def initialize(scan_result, sort_by: 'Behind By(Time)', sort_desc: true)
|
|
7
|
+
def initialize(scan_result, sort_by: 'Behind By(Time)', sort_desc: true, exclude_dependencies: false)
|
|
8
8
|
@result = scan_result
|
|
9
9
|
@sort_by = sort_by
|
|
10
10
|
@sort_desc = sort_desc
|
|
11
|
+
@exclude_dependencies = exclude_dependencies
|
|
11
12
|
end
|
|
12
13
|
|
|
13
14
|
def report
|
|
@@ -87,7 +88,7 @@ module Rubion
|
|
|
87
88
|
versions = sort_versions(versions, :gem) if @sort_by
|
|
88
89
|
|
|
89
90
|
table = Terminal::Table.new do |t|
|
|
90
|
-
t.headings =
|
|
91
|
+
t.headings = format_version_headings
|
|
91
92
|
|
|
92
93
|
versions.each do |gem|
|
|
93
94
|
# Make direct dependencies bold
|
|
@@ -155,7 +156,7 @@ module Rubion
|
|
|
155
156
|
versions = sort_versions(versions, :package) if @sort_by
|
|
156
157
|
|
|
157
158
|
table = Terminal::Table.new do |t|
|
|
158
|
-
t.headings =
|
|
159
|
+
t.headings = format_version_headings
|
|
159
160
|
|
|
160
161
|
versions.each do |pkg|
|
|
161
162
|
# Make direct dependencies bold
|
|
@@ -233,6 +234,38 @@ module Rubion
|
|
|
233
234
|
"\033[1m#{text}\033[0m"
|
|
234
235
|
end
|
|
235
236
|
|
|
237
|
+
# Format version table headings with sorting indicator
|
|
238
|
+
def format_version_headings
|
|
239
|
+
base_headings = ['Name', 'Current', 'Date', 'Latest', 'Date', 'Behind By(Time)', 'Behind By(Versions)']
|
|
240
|
+
|
|
241
|
+
return base_headings unless @sort_by
|
|
242
|
+
|
|
243
|
+
# Map sort_by value to column index
|
|
244
|
+
column_map = {
|
|
245
|
+
'name' => 0,
|
|
246
|
+
'current' => 1,
|
|
247
|
+
'date' => 2, # First Date column (current_date)
|
|
248
|
+
'latest' => 4,
|
|
249
|
+
'behind by(time)' => 5,
|
|
250
|
+
'behind by time' => 5,
|
|
251
|
+
'time' => 5,
|
|
252
|
+
'behind by(versions)' => 6,
|
|
253
|
+
'behind by versions' => 6,
|
|
254
|
+
'versions' => 6
|
|
255
|
+
}
|
|
256
|
+
|
|
257
|
+
column_name = @sort_by.strip.downcase
|
|
258
|
+
column_index = column_map[column_name]
|
|
259
|
+
|
|
260
|
+
return base_headings unless column_index
|
|
261
|
+
|
|
262
|
+
# Add sorting indicator (↑ for ascending, ↓ for descending)
|
|
263
|
+
indicator = @sort_desc ? ' ↓' : ' ↑'
|
|
264
|
+
base_headings[column_index] = "#{base_headings[column_index]}#{indicator}"
|
|
265
|
+
|
|
266
|
+
base_headings
|
|
267
|
+
end
|
|
268
|
+
|
|
236
269
|
def version_difference(current, latest)
|
|
237
270
|
# Simple version difference calculation
|
|
238
271
|
current_parts = current.split('.').map(&:to_i)
|
data/lib/rubion/version.rb
CHANGED