class Rip::Package::Version

Attributes

build[R]
major[R]
minor[R]
patch[R]
pre_release[R]

Public Class Methods

extract(version) click to toggle source
# File source/rip/package/version.rb, line 38
def self.extract(version)
  begin
    new(Semverse::Version.new(version))
  rescue Semverse::InvalidVersionFormat
    raise Rip::Package::InvalidMetadata, '`version` must follow semver'
  end
end
new(parts) click to toggle source
# File source/rip/package/version.rb, line 11
def initialize(parts)
  @major = parts.major
  @minor = parts.minor
  @patch = parts.patch
  @pre_release = parts.pre_release
  @build = parts.build
end

Public Instance Methods

inspect() click to toggle source
# File source/rip/package/version.rb, line 19
def inspect
  "#<#{self.class.name} #{to_s}>"
end
to_s() click to toggle source
# File source/rip/package/version.rb, line 23
def to_s
  base = "#{major}.#{minor}.#{patch}"

  case
  when pre_release && build
    "#{base}-#{pre_release}+#{build}"
  when pre_release
    "#{base}-#{pre_release}"
  when build
    "#{base}+#{build}"
  else
    base
  end
end