gitlab-mergetrain-checker 1.2.0 → 1.2.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/lib/mergetrain_check/checker.rb +1 -1
- data/lib/mergetrain_check/formatter.rb +18 -6
- data/lib/mergetrain_check/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: e3f9600ce5c4210097672df6ad948d3e3f306f377af6afc23a3608491470c534
|
4
|
+
data.tar.gz: 40fe51f46cf4804ffb7d22807fde79c3e0711e07d088d5d3b114e075c79ecf91
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0faac35a9290ff4ad613815acd19ce6f5668eb9ca9a678616f63a12e8043f93c87478e3be077e94fedf1f755bb53913dfead06c07efb52822605707c2fc7133f
|
7
|
+
data.tar.gz: 72816513e657e521c77d1fbcc3863ef2f7a258bea59f481a1dcc93db582ba84a6033a909e7402583e836f9b644d328e4721c675112c2eea3792fecb7cc95e308
|
data/Gemfile.lock
CHANGED
@@ -9,11 +9,18 @@ module MergetrainCheck
|
|
9
9
|
|
10
10
|
def format(body)
|
11
11
|
values = [['St', 'Waiting', 'Running', 'MR', 'Pipe ID', 'User', 'Title']]
|
12
|
+
values << spacer = nil
|
13
|
+
|
14
|
+
previous_state = body.first['status']
|
12
15
|
body.each do |carriage|
|
13
16
|
begin_time = date_from_string carriage['created_at']
|
14
17
|
pipeline_begin_time = date_from_string carriage['pipeline']['created_at']
|
15
18
|
end_time = carriage['merged_at'].nil? ? DateTime.now : date_from_string(carriage['merged_at'])
|
16
19
|
|
20
|
+
is_finished_section = previous_state != carriage['status']
|
21
|
+
previous_state = carriage['status']
|
22
|
+
values << spacer if is_finished_section
|
23
|
+
|
17
24
|
values << [pipeline_status(carriage['status']),
|
18
25
|
pretty_date_difference(begin_time, pipeline_begin_time),
|
19
26
|
pretty_date_difference(pipeline_begin_time, end_time),
|
@@ -60,15 +67,20 @@ class Array
|
|
60
67
|
def to_table
|
61
68
|
output = ''
|
62
69
|
column_sizes = self.reduce([]) do |lengths, row|
|
63
|
-
row.
|
70
|
+
if row.nil?
|
71
|
+
lengths
|
72
|
+
else
|
73
|
+
row.each_with_index.map{|iterand, index| [lengths[index] || 0, iterand.to_s.length + count_emojis(iterand.to_s)].max}
|
74
|
+
end
|
64
75
|
end
|
65
76
|
output += head = '-' * (column_sizes.inject(&:+) + (3 * column_sizes.count) + 1) + "\n"
|
66
77
|
self.each_with_index do |row, idx|
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
row = row.
|
78
|
+
if row.nil?
|
79
|
+
row = column_sizes.map { |l| '-' * l }
|
80
|
+
output += '| ' + row.join(' | ') + ' |' + "\n"
|
81
|
+
else
|
82
|
+
row = row.fill(nil, row.size..(column_sizes.size - 1))
|
83
|
+
row = row.each_with_index.map{|v, i| v = v.to_s + ' ' * (column_sizes[i] - v.to_s.length - count_emojis(v.to_s))}
|
72
84
|
output += '| ' + row.join(' | ') + ' |' + "\n"
|
73
85
|
end
|
74
86
|
end
|