class Unwrappr::Writers::VersionChange
Describe the version change. Is it an upgrade to a later version, or a downgrade to an older version? Is it a major, minor or patch version change?
Implements the `annotation_writer` interface required by the LockFileAnnotator
.
Public Class Methods
new(gem_change, gem_change_info)
click to toggle source
# File lib/unwrappr/writers/version_change.rb, line 18 def initialize(gem_change, gem_change_info) @gem_change = gem_change @gem_change_info = gem_change_info end
write(gem_change, gem_change_info)
click to toggle source
# File lib/unwrappr/writers/version_change.rb, line 14 def self.write(gem_change, gem_change_info) new(gem_change, gem_change_info).write end
Public Instance Methods
write()
click to toggle source
# File lib/unwrappr/writers/version_change.rb, line 23 def write "#{change_description}\n" end
Private Instance Methods
change_description()
click to toggle source
# File lib/unwrappr/writers/version_change.rb, line 33 def change_description if added? 'Gem added :snowman:' elsif removed? 'Gem removed :fire:' else version_description end end
grade()
click to toggle source
# File lib/unwrappr/writers/version_change.rb, line 55 def grade if upgrade? 'upgrade :chart_with_upwards_trend:' elsif downgrade? 'downgrade :chart_with_downwards_trend::exclamation:' end end
version_description()
click to toggle source
# File lib/unwrappr/writers/version_change.rb, line 43 def version_description if major? "**Major** version #{grade}:exclamation: #{version_diff}" elsif minor? "**Minor** version #{grade}:large_orange_diamond: #{version_diff}" elsif patch? "**Patch** version #{grade}:small_blue_diamond: #{version_diff}" elsif hotfix? "**Hotfix** version #{grade}:small_red_triangle: #{version_diff}" end end
version_diff()
click to toggle source
# File lib/unwrappr/writers/version_change.rb, line 63 def version_diff "#{base_version} → #{head_version}" end