avm-tools 0.86.0 → 0.87.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (77) hide show
  1. checksums.yaml +4 -4
  2. data/lib/avm/git/file_auto_fixup.rb +22 -3
  3. data/lib/avm/tools/runner.rb +2 -4
  4. data/lib/avm/tools/runner/eac_rails_base0.rb +1 -1
  5. data/lib/avm/tools/runner/eac_rails_base0/apache_path.rb +1 -1
  6. data/lib/avm/tools/runner/eac_redmine_base0.rb +1 -1
  7. data/lib/avm/tools/runner/eac_redmine_base0/core_update.rb +1 -1
  8. data/lib/avm/tools/runner/eac_redmine_base0/docker.rb +1 -1
  9. data/lib/avm/tools/runner/eac_redmine_base0/project_rename.rb +1 -1
  10. data/lib/avm/tools/runner/eac_wordpress_base0.rb +1 -1
  11. data/lib/avm/tools/runner/eac_writings_base0.rb +1 -1
  12. data/lib/avm/tools/runner/eac_writings_base1.rb +1 -1
  13. data/lib/avm/tools/runner/files.rb +7 -15
  14. data/lib/avm/tools/runner/files/format.rb +18 -27
  15. data/lib/avm/tools/runner/files/rotate.rb +11 -21
  16. data/lib/avm/tools/runner/git.rb +10 -15
  17. data/lib/avm/tools/runner/git/auto_commit.rb +2 -2
  18. data/lib/avm/tools/runner/git/auto_fixup.rb +23 -16
  19. data/lib/avm/tools/runner/git/commit.rb +2 -2
  20. data/lib/avm/tools/runner/git/deploy.rb +18 -28
  21. data/lib/avm/tools/runner/git/dirty_files.rb +2 -2
  22. data/lib/avm/tools/runner/git/issue.rb +2 -2
  23. data/lib/avm/tools/runner/git/organize.rb +2 -2
  24. data/lib/avm/tools/runner/git/revisions_test.rb +2 -2
  25. data/lib/avm/tools/runner/git/subrepo.rb +2 -2
  26. data/lib/avm/tools/runner/git/subrepo/check.rb +2 -2
  27. data/lib/avm/tools/runner/git/subrepo/clone.rb +2 -2
  28. data/lib/avm/tools/runner/git/subrepo/fix.rb +4 -3
  29. data/lib/avm/tools/runner/instance.rb +1 -1
  30. data/lib/avm/tools/runner/instance/info.rb +1 -1
  31. data/lib/avm/tools/runner/launcher.rb +1 -1
  32. data/lib/avm/tools/runner/launcher/instances.rb +1 -1
  33. data/lib/avm/tools/runner/launcher/projects.rb +1 -1
  34. data/lib/avm/tools/runner/launcher/publish.rb +1 -1
  35. data/lib/avm/tools/runner/local_project.rb +5 -8
  36. data/lib/avm/tools/runner/local_project/eac_writings_base0.rb +2 -2
  37. data/lib/avm/tools/runner/local_project/eac_writings_base0/build_chapters.rb +2 -2
  38. data/lib/avm/tools/runner/local_project/eac_writings_base0/build_single.rb +2 -2
  39. data/lib/avm/tools/runner/local_project/eac_writings_base0/info.rb +2 -2
  40. data/lib/avm/tools/runner/local_project/eac_writings_base1.rb +2 -2
  41. data/lib/avm/tools/runner/local_project/eac_writings_base1/build.rb +2 -2
  42. data/lib/avm/tools/runner/local_project/info.rb +2 -2
  43. data/lib/avm/tools/runner/local_project/ruby.rb +2 -2
  44. data/lib/avm/tools/runner/local_project/ruby/bundler.rb +2 -2
  45. data/lib/avm/tools/runner/local_project/ruby/bundler/gemfile_lock.rb +2 -2
  46. data/lib/avm/tools/runner/local_project/test.rb +2 -2
  47. data/lib/avm/tools/runner/local_project/update.rb +2 -2
  48. data/lib/avm/tools/runner/local_project/version_bump.rb +10 -13
  49. data/lib/avm/tools/runner/ruby.rb +1 -1
  50. data/lib/avm/tools/runner/ruby/gems.rb +1 -1
  51. data/lib/avm/tools/runner/ruby/gems/generate.rb +1 -1
  52. data/lib/avm/tools/runner/ruby/rubocop.rb +1 -1
  53. data/lib/avm/tools/runner/self.rb +1 -1
  54. data/lib/avm/tools/runner/self/docker.rb +1 -1
  55. data/lib/avm/tools/version.rb +1 -1
  56. data/vendor/eac_cli/lib/eac_cli/docopt/runner_context_replacement.rb +15 -0
  57. data/vendor/eac_cli/lib/eac_cli/docopt/runner_extension.rb +5 -0
  58. data/vendor/eac_cli/lib/eac_cli/parser/alternative.rb +4 -4
  59. data/vendor/eac_cli/lib/eac_cli/parser/alternative/long_options.rb +37 -0
  60. data/vendor/eac_cli/lib/eac_cli/parser/alternative/option_argument.rb +29 -0
  61. data/vendor/eac_cli/lib/eac_cli/parser/alternative/options.rb +7 -36
  62. data/vendor/eac_cli/lib/eac_cli/parser/alternative/short_options.rb +45 -0
  63. data/vendor/eac_cli/lib/eac_cli/runner_with/subcommands.rb +14 -2
  64. data/vendor/eac_cli/lib/eac_cli/version.rb +1 -1
  65. data/vendor/eac_cli/spec/lib/eac_cli/runner_spec.rb +22 -1
  66. data/vendor/eac_ruby_base0/lib/eac_ruby_base0/application.rb +1 -0
  67. data/vendor/eac_ruby_base0/lib/eac_ruby_base0/runner.rb +9 -6
  68. data/vendor/eac_ruby_base0/lib/eac_ruby_base0/runner/test_all.rb +4 -9
  69. data/vendor/eac_ruby_base0/lib/eac_ruby_base0/version.rb +1 -1
  70. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/fs/traverser.rb +0 -2
  71. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/inflector.rb +4 -1
  72. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/module/template.rb +10 -0
  73. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/patches/object/template.rb +1 -8
  74. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/version.rb +1 -1
  75. data/vendor/eac_ruby_utils/lib/eac_ruby_utils/yaml.rb +8 -0
  76. data/vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/inflector_spec.rb +2 -1
  77. metadata +7 -2
@@ -1,32 +1,22 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'eac_ruby_utils/console/docopt_runner'
4
- require 'eac_ruby_utils/console/speaker'
5
- require 'eac_ruby_utils/simple_cache'
6
3
  require 'eac_launcher/git/base'
7
4
  require 'avm/git/commit'
8
5
 
9
6
  module Avm
10
7
  module Tools
11
- class Runner < ::EacRubyUtils::Console::DocoptRunner
12
- class Git < ::EacRubyUtils::Console::DocoptRunner
13
- class Deploy < ::EacRubyUtils::Console::DocoptRunner
14
- include ::EacRubyUtils::SimpleCache
15
- include ::EacRubyUtils::Console::Speaker
16
-
17
- DOC = <<~DOCOPT
18
- Deploy a Git revision to a location (Local or remote).
19
-
20
- Usage:
21
- __PROGRAM__ [options] [<target-url>]
22
- __PROGRAM__ -h | --help
23
-
24
- Options:
25
- -h --help Mostra esta ajuda.
26
- -r --reference=<reference> Reference [default: HEAD].
27
- -i --instance=<instance-id> Read entries from instance with id=<instance-id>.
28
- -a --append-dirs=<append-dirs> Append directories to deploy (List separated by ":").
29
- DOCOPT
8
+ class Runner
9
+ class Git
10
+ class Deploy
11
+ DEFAULT_REFERENCE = 'HEAD'
12
+
13
+ runner_with :help do
14
+ desc 'Deploy a Git revision to a location (Local or remote).'
15
+ arg_opt '-a', '--append-dirs', 'Append directories to deploy (List separated by ":").'
16
+ arg_opt '-i', '--instance', 'Read entries from instance with id=<instance-id>.'
17
+ arg_opt '-r', '--reference', "Reference (default: #{DEFAULT_REFERENCE})."
18
+ pos_arg :target_url
19
+ end
30
20
 
31
21
  def run
32
22
  input_banner
@@ -62,7 +52,7 @@ module Avm
62
52
  end
63
53
 
64
54
  def reference
65
- options.fetch('--reference')
55
+ parsed.reference || DEFAULT_REFERENCE
66
56
  end
67
57
 
68
58
  def git_uncached
@@ -70,8 +60,8 @@ module Avm
70
60
  end
71
61
 
72
62
  def git_repository_path
73
- if context('repository_path?') || dev_instance_fs_path.blank?
74
- return context(:repository_path)
63
+ if runner_context.call(:repository_path) || dev_instance_fs_path.blank?
64
+ return runner_context.call(:repository_path)
75
65
  end
76
66
 
77
67
  dev_instance_fs_path
@@ -94,7 +84,7 @@ module Avm
94
84
  end
95
85
 
96
86
  def target_url
97
- options['<target-url>'].if_present { |v| return v }
87
+ parsed.target_url.if_present { |v| return v }
98
88
  instance.if_present { |v| return v.read_entry('fs.url') }
99
89
  nil
100
90
  end
@@ -108,11 +98,11 @@ module Avm
108
98
  end
109
99
 
110
100
  def instance_id
111
- options.fetch('--instance')
101
+ parsed.instance
112
102
  end
113
103
 
114
104
  def appended_directories
115
- options.fetch('--append-dirs').to_s.split(':')
105
+ parsed.append_dirs.to_s.split(':')
116
106
  end
117
107
  end
118
108
  end
@@ -5,8 +5,8 @@ require 'eac_ruby_utils/console/docopt_runner'
5
5
 
6
6
  module Avm
7
7
  module Tools
8
- class Runner < ::EacRubyUtils::Console::DocoptRunner
9
- class Git < ::EacRubyUtils::Console::DocoptRunner
8
+ class Runner
9
+ class Git
10
10
  class DirtyFiles < ::EacRubyUtils::Console::DocoptRunner
11
11
  enable_console_speaker
12
12
 
@@ -6,8 +6,8 @@ require 'avm/git/issue/complete'
6
6
 
7
7
  module Avm
8
8
  module Tools
9
- class Runner < ::EacRubyUtils::Console::DocoptRunner
10
- class Git < ::EacRubyUtils::Console::DocoptRunner
9
+ class Runner
10
+ class Git
11
11
  class Issue < ::EacRubyUtils::Console::DocoptRunner
12
12
  enable_simple_cache
13
13
  include ::EacRubyUtils::Console::Speaker
@@ -6,8 +6,8 @@ require 'eac_ruby_utils/console/docopt_runner'
6
6
 
7
7
  module Avm
8
8
  module Tools
9
- class Runner < ::EacRubyUtils::Console::DocoptRunner
10
- class Git < ::EacRubyUtils::Console::DocoptRunner
9
+ class Runner
10
+ class Git
11
11
  class Organize < ::EacRubyUtils::Console::DocoptRunner
12
12
  include ::EacCli::DefaultRunner
13
13
 
@@ -6,8 +6,8 @@ require 'avm/git/revision_test'
6
6
 
7
7
  module Avm
8
8
  module Tools
9
- class Runner < ::EacRubyUtils::Console::DocoptRunner
10
- class Git < ::EacRubyUtils::Console::DocoptRunner
9
+ class Runner
10
+ class Git
11
11
  class RevisionsTest < ::EacRubyUtils::Console::DocoptRunner
12
12
  enable_simple_cache
13
13
  enable_console_speaker
@@ -5,8 +5,8 @@ require 'eac_ruby_utils/console/docopt_runner'
5
5
 
6
6
  module Avm
7
7
  module Tools
8
- class Runner < ::EacRubyUtils::Console::DocoptRunner
9
- class Git < ::EacRubyUtils::Console::DocoptRunner
8
+ class Runner
9
+ class Git
10
10
  class Subrepo < ::EacRubyUtils::Console::DocoptRunner
11
11
  require_sub __FILE__
12
12
  include ::EacCli::DefaultRunner
@@ -6,8 +6,8 @@ require 'eac_ruby_utils/console/docopt_runner'
6
6
 
7
7
  module Avm
8
8
  module Tools
9
- class Runner < ::EacRubyUtils::Console::DocoptRunner
10
- class Git < ::EacRubyUtils::Console::DocoptRunner
9
+ class Runner
10
+ class Git
11
11
  class Subrepo < ::EacRubyUtils::Console::DocoptRunner
12
12
  class Check < ::EacRubyUtils::Console::DocoptRunner
13
13
  include ::EacCli::DefaultRunner
@@ -6,8 +6,8 @@ require 'eac_ruby_utils/console/docopt_runner'
6
6
 
7
7
  module Avm
8
8
  module Tools
9
- class Runner < ::EacRubyUtils::Console::DocoptRunner
10
- class Git < ::EacRubyUtils::Console::DocoptRunner
9
+ class Runner
10
+ class Git
11
11
  class Subrepo < ::EacRubyUtils::Console::DocoptRunner
12
12
  class Clone
13
13
  runner_with :help do
@@ -6,8 +6,8 @@ require 'eac_ruby_utils/console/docopt_runner'
6
6
 
7
7
  module Avm
8
8
  module Tools
9
- class Runner < ::EacRubyUtils::Console::DocoptRunner
10
- class Git < ::EacRubyUtils::Console::DocoptRunner
9
+ class Runner
10
+ class Git
11
11
  class Subrepo < ::EacRubyUtils::Console::DocoptRunner
12
12
  class Fix
13
13
  runner_with :help do
@@ -29,7 +29,8 @@ module Avm
29
29
  infov 'Dirty files', local_repos.dirty_files.count
30
30
  local_repos.dirty_files.each do |file|
31
31
  infov ' * Ammending', file.path
32
- ::Avm::Git::FileAutoFixup.new(runner_context.call(:git), file.path).run
32
+ ::Avm::Git::FileAutoFixup.new(runner_context.call(:git), file.path,
33
+ ::Avm::Git::FileAutoFixup::OPTION_UNIQUE => true).run
33
34
  end
34
35
  end
35
36
 
@@ -6,7 +6,7 @@ require 'eac_ruby_utils/console/docopt_runner'
6
6
 
7
7
  module Avm
8
8
  module Tools
9
- class Runner < ::EacRubyUtils::Console::DocoptRunner
9
+ class Runner
10
10
  class Instance < ::EacRubyUtils::Console::DocoptRunner
11
11
  require_sub __FILE__
12
12
  runner_with
@@ -6,7 +6,7 @@ require 'eac_ruby_utils/console/docopt_runner'
6
6
 
7
7
  module Avm
8
8
  module Tools
9
- class Runner < ::EacRubyUtils::Console::DocoptRunner
9
+ class Runner
10
10
  class Instance < ::EacRubyUtils::Console::DocoptRunner
11
11
  class Info < ::EacRubyUtils::Console::DocoptRunner
12
12
  runner_with
@@ -5,7 +5,7 @@ require 'eac_ruby_utils/core_ext'
5
5
 
6
6
  module Avm
7
7
  module Tools
8
- class Runner < ::EacRubyUtils::Console::DocoptRunner
8
+ class Runner
9
9
  class Launcher < ::EacRubyUtils::Console::DocoptRunner
10
10
  require_sub __FILE__
11
11
  include ::EacCli::DefaultRunner
@@ -4,7 +4,7 @@ require 'eac_launcher/instances/runner_helper'
4
4
 
5
5
  module Avm
6
6
  module Tools
7
- class Runner < ::EacRubyUtils::Console::DocoptRunner
7
+ class Runner
8
8
  class Launcher < ::EacRubyUtils::Console::DocoptRunner
9
9
  class Instances < ::EacLauncher::Instances::RunnerHelper
10
10
  DOC = <<~DOCOPT
@@ -5,7 +5,7 @@ require 'eac_launcher/instances/runner_helper'
5
5
 
6
6
  module Avm
7
7
  module Tools
8
- class Runner < ::EacRubyUtils::Console::DocoptRunner
8
+ class Runner
9
9
  class Launcher < ::EacRubyUtils::Console::DocoptRunner
10
10
  class Projects < ::EacLauncher::Instances::RunnerHelper
11
11
  DOC = <<~DOCOPT
@@ -4,7 +4,7 @@ require 'eac_launcher/instances/runner_helper'
4
4
 
5
5
  module Avm
6
6
  module Tools
7
- class Runner < ::EacRubyUtils::Console::DocoptRunner
7
+ class Runner
8
8
  class Launcher < ::EacRubyUtils::Console::DocoptRunner
9
9
  class Publish < ::EacLauncher::Instances::RunnerHelper
10
10
  DOC = <<~DOCOPT
@@ -1,17 +1,14 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'eac_ruby_utils/console/docopt_runner'
4
- require 'eac_ruby_utils/core_ext'
5
3
  require 'avm/local_projects/instance'
4
+ require 'eac_cli/core_ext'
6
5
 
7
6
  module Avm
8
7
  module Tools
9
- class Runner < ::EacRubyUtils::Console::DocoptRunner
10
- class LocalProject < ::EacRubyUtils::Console::DocoptRunner
8
+ class Runner
9
+ class LocalProject
11
10
  require_sub __FILE__
12
- include ::EacCli::DefaultRunner
13
-
14
- runner_definition do
11
+ runner_with :help, :subcommands do
15
12
  desc 'Utilities for local projects.'
16
13
  arg_opt '-C', '--path', 'Path to local project instance.'
17
14
  subcommands
@@ -29,7 +26,7 @@ module Avm
29
26
  end
30
27
 
31
28
  def instance_path_uncached
32
- (options.fetch('--path') || '.').to_pathname.expand_path
29
+ (parsed.path || '.').to_pathname.expand_path
33
30
  end
34
31
  end
35
32
  end
@@ -6,8 +6,8 @@ require 'eac_ruby_utils/console/docopt_runner'
6
6
 
7
7
  module Avm
8
8
  module Tools
9
- class Runner < ::EacRubyUtils::Console::DocoptRunner
10
- class LocalProject < ::EacRubyUtils::Console::DocoptRunner
9
+ class Runner
10
+ class LocalProject
11
11
  class EacWritingsBase0
12
12
  require_sub __FILE__
13
13
  enable_simple_cache
@@ -6,8 +6,8 @@ require 'eac_ruby_utils/console/docopt_runner'
6
6
 
7
7
  module Avm
8
8
  module Tools
9
- class Runner < ::EacRubyUtils::Console::DocoptRunner
10
- class LocalProject < ::EacRubyUtils::Console::DocoptRunner
9
+ class Runner
10
+ class LocalProject
11
11
  class EacWritingsBase0
12
12
  class BuildChapters
13
13
  runner_with :help do
@@ -6,8 +6,8 @@ require 'eac_ruby_utils/console/docopt_runner'
6
6
 
7
7
  module Avm
8
8
  module Tools
9
- class Runner < ::EacRubyUtils::Console::DocoptRunner
10
- class LocalProject < ::EacRubyUtils::Console::DocoptRunner
9
+ class Runner
10
+ class LocalProject
11
11
  class EacWritingsBase0
12
12
  class BuildSingle
13
13
  runner_with :help do
@@ -6,8 +6,8 @@ require 'eac_ruby_utils/console/docopt_runner'
6
6
 
7
7
  module Avm
8
8
  module Tools
9
- class Runner < ::EacRubyUtils::Console::DocoptRunner
10
- class LocalProject < ::EacRubyUtils::Console::DocoptRunner
9
+ class Runner
10
+ class LocalProject
11
11
  class EacWritingsBase0
12
12
  class Info
13
13
  runner_with :help do
@@ -5,8 +5,8 @@ require 'eac_ruby_utils/console/docopt_runner'
5
5
 
6
6
  module Avm
7
7
  module Tools
8
- class Runner < ::EacRubyUtils::Console::DocoptRunner
9
- class LocalProject < ::EacRubyUtils::Console::DocoptRunner
8
+ class Runner
9
+ class LocalProject
10
10
  class EacWritingsBase1
11
11
  require_sub __FILE__
12
12
 
@@ -7,8 +7,8 @@ require 'eac_ruby_utils/console/docopt_runner'
7
7
 
8
8
  module Avm
9
9
  module Tools
10
- class Runner < ::EacRubyUtils::Console::DocoptRunner
11
- class LocalProject < ::EacRubyUtils::Console::DocoptRunner
10
+ class Runner
11
+ class LocalProject
12
12
  class EacWritingsBase1
13
13
  class Build
14
14
  runner_with :help do
@@ -5,8 +5,8 @@ require 'eac_ruby_utils/core_ext'
5
5
 
6
6
  module Avm
7
7
  module Tools
8
- class Runner < ::EacRubyUtils::Console::DocoptRunner
9
- class LocalProject < ::EacRubyUtils::Console::DocoptRunner
8
+ class Runner
9
+ class LocalProject
10
10
  class Info < ::EacRubyUtils::Console::DocoptRunner
11
11
  include ::EacCli::DefaultRunner
12
12
 
@@ -7,8 +7,8 @@ require 'eac_ruby_utils/core_ext'
7
7
 
8
8
  module Avm
9
9
  module Tools
10
- class Runner < ::EacRubyUtils::Console::DocoptRunner
11
- class LocalProject < ::EacRubyUtils::Console::DocoptRunner
10
+ class Runner
11
+ class LocalProject
12
12
  class Ruby < ::EacRubyUtils::Console::DocoptRunner
13
13
  require_sub __FILE__
14
14
  include ::EacCli::DefaultRunner
@@ -6,8 +6,8 @@ require 'eac_ruby_utils/core_ext'
6
6
 
7
7
  module Avm
8
8
  module Tools
9
- class Runner < ::EacRubyUtils::Console::DocoptRunner
10
- class LocalProject < ::EacRubyUtils::Console::DocoptRunner
9
+ class Runner
10
+ class LocalProject
11
11
  class Ruby < ::EacRubyUtils::Console::DocoptRunner
12
12
  class Bundler < ::EacRubyUtils::Console::DocoptRunner
13
13
  require_sub __FILE__
@@ -5,8 +5,8 @@ require 'eac_ruby_utils/console/docopt_runner'
5
5
 
6
6
  module Avm
7
7
  module Tools
8
- class Runner < ::EacRubyUtils::Console::DocoptRunner
9
- class LocalProject < ::EacRubyUtils::Console::DocoptRunner
8
+ class Runner
9
+ class LocalProject
10
10
  class Ruby < ::EacRubyUtils::Console::DocoptRunner
11
11
  class Bundler < ::EacRubyUtils::Console::DocoptRunner
12
12
  class GemfileLock < ::EacRubyUtils::Console::DocoptRunner
@@ -5,8 +5,8 @@ require 'eac_ruby_utils/core_ext'
5
5
 
6
6
  module Avm
7
7
  module Tools
8
- class Runner < ::EacRubyUtils::Console::DocoptRunner
9
- class LocalProject < ::EacRubyUtils::Console::DocoptRunner
8
+ class Runner
9
+ class LocalProject
10
10
  class Test < ::EacRubyUtils::Console::DocoptRunner
11
11
  include ::EacCli::DefaultRunner
12
12
 
@@ -5,8 +5,8 @@ require 'eac_ruby_utils/core_ext'
5
5
 
6
6
  module Avm
7
7
  module Tools
8
- class Runner < ::EacRubyUtils::Console::DocoptRunner
9
- class LocalProject < ::EacRubyUtils::Console::DocoptRunner
8
+ class Runner
9
+ class LocalProject
10
10
  class Update < ::EacRubyUtils::Console::DocoptRunner
11
11
  include ::EacCli::DefaultRunner
12
12
 
@@ -1,17 +1,14 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'avm/version'
4
- require 'eac_ruby_utils/console/docopt_runner'
5
- require 'eac_ruby_utils/core_ext'
4
+ require 'eac_cli/core_ext'
6
5
 
7
6
  module Avm
8
7
  module Tools
9
- class Runner < ::EacRubyUtils::Console::DocoptRunner
10
- class LocalProject < ::EacRubyUtils::Console::DocoptRunner
11
- class VersionBump < ::EacRubyUtils::Console::DocoptRunner
12
- include ::EacCli::DefaultRunner
13
-
14
- runner_definition do
8
+ class Runner
9
+ class LocalProject
10
+ class VersionBump
11
+ runner_with :help do
15
12
  desc 'Bump version of a local project.'
16
13
  arg_opt '-n', '--new', 'Set new version.'
17
14
  arg_opt '-s', '--segment', 'Increment de <segment>-th segment (Left-most is 0)'
@@ -29,7 +26,7 @@ module Avm
29
26
  def run_version_changed
30
27
  infom 'Version changed'
31
28
  if confirm?
32
- context(:instance).run_job(:version_bump, target_version)
29
+ runner_context.call(:instance).run_job(:version_bump, target_version)
33
30
  success 'Bumped'
34
31
  else
35
32
  fatal_error 'Bump unconfirmed'
@@ -41,23 +38,23 @@ module Avm
41
38
  end
42
39
 
43
40
  def start_banner
44
- context(:instance_banner)
41
+ runner_context.call(:instance_banner)
45
42
  infov 'Current version', current_version.if_present('-')
46
43
  infov 'Target version', target_version.if_present('-')
47
44
  end
48
45
 
49
46
  def confirm?
50
- options.fetch('--yes') || request_input('Confirm version bump?', bool: true)
47
+ parsed.yes? || request_input('Confirm version bump?', bool: true)
51
48
  end
52
49
 
53
50
  def current_version_uncached
54
- context(:instance).if_respond('version')
51
+ runner_context.call(:instance).if_respond('version')
55
52
  end
56
53
 
57
54
  def target_version_uncached
58
55
  r = current_version
59
56
  %w[new segment major minor patch].each do |option|
60
- option_value = options.fetch("--#{option}")
57
+ option_value = parsed[option]
61
58
  next if option_value.blank?
62
59
 
63
60
  r = send("target_version_from_#{option}", r, option_value)