No commit activity in last 3 years
No release in over 3 years
A utility for working with software version numbers as specified by Semantic Versioning (http://semver.org/)
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

~> 2.12.0
 Project Readme

SemanticVersioning

Utility for working with software versions as specified by Semantic Versioning 2.0.0-rc.1.

Build status

SemanticVersioning::Version

Create a version object from a SemVer-formatted string.

version = SemanticVersioning::Version.new('1.2.0-pre.1+b.42')
version.major
  # => 1
version.build
  # => "b.42"

Increment version identifiers.

version.increment(:major)
version
  # => "2.0.0"

Compare versions.

current = SemanticVersioning::Version.new('1.2.0-pre.1')
previous = SemanticVersioning::Version.new('1.1.12')
current > previous
  # => true

SemanticVersioning::VersionSet

Work with sorted version sets.

versions = SemanticVersioning::VersionSet.new(['1.2.0-pre.3', '1.3.0'])
  # => #<SemanticVersioning::VersionSet: {1.2.0-pre.3, 1.3.0}>
versions << SemanticVersioning::Version.new('1.1.12')
  # => #<SemanticVersioning::VersionSet: {1.1.12, 1.2.0-pre.3, 1.3.0}>
versions.where(:>=, '1.1.13')
  # => #<SemanticVersioning::VersionSet: {1.2.0-pre.3, 1.3.0}>

License

Released under an MIT license (see LICENSE.txt).

http://blog.joecorcoran.co.uk