README.md in versionaire-7.3.4 vs README.md in versionaire-8.0.0
- old
+ new
@@ -7,11 +7,12 @@
[![Gem Version](https://badge.fury.io/rb/versionaire.svg)](http://badge.fury.io/rb/versionaire)
[![Code Climate Maintainability](https://api.codeclimate.com/v1/badges/e61fa9230ecc0bfa6f07/maintainability)](https://codeclimate.com/github/bkuhlmann/versionaire/maintainability)
[![Code Climate Test Coverage](https://api.codeclimate.com/v1/badges/e61fa9230ecc0bfa6f07/test_coverage)](https://codeclimate.com/github/bkuhlmann/versionaire/test_coverage)
[![Circle CI Status](https://circleci.com/gh/bkuhlmann/versionaire.svg?style=svg)](https://circleci.com/gh/bkuhlmann/versionaire)
-Provides immutable, thread-safe, semantic versioning.
+Provides an immutable, thread-safe, and semantic version type when managing versions within your
+applications.
<!-- Tocer[start]: Auto-generated, don't remove. -->
## Table of Contents
@@ -46,15 +47,15 @@
## Features
- Provides [Semantic Versioning](https://semver.org).
- Provides immutable, thread-safe version instances.
-- Provides conversions (casts) from a `String`, `Array`, `Hash`, or `Version` to a `Version`.
+- Converts (casts) from a `String`, `Array`, `Hash`, or `Version` to a `Version`.
## Screencasts
-[![asciicast](https://asciinema.org/a/263062.svg)](https://asciinema.org/a/263062)
+[![asciicast](https://asciinema.org/a/278658.svg)](https://asciinema.org/a/278658)
## Requirements
1. [Ruby 2.6.x](https://www.ruby-lang.org).
@@ -75,11 +76,11 @@
A new version can be initialized in a variety of ways:
Versionaire::Version.new # "0.0.0"
Versionaire::Version[major: 1] # "1.0.0"
Versionaire::Version[major: 1, minor: 2] # "1.2.0"
- Versionaire::Version[major: 1, minor: 2, maintenance: 3] # "1.2.3"
+ Versionaire::Version[major: 1, minor: 2, patch: 3] # "1.2.3"
### Equality
#### Value (`#==`)
@@ -128,11 +129,11 @@
version = Versionaire::Version[major: 1]
Versionaire::Version "1.0.0"
Versionaire::Version [1, 0, 0]
- Versionaire::Version major: 1, minor: 0, maintenance: 0
+ Versionaire::Version major: 1, minor: 0, patch: 0
Versionaire::Version version
Each of these conversions will result in a version object that represents "1.0.0". When attempting
to convert an unsupported type, a `Versionaire::Errors::Conversion` exception will be thrown.
@@ -148,11 +149,11 @@
version = Versionaire::Version.new
version.to_s # "0.0.0"
version.to_a # [0, 0, 0]
- version.to_h # {major: 0, minor: 0, maintenance: 0}
+ version.to_h # {major: 0, minor: 0, patch: 0}
### Comparisons
All versions are comparable which means any of the operators from the `Comparable` module will work.
Example:
@@ -172,17 +173,17 @@
Versions can be added and subtracted from each other.
#### Addition
- version_1 = Versionaire::Version[major: 1, minor: 2, maintenance: 3]
- version_2 = Versionaire::Version[major: 2, minor: 5, maintenance: 7]
+ version_1 = Versionaire::Version[major: 1, minor: 2, patch: 3]
+ version_2 = Versionaire::Version[major: 2, minor: 5, patch: 7]
version_1 + version_2 # "3.7.10"
#### Subtraction
- version_1 = Versionaire::Version[major: 1, minor: 2, maintenance: 3]
- version_2 = Versionaire::Version[major: 1, minor: 1, maintenance: 1]
+ version_1 = Versionaire::Version[major: 1, minor: 2, patch: 3]
+ version_2 = Versionaire::Version[major: 1, minor: 1, patch: 1]
version_1 - version_2 # "0.1.2"
version_1 = Versionaire::Version[major: 1]
version_2 = Versionaire::Version[major: 5]
version_1 - version_2 # Fails with a Versionaire::Errors::NegativeNumber