1
- require "rainbow/refinement "
1
+ require "rainbow"
2
2
require "cgi"
3
3
require "erb"
4
4
require "json"
5
5
require "net/http"
6
6
7
- using Rainbow
8
-
9
7
module NextRails
10
8
module BundleReport
11
9
extend self
@@ -27,34 +25,34 @@ def compatibility(rails_version: nil, ruby_version: nil, include_rails_gems: nil
27
25
def erb_output ( incompatible_gems_by_state , incompatible_gems , rails_version )
28
26
template = <<-ERB
29
27
<% if incompatible_gems_by_state [ :found_compatible ] -%>
30
- <%= "= > Incompatible with Rails #{ rails_version } (with new versions that are compatible):".white.bold %>
31
- <%= "These gems will need to be upgraded before upgrading to Rails #{ rails_version } .".italic %>
28
+ <%= Rainbow ( "= > Incompatible with Rails #{ rails_version } (with new versions that are compatible):") .white.bold %>
29
+ <%= Rainbow ( "These gems will need to be upgraded before upgrading to Rails #{ rails_version } .") .italic %>
32
30
33
31
<% incompatible_gems_by_state [ :found_compatible ] . each do |gem | -%>
34
32
<%= gem_header ( gem ) %> - upgrade to <%= gem . latest_compatible_version . version %>
35
33
<% end -%>
36
34
37
35
<% end -%>
38
36
<% if incompatible_gems_by_state [ :incompatible ] -%>
39
- <%= "= > Incompatible with Rails #{ rails_version } (with no new compatible versions):".white.bold %>
40
- <%= "These gems will need to be removed or replaced before upgrading to Rails #{ rails_version } .".italic %>
37
+ <%= Rainbow ( "= > Incompatible with Rails #{ rails_version } (with no new compatible versions):") .white.bold %>
38
+ <%= Rainbow ( "These gems will need to be removed or replaced before upgrading to Rails #{ rails_version } .") .italic %>
41
39
42
40
<% incompatible_gems_by_state [ :incompatible ] . each do |gem | -%>
43
41
<%= gem_header ( gem ) %> - new version, <%= gem . latest_version . version %> , is not compatible with Rails #{ rails_version }
44
42
<% end -%>
45
43
46
44
<% end -%>
47
45
<% if incompatible_gems_by_state [ :no_new_version ] -%>
48
- <%= "= > Incompatible with Rails #{ rails_version } (with no new versions):".white.bold %>
49
- <%= "These gems will need to be upgraded by us or removed before upgrading to Rails #{ rails_version } .".italic %>
50
- <%= "This list is likely to contain internal gems, like Cuddlefish." . italic %>
46
+ <%= Rainbow ( "= > Incompatible with Rails #{ rails_version } (with no new versions):") .white.bold %>
47
+ <%= Rainbow ( "These gems will need to be upgraded by us or removed before upgrading to Rails #{ rails_version } .") .italic %>
48
+ <%= Rainbow ( "This list is likely to contain internal gems, like Cuddlefish." ) . italic %>
51
49
52
50
<% incompatible_gems_by_state [ :no_new_version ] . each do |gem | -%>
53
51
<%= gem_header ( gem ) %> - new version not found
54
52
<% end -%>
55
53
56
54
<% end -%>
57
- <%= incompatible_gems . length . to_s . red %> gems incompatible with Rails <%= rails_version %>
55
+ <%= Rainbow ( incompatible_gems . length . to_s ) . red %> gems incompatible with Rails <%= rails_version %>
58
56
ERB
59
57
60
58
erb_version = ERB . version
@@ -70,8 +68,8 @@ def erb_output(incompatible_gems_by_state, incompatible_gems, rails_version)
70
68
end
71
69
72
70
def gem_header ( _gem )
73
- header = "#{ _gem . name } #{ _gem . version } " . bold
74
- header << " (loaded from git)" . magenta if _gem . sourced_from_git?
71
+ header = Rainbow ( "#{ _gem . name } #{ _gem . version } " ) . bold
72
+ header << Rainbow ( " (loaded from git)" ) . magenta if _gem . sourced_from_git?
75
73
header
76
74
end
77
75
@@ -158,14 +156,14 @@ def output_to_stdout(out_of_date_gems, total_gem_count, sourced_from_git_count)
158
156
header = "#{ gem . name } #{ gem . version } "
159
157
160
158
puts <<-MESSAGE
161
- #{ header . bold . white } : released #{ gem . age } (latest version, #{ gem . latest_version . version } , released #{ gem . latest_version . age } )
159
+ #{ Rainbow ( header . bold . white ) } : released #{ gem . age } (latest version, #{ gem . latest_version . version } , released #{ gem . latest_version . age } )
162
160
MESSAGE
163
161
end
164
162
165
163
percentage_out_of_date = ( ( out_of_date_gems . count / total_gem_count . to_f ) * 100 ) . round
166
164
footer = <<-MESSAGE
167
- #{ sourced_from_git_count . to_s . yellow } gems are sourced from git
168
- #{ out_of_date_gems . count . to_s . red } of the #{ total_gem_count } gems are out-of-date (#{ percentage_out_of_date } %)
165
+ #{ Rainbow ( sourced_from_git_count . to_s ) . yellow } gems are sourced from git
166
+ #{ Rainbow ( out_of_date_gems . count . to_s ) . red } of the #{ total_gem_count } gems are out-of-date (#{ percentage_out_of_date } %)
169
167
MESSAGE
170
168
171
169
puts ''
0 commit comments