Module: Vtasks::Utils::Semver
- Included in:
- Vtasks, Docker::Image, Release
- Defined in:
- lib/vtasks/utils/semver.rb
Overview
Semver module
Constant Summary collapse
- SEM_LEVELS =
[:major, :minor, :patch].freeze
Instance Method Summary collapse
-
#bump(level) ⇒ Object
Increment the version number.
-
#gitver ⇒ Object
Semantic version (from git tags).
-
#semver ⇒ Object
Create semantic version hash.
Instance Method Details
#bump(level) ⇒ Object
Increment the version number
22 23 24 25 26 27 28 |
# File 'lib/vtasks/utils/semver.rb', line 22 def bump(level) new_version = semver.dup new_version[level] = new_version[level].to_i + 1 to_zero = SEM_LEVELS[SEM_LEVELS.index(level) + 1..SEM_LEVELS.size] to_zero.each { |z| new_version[z] = 0 } new_version end |
#gitver ⇒ Object
Semantic version (from git tags)
8 9 10 |
# File 'lib/vtasks/utils/semver.rb', line 8 def gitver `git describe --always --tags 2>/dev/null || echo '0.0.0-0-0'`.chomp end |
#semver ⇒ Object
Create semantic version hash
13 14 15 16 17 18 19 |
# File 'lib/vtasks/utils/semver.rb', line 13 def semver @semver ||= begin {}.tap do |h| h[:major], h[:minor], h[:patch], h[:rev], h[:rev_hash] = gitver[1..-1].split(/[.-]/) end end end |