avm-tools 0.86.0 → 0.87.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 3d94c38f057d3459362f2f15eba68de92e72a7141f03a5c029e920db648eb34b
4
- data.tar.gz: 2719a55cb7b994c496349331e4b5a40a11307e4fe92d889914d3005836d68398
3
+ metadata.gz: df3208595cdaefa7e6f51a5a14518064df146b2081e32365e3ad746326e844bb
4
+ data.tar.gz: 367b039c49b3ff3e9a8083bafe1c889656e924403014efbeec2f3032ccfe0247
5
5
  SHA512:
6
- metadata.gz: 54d1c5271e6d30791bbc6a9cd6084f21ef2e171f3b64e21c315aa41f4bf2f289ae4c8725f74280a0f008d4a6fb32ce85f71fcf3f5e83d46a5ef14d48dc7a6174
7
- data.tar.gz: 2c717894f623ab3bfd4b8b489c01adf8cc564a638c374fa1f7dbc5f9be715461ae4b1f8847b22d48a383e51775754eac408d8f6273260ff32dd1837acd5b30dd
6
+ metadata.gz: 1e1aa08cda713c6600a551681f4f2d986e939675ba41bd5f270497f9dba564213906ae71890ce9ea00285a289d8edc626d70bd91aa31e2a381524bc19404d58b
7
+ data.tar.gz: 25c272f9097b2d48cf1d88ece314eef1361527644942c3b0e1e862709f60e155ac4db9a31b823432f72abd478eaec9f4218503932228a8bf0c44c30b3a3ee46b
@@ -7,8 +7,12 @@ module Avm
7
7
  class FileAutoFixup
8
8
  enable_console_speaker
9
9
  enable_simple_cache
10
+ enable_listable
11
+ lists.add_symbol :option, :select, :unique
10
12
 
11
- common_constructor :git, :path
13
+ common_constructor :git, :path, :options, default: [{}] do
14
+ self.options = self.class.lists.option.hash_keys_validate!(options.symbolize_keys)
15
+ end
12
16
 
13
17
  COMMIT_FORMAT = '%h - %s (%cr)'
14
18
  COMMITS_SEARCH_INTERVAL = 'origin/master..HEAD'
@@ -18,8 +22,8 @@ module Avm
18
22
  start_banner
19
23
  if commits.count.zero?
20
24
  run_no_commits_found
21
- elsif commits.count == 1
22
- fixup_commit(commits.first)
25
+ elsif auto_selected_commit.present?
26
+ fixup_commit(auto_selected_commit)
23
27
  else
24
28
  run_commits_selection
25
29
  end
@@ -27,6 +31,10 @@ module Avm
27
31
 
28
32
  private
29
33
 
34
+ def auto_selected_commit_uncached
35
+ selected_commit_by_unique || select_commit_by_select
36
+ end
37
+
30
38
  def start_banner
31
39
  infov 'Path', path
32
40
  infov ' Commits found', commits.count
@@ -56,6 +64,17 @@ module Avm
56
64
  request_input('Which commit?', list: commits_by_position)
57
65
  end
58
66
 
67
+ def selected_commit_by_unique
68
+ return unless options[OPTION_UNIQUE]
69
+ return commits.first if commits.first
70
+ end
71
+
72
+ def select_commit_by_select
73
+ options[OPTION_SELECT].if_present(&:to_i).if_present do |v|
74
+ commits.find { |commit| commit.position == v }
75
+ end
76
+ end
77
+
59
78
  def commits_banner
60
79
  commits.each_with_index do |commit, _index|
61
80
  infov " #{commit.position}", format_commit(commit)
@@ -3,14 +3,12 @@
3
3
  require 'avm/self'
4
4
  require 'avm/tools/version'
5
5
  require 'eac_ruby_base0/runner'
6
- require 'eac_ruby_utils/console/docopt_runner'
7
- require 'eac_ruby_utils/core_ext'
8
6
 
9
7
  module Avm
10
8
  module Tools
11
- class Runner < ::EacRubyUtils::Console::DocoptRunner
12
- include ::EacRubyBase0::Runner
9
+ class Runner
13
10
  require_sub __FILE__
11
+ include ::EacRubyBase0::Runner
14
12
 
15
13
  runner_definition do
16
14
  desc 'Tools for AVM.'
@@ -7,7 +7,7 @@ require 'eac_ruby_utils/core_ext'
7
7
 
8
8
  module Avm
9
9
  module Tools
10
- class Runner < ::EacRubyUtils::Console::DocoptRunner
10
+ class Runner
11
11
  class EacRailsBase0 < ::Avm::EacRailsBase1::Runner
12
12
  require_sub __FILE__
13
13
  end
@@ -7,7 +7,7 @@ require 'avm/eac_rails_base0/apache_path'
7
7
 
8
8
  module Avm
9
9
  module Tools
10
- class Runner < ::EacRubyUtils::Console::DocoptRunner
10
+ class Runner
11
11
  class EacRailsBase0 < ::Avm::EacRailsBase1::Runner
12
12
  class ApachePath < ::EacRubyUtils::Console::DocoptRunner
13
13
  runner_with
@@ -7,7 +7,7 @@ require 'eac_ruby_utils/core_ext'
7
7
 
8
8
  module Avm
9
9
  module Tools
10
- class Runner < ::EacRubyUtils::Console::DocoptRunner
10
+ class Runner
11
11
  class EacRedmineBase0 < ::Avm::EacRailsBase1::Runner
12
12
  require_sub __FILE__
13
13
  end
@@ -7,7 +7,7 @@ require 'eac_ruby_utils/core_ext'
7
7
 
8
8
  module Avm
9
9
  module Tools
10
- class Runner < ::EacRubyUtils::Console::DocoptRunner
10
+ class Runner
11
11
  class EacRedmineBase0 < ::Avm::EacRailsBase1::Runner
12
12
  class CoreUpdate < ::EacRubyUtils::Console::DocoptRunner
13
13
  include ::EacCli::DefaultRunner
@@ -4,7 +4,7 @@ require 'avm/docker/runner'
4
4
 
5
5
  module Avm
6
6
  module Tools
7
- class Runner < ::EacRubyUtils::Console::DocoptRunner
7
+ class Runner
8
8
  class EacRedmineBase0 < ::Avm::EacRailsBase1::Runner
9
9
  class Docker < ::Avm::Docker::Runner
10
10
  end
@@ -5,7 +5,7 @@ require 'avm/eac_rails_base1/runner/code_runner'
5
5
 
6
6
  module Avm
7
7
  module Tools
8
- class Runner < ::EacRubyUtils::Console::DocoptRunner
8
+ class Runner
9
9
  class EacRedmineBase0 < ::Avm::EacRailsBase1::Runner
10
10
  class ProjectRename
11
11
  runner_with ::Avm::EacRailsBase1::RunnerWith::Bundle do
@@ -7,7 +7,7 @@ require 'eac_ruby_utils/core_ext'
7
7
 
8
8
  module Avm
9
9
  module Tools
10
- class Runner < ::EacRubyUtils::Console::DocoptRunner
10
+ class Runner
11
11
  class EacWordpressBase0 < ::Avm::EacWebappBase0::Runner
12
12
  require_sub __FILE__
13
13
  end
@@ -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 EacWritingsBase0 < ::Avm::EacWebappBase0::Runner
11
11
  require_sub __FILE__
12
12
  end
@@ -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 EacWritingsBase1 < ::Avm::EacWebappBase0::Runner
11
11
  require_sub __FILE__
12
12
  end
@@ -1,24 +1,16 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'eac_ruby_utils/console/docopt_runner'
4
- require 'eac_ruby_utils/core_ext'
3
+ require 'eac_cli/core_ext'
5
4
 
6
5
  module Avm
7
6
  module Tools
8
- class Runner < ::EacRubyUtils::Console::DocoptRunner
9
- class Files < ::EacRubyUtils::Console::DocoptRunner
7
+ class Runner
8
+ class Files
10
9
  require_sub __FILE__
11
-
12
- DOC = <<~DOCOPT
13
- Files utilities for AVM.
14
-
15
- Usage:
16
- __PROGRAM__ [options] __SUBCOMMANDS__
17
- __PROGRAM__ -h | --help
18
-
19
- Options:
20
- -h --help Show this screen.
21
- DOCOPT
10
+ runner_with :help, :subcommands do
11
+ desc 'Files utilities for AVM.'
12
+ subcommands
13
+ end
22
14
  end
23
15
  end
24
16
  end
@@ -1,40 +1,31 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'avm/files/formatter'
4
+ require 'eac_cli/core_ext'
4
5
  require 'eac_launcher/git/base'
5
- require 'eac_ruby_utils/console/docopt_runner'
6
- require 'eac_ruby_utils/core_ext'
7
6
 
8
7
  module Avm
9
8
  module Tools
10
- class Runner < ::EacRubyUtils::Console::DocoptRunner
11
- class Files < ::EacRubyUtils::Console::DocoptRunner
12
- class Format < ::EacRubyUtils::Console::DocoptRunner
13
- include ::EacRubyUtils::Console::Speaker
14
-
15
- DOC = <<~DOCOPT
16
- Format files.
17
-
18
- Usage:
19
- __PROGRAM__ [options] [<paths>...]
20
- __PROGRAM__ -h | --help
21
-
22
- Options:
23
- -h --help Show this screen.
24
- -a --apply Confirm changes.
25
- -n --no-recursive No recursive.
26
- -v --verbose Verbose
27
- -d --git-dirty Select Git dirty files to format.
28
- DOCOPT
9
+ class Runner
10
+ class Files
11
+ class Format
12
+ runner_with :help do
13
+ desc 'Format files.'
14
+ bool_opt '-a', '--apply', 'Confirm changes.'
15
+ bool_opt '-n', '--no-recursive', 'No recursive.'
16
+ bool_opt '-v', '--verbose', 'Verbose'
17
+ bool_opt '-d', '--git-dirty', 'Select Git dirty files to format.'
18
+ pos_arg :paths, repeat: true, optional: true
19
+ end
29
20
 
30
21
  def run
31
22
  ::Avm::Files::Formatter.new(source_paths, formatter_options).run
32
23
  end
33
24
 
34
25
  def formatter_options
35
- { ::Avm::Files::Formatter::OPTION_APPLY => options.fetch('--apply'),
36
- ::Avm::Files::Formatter::OPTION_RECURSIVE => !options.fetch('--no-recursive'),
37
- ::Avm::Files::Formatter::OPTION_VERBOSE => options.fetch('--verbose') }
26
+ { ::Avm::Files::Formatter::OPTION_APPLY => parsed.apply?,
27
+ ::Avm::Files::Formatter::OPTION_RECURSIVE => !parsed.no_recursive?,
28
+ ::Avm::Files::Formatter::OPTION_VERBOSE => parsed.verbose? }
38
29
  end
39
30
 
40
31
  def git
@@ -46,10 +37,10 @@ module Avm
46
37
  end
47
38
 
48
39
  def source_paths
49
- if options.fetch('--git-dirty')
50
- options.fetch('<paths>') + git_dirty_files
40
+ if parsed.git_dirty?
41
+ parsed.paths + git_dirty_files
51
42
  else
52
- options.fetch('<paths>').if_present(%w[.])
43
+ parsed.paths.if_present(%w[.])
53
44
  end
54
45
  end
55
46
  end
@@ -1,28 +1,18 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'eac_ruby_utils/console/docopt_runner'
4
- require 'eac_ruby_utils/console/speaker'
5
3
  require 'avm/files/rotate'
4
+ require 'eac_cli/core_ext'
6
5
 
7
6
  module Avm
8
7
  module Tools
9
- class Runner < ::EacRubyUtils::Console::DocoptRunner
10
- class Files < ::EacRubyUtils::Console::DocoptRunner
11
- class Rotate < ::EacRubyUtils::Console::DocoptRunner
12
- include ::EacRubyUtils::Console::Speaker
13
-
14
- DOC = <<~DOCOPT
15
- Rotates a file (Like a backup).
16
-
17
- Usage:
18
- __PROGRAM__ [options] <path>
19
- __PROGRAM__ -h | --help
20
-
21
- Options:
22
- -h --help Show this screen.
23
- -L --space-limit=<space> Limit by <space> the space used by rotated files.
24
- DOCOPT
25
-
8
+ class Runner
9
+ class Files
10
+ class Rotate
11
+ runner_with :help do
12
+ desc 'Rotates a file (Like a backup).'
13
+ arg_opt '-L', '--space-limit', 'Limit by <space> the space used by rotated files.'
14
+ pos_arg :path
15
+ end
26
16
  def run
27
17
  error_message = rotate.run
28
18
  fatal_error(error_message) if error_message
@@ -30,8 +20,8 @@ module Avm
30
20
 
31
21
  def rotate
32
22
  @rotate ||= ::Avm::Files::Rotate.new(
33
- options.fetch('<path>'),
34
- space_limit: options.fetch('--space-limit')
23
+ parsed.path,
24
+ space_limit: parsed.space_limit
35
25
  )
36
26
  end
37
27
  end
@@ -7,26 +7,21 @@ require 'eac_launcher/git/base'
7
7
 
8
8
  module Avm
9
9
  module Tools
10
- class Runner < ::EacRubyUtils::Console::DocoptRunner
11
- class Git < ::EacRubyUtils::Console::DocoptRunner
12
- DOC = <<~DOCOPT
13
- Git utilities for AVM.
14
-
15
- Usage:
16
- __PROGRAM__ [options] __SUBCOMMANDS__
17
- __PROGRAM__ -h | --help
18
-
19
- Options:
20
- -h --help Show this screen.
21
- -C <path> Path to Git repository.
22
- DOCOPT
10
+ class Runner
11
+ class Git
12
+ require_sub __FILE__
13
+ runner_with :help, :subcommands do
14
+ desc 'Git utilities for AVM.'
15
+ arg_opt '-C', '--path', 'Path to Git repository.'
16
+ subcommands
17
+ end
23
18
 
24
19
  def repository_path
25
- repository_path? ? options.fetch('-C') : '.'
20
+ repository_path? ? parsed.path : '.'
26
21
  end
27
22
 
28
23
  def repository_path?
29
- options.fetch('-C').present?
24
+ parsed.path.present?
30
25
  end
31
26
 
32
27
  def git
@@ -6,8 +6,8 @@ require 'eac_cli/default_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 AutoCommit < ::EacRubyUtils::Console::DocoptRunner
12
12
  include ::EacCli::DefaultRunner
13
13
 
@@ -1,43 +1,50 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require 'eac_cli/core_ext'
3
4
  require 'eac_ruby_utils/console/docopt_runner'
4
5
  require 'avm/git/file_auto_fixup'
5
6
 
6
7
  module Avm
7
8
  module Tools
8
- class Runner < ::EacRubyUtils::Console::DocoptRunner
9
- class Git < ::EacRubyUtils::Console::DocoptRunner
10
- class AutoFixup < ::EacRubyUtils::Console::DocoptRunner
11
- DOC = <<~DOCOPT
12
- Auto fixup files.
13
-
14
- Usage:
15
- __PROGRAM__ [options] [<files>...]
16
- __PROGRAM__ -h | --help
17
-
18
- Options:
19
- -h --help Mostra esta ajuda.
20
- DOCOPT
9
+ class Runner
10
+ class Git
11
+ class AutoFixup
12
+ runner_with :help do
13
+ desc 'Auto fixup files.'
14
+ bool_opt '-l', '--last', 'Equivalent to "--select=1".'
15
+ arg_opt '-s', '--select', 'Automatically select de <value>-th commit.'
16
+ bool_opt '-u', '--unique', 'Automatically select the first commit if it is unique.'
17
+ pos_arg :files, repeat: true, optional: true
18
+ end
21
19
 
22
20
  def run
23
21
  files.each do |file|
24
- ::Avm::Git::FileAutoFixup.new(context(:git), file).run
22
+ ::Avm::Git::FileAutoFixup.new(runner_context.call(:git), file, file_options).run
25
23
  end
26
24
  end
27
25
 
28
26
  private
29
27
 
28
+ def file_options
29
+ { Avm::Git::FileAutoFixup::OPTION_SELECT => select,
30
+ Avm::Git::FileAutoFixup::OPTION_UNIQUE => parsed.unique? }
31
+ end
32
+
30
33
  def files
31
34
  files_from_option || dirty_files
32
35
  end
33
36
 
34
37
  def files_from_option
35
- r = options.fetch('<files>')
38
+ r = parsed.files
36
39
  r.any? ? r.map { |p| p.to_pathname.expand_path } : nil
37
40
  end
38
41
 
39
42
  def dirty_files
40
- context(:git).dirty_files.map(&:path)
43
+ runner_context.call(:git).dirty_files.map(&:path)
44
+ end
45
+
46
+ def select
47
+ parsed.last? ? 1 : parsed.select
41
48
  end
42
49
  end
43
50
  end
@@ -9,8 +9,8 @@ require 'avm/git/commit'
9
9
 
10
10
  module Avm
11
11
  module Tools
12
- class Runner < ::EacRubyUtils::Console::DocoptRunner
13
- class Git < ::EacRubyUtils::Console::DocoptRunner
12
+ class Runner
13
+ class Git
14
14
  class Commit < ::EacRubyUtils::Console::DocoptRunner
15
15
  include ::EacRubyUtils::SimpleCache
16
16
  include ::EacRubyUtils::Console::Speaker