From 4370448bd0ab86da9936731821369dc0e85f716d Mon Sep 17 00:00:00 2001 From: rkiel Date: Fri, 29 Sep 2017 21:30:42 -0400 Subject: [PATCH] 3-start: renamed major,minor,patch to just start --- lib/release/commander.rb | 4 +--- lib/release/major.rb | 20 ------------------ lib/release/minor.rb | 20 ------------------ lib/release/patch.rb | 20 ------------------ lib/release/{new_version.rb => start.rb} | 26 +++++++++++++++++++----- 5 files changed, 22 insertions(+), 68 deletions(-) delete mode 100644 lib/release/major.rb delete mode 100644 lib/release/minor.rb delete mode 100644 lib/release/patch.rb rename lib/release/{new_version.rb => start.rb} (52%) diff --git a/lib/release/commander.rb b/lib/release/commander.rb index 25a05cf..44b08e2 100644 --- a/lib/release/commander.rb +++ b/lib/release/commander.rb @@ -9,9 +9,7 @@ module Release :finish, :help, :list, - :major, - :minor, - :patch, + :start, :tab, :trash ].sort diff --git a/lib/release/major.rb b/lib/release/major.rb deleted file mode 100644 index c887a9f..0000000 --- a/lib/release/major.rb +++ /dev/null @@ -1,20 +0,0 @@ -require_relative './new_version' - -module Release - - class Major < Release::NewVersion - - private - - def subcommand_name - "major" - end - - def increment_version (version) - numbers = version.split('.').map { |x| x.to_i } - "#{numbers[0]+1}.0.0" - end - - end - -end diff --git a/lib/release/minor.rb b/lib/release/minor.rb deleted file mode 100644 index a0f6743..0000000 --- a/lib/release/minor.rb +++ /dev/null @@ -1,20 +0,0 @@ -require_relative './new_version' - -module Release - - class Minor < Release::NewVersion - - private - - def subcommand_name - "minor" - end - - def increment_version (version) - numbers = version.split('.').map { |x| x.to_i } - "#{numbers[0]}.#{numbers[1]+1}.0" - end - - end - -end diff --git a/lib/release/patch.rb b/lib/release/patch.rb deleted file mode 100644 index 7e6454f..0000000 --- a/lib/release/patch.rb +++ /dev/null @@ -1,20 +0,0 @@ -require_relative './new_version' - -module Release - - class Patch < Release::NewVersion - - private - - def subcommand_name - "patch" - end - - def increment_version (version) - numbers = version.split('.').map { |x| x.to_i } - "#{numbers[0]}.#{numbers[1]}.#{numbers[2]+1}" - end - - end - -end diff --git a/lib/release/new_version.rb b/lib/release/start.rb similarity index 52% rename from lib/release/new_version.rb rename to lib/release/start.rb index 48bd8ae..98bbf07 100644 --- a/lib/release/new_version.rb +++ b/lib/release/start.rb @@ -2,17 +2,22 @@ require_relative './base' module Release - class NewVersion < Release::Base + class Start < Release::Base def valid? - argv.size > 1 + argv.size == 3 or argv.size == 4 end def help - "release #{subcommand_name} version" + "release start (major|minor|patch) [from] version" end def execute - subcommand, version, *extras = *argv + case argv.size + when 3 + subcommand, level, version = *argv + when 4 + subcommand, level, verb, version = *argv + end validate_version_format version @@ -21,7 +26,18 @@ module Release validate_version_exists version - new_version = increment_version(version) + numbers = version.split('.').map { |x| x.to_i } + case level + when 'major' + new_version = "#{numbers[0]+1}.0.0" + when 'minor' + new_version = "#{numbers[0]}.#{numbers[1]+1}.0" + when 'patch' + new_version = "#{numbers[0]}.#{numbers[1]}.#{numbers[2]+1}" + else + error "unknow release level: #{level}" + end + validate_version_does_not_exist new_version validate_release_branch_does_not_exist(release_branch_from_version(new_version))