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 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