1- require "rainbow/refinement "
1+ require "rainbow"
22require "cgi"
33require "erb"
44require "json"
55require "net/http"
66
7- using Rainbow
8-
97module NextRails
108 module BundleReport
119 extend self
@@ -27,34 +25,34 @@ def compatibility(rails_version: nil, ruby_version: nil, include_rails_gems: nil
2725 def erb_output ( incompatible_gems_by_state , incompatible_gems , rails_version )
2826 template = <<-ERB
2927<% 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 %>
3230
3331<% incompatible_gems_by_state [ :found_compatible ] . each do |gem | -%>
3432<%= gem_header ( gem ) %> - upgrade to <%= gem . latest_compatible_version . version %>
3533<% end -%>
3634
3735<% end -%>
3836<% 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 %>
4139
4240<% incompatible_gems_by_state [ :incompatible ] . each do |gem | -%>
4341<%= gem_header ( gem ) %> - new version, <%= gem . latest_version . version %> , is not compatible with Rails #{ rails_version }
4442<% end -%>
4543
4644<% end -%>
4745<% 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 %>
5149
5250<% incompatible_gems_by_state [ :no_new_version ] . each do |gem | -%>
5351<%= gem_header ( gem ) %> - new version not found
5452<% end -%>
5553
5654<% 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 %>
5856 ERB
5957
6058 erb_version = ERB . version
@@ -70,8 +68,8 @@ def erb_output(incompatible_gems_by_state, incompatible_gems, rails_version)
7068 end
7169
7270 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?
7573 header
7674 end
7775
@@ -158,14 +156,14 @@ def output_to_stdout(out_of_date_gems, total_gem_count, sourced_from_git_count)
158156 header = "#{ gem . name } #{ gem . version } "
159157
160158 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 } )
162160 MESSAGE
163161 end
164162
165163 percentage_out_of_date = ( ( out_of_date_gems . count / total_gem_count . to_f ) * 100 ) . round
166164 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 } %)
169167 MESSAGE
170168
171169 puts ''
0 commit comments