class GemCheckUpdates::GemVersion

Attributes

major[RW]
minor[RW]
number[RW]
patch[RW]
pre[RW]
pre_release[RW]

Public Class Methods

new(number: '0', pre_release: false) click to toggle source
# File lib/gem_check_updates/gem_version.rb, line 14
def initialize(number: '0', pre_release: false)
  @number = number
  @major, @minor, @patch, @pre = number.split('.').concat(%w[0 0 0 0])
  @pre_release = pre_release
end

Public Instance Methods

<=>(other) click to toggle source
# File lib/gem_check_updates/gem_version.rb, line 24
def <=>(other)
  weighted_version <=> other.weighted_version
end
to_s() click to toggle source
# File lib/gem_check_updates/gem_version.rb, line 28
def to_s
  @number
end
version_specified?() click to toggle source
# File lib/gem_check_updates/gem_version.rb, line 20
def version_specified?
  @number != '0'
end
weighted_version() click to toggle source
# File lib/gem_check_updates/gem_version.rb, line 32
def weighted_version
  weights = [100, 10, 1]

  [@major, @minor, @patch].map(&:to_i)
                          .map.with_index { |n, i| n * weights[i] }
end