class Ore::Versions::Version

Represents a standard three-number version.

@see semver.org/

Attributes

build[R]

The build string

major[R]

Major version number

minor[R]

Minor version number

patch[R]

Patch version number

Public Class Methods

new(major,minor,patch,build=nil) click to toggle source

Creates a new version.

@param [Integer, nil] major

The major version number.

@param [Integer, nil] minor

The minor version number.

@param [Integer, nil] patch

The patch version number.

@param [Integer, nil] build (nil)

The build version number.
Calls superclass method
# File lib/ore/versions/version.rb, line 41
def initialize(major,minor,patch,build=nil)
  @major = (major || 0)
  @minor = (minor || 0)
  @patch = (patch || 0)
  @build = build

  numbers = [@major,@minor,@patch]
  numbers << @build if  @build

  super(numbers.join('.'))
end
parse(string) click to toggle source

Parses a version string.

@param [String] string

The version string.

@return [Version]

The parsed version.
# File lib/ore/versions/version.rb, line 62
def self.parse(string)
  major, minor, patch, build = string.split('.',4)

  return self.new(
    (major || 0).to_i,
    (minor || 0).to_i,
    (patch || 0).to_i,
    build
  )
end