diff options
Diffstat (limited to 'lib/upgrader.rb')
-rw-r--r-- | lib/upgrader.rb | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/lib/upgrader.rb b/lib/upgrader.rb index 3969fa2..b1599e2 100644 --- a/lib/upgrader.rb +++ b/lib/upgrader.rb @@ -41,7 +41,10 @@ class Upgrader end def latest_version_raw - last_tag = git_tags.last.match(/v\d\.\d\.\d/).to_s + git_tags = fetch_git_tags + git_tags = git_tags.select { |version| version =~ /v\d+\.\d+\.\d+\Z/ } + git_versions = git_tags.map { |tag| VersionInfo.parse(tag.match(/v\d+\.\d+\.\d+/).to_s) } + "v#{git_versions.sort.last.to_s}" end def update_commands @@ -90,8 +93,8 @@ class Upgrader answer end - def git_tags + def fetch_git_tags tags = `git ls-remote --tags origin | grep tags\/v#{current_version.major}` - tags.lines.to_a.select { |version| version =~ /v\d\.\d\.\d\Z/ } + tags.lines.to_a.select { |version| version =~ /v\d+\.\d+\.\d+\Z/ } end end |