gitlab-mergetrain-checker 1.2.0 → 1.2.1

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d3f0cc6f8a38c160ea6f78ab7d57755f510272fcdae1cf72ab9dfadc9cffdb94
4
- data.tar.gz: 6da1e48f6974907b70ada6a5f4ac14c673f88b14e0a8931f22f029d8d27bb058
3
+ metadata.gz: e3f9600ce5c4210097672df6ad948d3e3f306f377af6afc23a3608491470c534
4
+ data.tar.gz: 40fe51f46cf4804ffb7d22807fde79c3e0711e07d088d5d3b114e075c79ecf91
5
5
  SHA512:
6
- metadata.gz: d0f070d495c1ab9b7e7795f2795ef131e5b11cc7e4c793cb55b14ba1780cfb433cb454ceadcc2b1a10be511dcbcd44e5e94dd1592c323a47ffe37a2ca2bb702d
7
- data.tar.gz: 5ee8e6509fc145d1100d0c0a2c56902b9b09daff1ea10ba054d9ae81431beccd4847c5c3ddef187432720a3dbf71b2eb8860c6b41f5a08dc0413916ce389eb5b
6
+ metadata.gz: 0faac35a9290ff4ad613815acd19ce6f5668eb9ca9a678616f63a12e8043f93c87478e3be077e94fedf1f755bb53913dfead06c07efb52822605707c2fc7133f
7
+ data.tar.gz: 72816513e657e521c77d1fbcc3863ef2f7a258bea59f481a1dcc93db582ba84a6033a909e7402583e836f9b644d328e4721c675112c2eea3792fecb7cc95e308
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- gitlab-mergetrain-checker (1.1.0)
4
+ gitlab-mergetrain-checker (1.2.1)
5
5
  ruby-keychain (~> 0.3.2)
6
6
 
7
7
  GEM
@@ -39,7 +39,7 @@ module MergetrainCheck
39
39
  end
40
40
 
41
41
  def active_uri
42
- URI("https://#{@host}/api/v4/projects/#{@id}/merge_trains?per_page=100&scope=active")
42
+ URI("https://#{@host}/api/v4/projects/#{@id}/merge_trains?per_page=100&scope=active&sort=asc")
43
43
  end
44
44
  end
45
45
  end
@@ -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.each_with_index.map{|iterand, index| [lengths[index] || 0, iterand.to_s.length + count_emojis(iterand.to_s)].max}
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
- row = row.fill(nil, row.size..(column_sizes.size - 1))
68
- row = row.each_with_index.map{|v, i| v = v.to_s + ' ' * (column_sizes[i] - v.to_s.length - count_emojis(v.to_s))}
69
- output += '| ' + row.join(' | ') + ' |' + "\n"
70
- if idx == 0
71
- row = row.each_with_index.map{|v, i| v = '-' * v.to_s.length}
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
@@ -1,3 +1,3 @@
1
1
  module MergetrainCheck
2
- VERSION = "1.2.0"
2
+ VERSION = "1.2.1"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gitlab-mergetrain-checker
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.0
4
+ version: 1.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Fabio Gallonetto