class Bundleup::UpdateReport
Attributes
new_versions[R]
old_versions[R]
Public Class Methods
new(old_versions:, new_versions:)
click to toggle source
Calls superclass method
# File lib/bundleup/update_report.rb, line 3 def initialize(old_versions:, new_versions:) super() @old_versions = old_versions @new_versions = new_versions end
Public Instance Methods
rows()
click to toggle source
# File lib/bundleup/update_report.rb, line 15 def rows gem_names.each_with_object([]) do |gem, rows| old = old_versions[gem] new = new_versions[gem] next if old == new row = [gem, old || "(new)", "→", new || "(removed)"] color = color_for_gem(gem) rows << row.map { |col| Colors.public_send(color, col) } end end
title()
click to toggle source
# File lib/bundleup/update_report.rb, line 9 def title return "This gem will be updated:" if rows.count == 1 "The following gems will be updated:" end
Private Instance Methods
color_for_gem(gem)
click to toggle source
# File lib/bundleup/update_report.rb, line 36 def color_for_gem(gem) old_version = old_versions[gem] new_version = new_versions[gem] return :blue if old_version.nil? return :red if new_version.nil? || major_upgrade?(old_version, new_version) return :yellow if minor_upgrade?(old_version, new_version) :plain end
gem_names()
click to toggle source
# File lib/bundleup/update_report.rb, line 32 def gem_names (old_versions.keys | new_versions.keys).sort end
major(version)
click to toggle source
# File lib/bundleup/update_report.rb, line 55 def major(version) version.split(".", 2)[0] end
major_upgrade?(old_version, new_version)
click to toggle source
# File lib/bundleup/update_report.rb, line 47 def major_upgrade?(old_version, new_version) major(new_version) != major(old_version) end
minor(version)
click to toggle source
# File lib/bundleup/update_report.rb, line 59 def minor(version) version.split(".", 3)[1] end
minor_upgrade?(old_version, new_version)
click to toggle source
# File lib/bundleup/update_report.rb, line 51 def minor_upgrade?(old_version, new_version) minor(new_version) != minor(old_version) end