class Lapidarist::VersionChange

Attributes

installed[R]
updated[R]

Public Class Methods

new(installed:, updated:) click to toggle source
# File lib/lapidarist/version_change.rb, line 3
def initialize(installed:, updated:)
  @installed = installed
  @updated = updated
end

Public Instance Methods

next_level() click to toggle source
# File lib/lapidarist/version_change.rb, line 8
def next_level
  if level
    LEVELS.detect { |l| l < level }
  else
    Lapidarist::MAJOR
  end
end

Private Instance Methods

installed_segments() click to toggle source
# File lib/lapidarist/version_change.rb, line 20
def installed_segments
  @installed_segments ||= installed.version.split('.')
end
level() click to toggle source
# File lib/lapidarist/version_change.rb, line 28
def level
  @level ||=
    if updated_segments && updated_segments[0] > installed_segments[0]
      Lapidarist::MAJOR
    elsif updated_segments && updated_segments[0] == installed_segments[0] && updated_segments[1] > installed_segments[1]
      Lapidarist::MINOR
    elsif updated_segments && updated_segments[0] == installed_segments[0] && updated_segments[1] == installed_segments[1] && updated_segments[2] > installed_segments[2]
      Lapidarist::PATCH
    elsif updated_segments && (
      (updated_segments[0] == installed_segments[0] && updated_segments[1] == installed_segments[1] && updated_segments[2] <= installed_segments[2]) ||
      (updated_segments[0] == installed_segments[0] && updated_segments[1] <= installed_segments[1]) ||
      updated_segments[0] <= installed_segments[0]
    )
      Lapidarist::NONE
    end
end
updated_segments() click to toggle source
# File lib/lapidarist/version_change.rb, line 24
def updated_segments
  @updated_segments ||= updated&.version&.split('.')
end