bhargavg / semantic

Ruby Semantic Version class

Home Page:https://rubygems.org/gems/semantic

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Semantic

BuildStatus

A small Ruby utility class to aid in the storage, parsing, and comparison of SemVer-style Version strings.

See the SemVer site for more details.

Usage

This library exposes a single class – Semantic::Version. Simply pass in a valid SemVer string to the initializer.

require 'semantic'

version = Semantic::Version.new '1.6.5'
version.major             # => 1
version.minor             # => 6
version.patch             # => 5

newer_version = Semantic::Version.new '1.7.0'
version > newer_version   # => false
newer_version <=> version # => 1

complex_version = Semantic::Version.new '3.7.9-pre.1+revision.15723'
complex_version.pre       # => "pre.1"
complex_version.build     # => "revision.15623"

# semantic supports Pessimistic Operator
version.satisfies? '~> 1.5'    # => true
version.satisfies? '~> 1.6.0'  # => true

There is also a set of core extensions as an optional require:

require 'semantic'
require 'semantic/core_ext'

"1.8.7-pre.123".to_version

License

Copyright (c) 2012 Josh Lindsey. See LICENSE for details.

About

Ruby Semantic Version class

https://rubygems.org/gems/semantic

License:MIT License


Languages

Language:Ruby 100.0%