Module: PrereleaseHandler

Included in:
Describe
Defined in:
lib/get/subcommand/describe/prerelease.rb

Overview

Module with methods for managing prerelease updates.

Constant Summary collapse

FIRST_PRERELEASE =
1
DEFAULT_PRERELEASE_STRING =
'dev'
PRERELEASE_PLACEHOLDER =
'(p)'
DEFAULT_PRERELEASE_PATTERN =
"#{DEFAULT_PRERELEASE_STRING}#{PRERELEASE_PLACEHOLDER}".freeze

Instance Method Summary collapse

Instance Method Details

#updated_prerelease(last_version, new_stable_version) ⇒ Object



30
31
32
33
34
35
36
37
38
39
40
# File 'lib/get/subcommand/describe/prerelease.rb', line 30

def updated_prerelease(last_version, new_stable_version)
  if last_version.nil?
    compute_prerelease(nil, need_reset: true)
  else
    base_version_match_data = Git::FULL_SEMANTIC_VERSION_REGEX.match(last_version)
    no_changes_from_last_release = base_version_match_data[1] == new_stable_version &&
                                   base_version_match_data[5].nil?
    Common.error 'No changes from last release' if no_changes_from_last_release
    compute_prerelease(base_version_match_data[5], need_reset: base_version_match_data[1] != new_stable_version)
  end
end