avm-tools 0.117.0 → 0.117.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (30) hide show
  1. checksums.yaml +4 -4
  2. data/lib/avm/ruby/bundler/incompatible_parser/in_gemfile.rb +0 -2
  3. data/lib/avm/tools/runner/eac_redmine_base0/core_update.rb +1 -1
  4. data/lib/avm/tools/version.rb +1 -1
  5. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/core_update.rb +4 -0
  6. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/version.rb +1 -1
  7. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/gemfile/add_or_replace_gem_line.rb +56 -0
  8. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/gemfile/dependency.rb +19 -0
  9. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/gemfile.rb +34 -0
  10. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler.rb +11 -0
  11. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/version.rb +1 -1
  12. data/sub/eac_cli/eac_cli.gemspec +1 -1
  13. data/sub/eac_cli/lib/eac_cli/definition.rb +0 -4
  14. data/sub/eac_cli/lib/eac_cli/parser/alternative/short_options.rb +1 -1
  15. data/sub/eac_cli/lib/eac_cli/runner/after_class_methods.rb +9 -22
  16. data/sub/eac_cli/lib/eac_cli/runner/class_runner.rb +50 -0
  17. data/sub/eac_cli/lib/eac_cli/runner/instance_methods.rb +0 -9
  18. data/sub/eac_cli/lib/eac_cli/runner_with/help/builder/alternative.rb +12 -5
  19. data/sub/eac_cli/lib/eac_cli/runner_with/help/builder.rb +15 -6
  20. data/sub/eac_cli/lib/eac_cli/runner_with/help.rb +2 -2
  21. data/sub/eac_cli/lib/eac_cli/runner_with/subcommands.rb +1 -1
  22. data/sub/eac_cli/lib/eac_cli/version.rb +1 -1
  23. data/sub/eac_cli/spec/lib/eac_cli/runner_with/help_spec.rb +26 -17
  24. data/sub/eac_cli/spec/lib/eac_cli/runner_with/subcommands_spec.rb +4 -1
  25. data/sub/eac_ruby_base0/eac_ruby_base0.gemspec +2 -2
  26. data/sub/eac_ruby_base0/lib/eac_ruby_base0/version.rb +1 -1
  27. data/sub/eac_ruby_utils/lib/eac_ruby_utils/common_constructor.rb +2 -2
  28. data/sub/eac_ruby_utils/lib/eac_ruby_utils/version.rb +1 -1
  29. metadata +17 -7
  30. data/sub/eac_cli/lib/eac_cli/definition/help_formatter.rb +0 -77
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: aae509f1d4971fd8a6d39a9f20cc4a3dab9fd28267c333ffe521cba9252f20bb
4
- data.tar.gz: f27d6bd59c10b9638f1f42b173d38a53a677b1d8de4b1a01c63e170ed1ed362f
3
+ metadata.gz: 4fec1bb05188ea00085f3ca44ed3945e58675f2dddb1593fd857312ce98caa45
4
+ data.tar.gz: 695a666752439b000d12d60da7ee84c1b34aba488a650409eedeb2708702a8f1
5
5
  SHA512:
6
- metadata.gz: ea73fcc793b05f0265396c36a592969b9f60c6ccb8a0e7526f7f5e12f5c7b58688489c11cda94b7e17ab8a0430029dccca11d3a0b799a49e6c65d11c5f200b8a
7
- data.tar.gz: bf13a36e7cdf500a7538c75531b108b7f09ef76dfd1b5a4ceb102cc32f2c2b76026df875c593de2fa6c240b3b5fccc43b9d7a989941dab6b15e61a8b142ee503
6
+ metadata.gz: fb85f443966aa7612f54b69f367a0b72df3d9ba4016cb6b4b4ea8e1f927d34c6d3716bcbdfd1f2638faba539b50d7042043d202469ffb604e35f41ea6b8e5906
7
+ data.tar.gz: d3629c61d983caee50edfc740da31ff96d031e9632f170ce25be6f73687295baa5c6fe410ffb32260c212290c0716fb0534a1229884be2849bfa3206bc84dac5
@@ -10,8 +10,6 @@ module Avm
10
10
  class InGemfile < ::Avm::Ruby::Bundler::IncompatibleParser::LineParserBase
11
11
  LINE_PARSER = /In Gemfile:/
12
12
  .to_parser { |_m| new }
13
-
14
- common_constructor
15
13
  end
16
14
  end
17
15
  end
@@ -32,7 +32,7 @@ module Avm
32
32
  end
33
33
 
34
34
  def url
35
- options.fetch('--url') || url_by_version
35
+ parsed.url || url_by_version
36
36
  end
37
37
 
38
38
  def url_by_version
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Avm
4
4
  module Tools
5
- VERSION = '0.117.0'
5
+ VERSION = '0.117.3'
6
6
  end
7
7
  end
@@ -36,6 +36,10 @@ module Avm
36
36
  infov 'Package size', source_package.path.size
37
37
  end
38
38
 
39
+ def fs_object_id
40
+ [instance.id, version].join('_').variableize
41
+ end
42
+
39
43
  private
40
44
 
41
45
  attr_reader :tempdir
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Avm
4
4
  module EacRedmineBase0
5
- VERSION = '0.5.1'
5
+ VERSION = '0.5.2'
6
6
  end
7
7
  end
@@ -0,0 +1,56 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/core_ext'
4
+
5
+ module Avm
6
+ module EacRubyBase1
7
+ module Bundler
8
+ class Gemfile
9
+ class AddOrReplaceGemLine
10
+ enable_method_class
11
+ common_constructor :sender, :gem_name, :gem_specs
12
+ delegate :lines, to: :sender
13
+
14
+ def existing_gem_line_index
15
+ lines.index { |line| line.start_with?(gem_line_prefix) }
16
+ end
17
+
18
+ def result
19
+ if existing_gem_line_index.present?
20
+ replace_line
21
+ else
22
+ add_line
23
+ end
24
+ end
25
+
26
+ def add_line
27
+ lines.insert(add_line_index, new_gem_line)
28
+ end
29
+
30
+ def add_line_index
31
+ (gems_lines_start_index..(lines.count - 1)).each do |e|
32
+ return e if new_gem_line < lines[e]
33
+ end
34
+ lines.count
35
+ end
36
+
37
+ def gems_lines_start_index
38
+ lines.index { |line| line.start_with?('gem ') } || lines.count
39
+ end
40
+
41
+ def new_gem_line
42
+ ([gem_line_prefix] + gem_specs).join(', ')
43
+ end
44
+
45
+ def gem_line_prefix
46
+ "gem '#{gem_name}'"
47
+ end
48
+
49
+ def replace_line
50
+ lines[existing_gem_line_index] = new_gem_line
51
+ end
52
+ end
53
+ end
54
+ end
55
+ end
56
+ end
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/core_ext'
4
+
5
+ module Avm
6
+ module EacRubyBase1
7
+ module Bundler
8
+ class Gemfile
9
+ class Dependency
10
+ common_constructor :gemfile, :gem_name
11
+
12
+ def version_specs=(version_specs)
13
+ gemfile.add_or_replace_gem_line(gem_name, version_specs)
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,34 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/core_ext'
4
+
5
+ module Avm
6
+ module EacRubyBase1
7
+ module Bundler
8
+ class Gemfile
9
+ require_sub __FILE__, require_dependency: true
10
+
11
+ class << self
12
+ def from_file(path)
13
+ new(path.read.each_line.map(&:rstrip))
14
+ end
15
+ end
16
+
17
+ common_constructor :lines
18
+
19
+ # @return [Avm::EacRubyBase1::Bundler::Gemfile::Dependency]
20
+ def dependency(gem_name)
21
+ ::Avm::EacRubyBase1::Bundler::Gemfile::Dependency.new(self, gem_name)
22
+ end
23
+
24
+ def write(path)
25
+ path.to_pathname.write(to_text)
26
+ end
27
+
28
+ def to_text
29
+ lines.map { |line| "#{line}\n" }.join
30
+ end
31
+ end
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/core_ext'
4
+
5
+ module Avm
6
+ module EacRubyBase1
7
+ module Bundler
8
+ require_sub __FILE__
9
+ end
10
+ end
11
+ end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Avm
4
4
  module EacRubyBase1
5
- VERSION = '0.5.0'
5
+ VERSION = '0.6.0'
6
6
  end
7
7
  end
@@ -14,7 +14,7 @@ Gem::Specification.new do |s|
14
14
 
15
15
  s.add_dependency 'colorize', '~> 0.8.1'
16
16
  s.add_dependency 'eac_config', '~> 0.8'
17
- s.add_dependency 'eac_ruby_utils', '~> 0.83'
17
+ s.add_dependency 'eac_ruby_utils', '~> 0.95'
18
18
 
19
19
  s.add_development_dependency 'eac_ruby_gem_support', '~> 0.5.1'
20
20
  end
@@ -39,10 +39,6 @@ module EacCli
39
39
  self.description = description
40
40
  end
41
41
 
42
- def help_formatter
43
- @help_formatter ||= ::EacCli::Definition::HelpFormatter.new(self)
44
- end
45
-
46
42
  def main_alternative
47
43
  @main_alternative ||= begin
48
44
  r = ::EacCli::Definition::Alternative.new
@@ -33,7 +33,7 @@ module EacCli
33
33
  # @return [EacCli::Definition::BaseOption] The option collected.
34
34
  def short_option_collect_char(char)
35
35
  option = find_short_option(char)
36
- raise_error "Invalid short option \"#{char}\"" unless option
36
+ raise_argv_current_invalid_option unless option
37
37
 
38
38
  option_collect_option(option)
39
39
  end
@@ -1,23 +1,22 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'eac_cli/speaker'
4
- require 'eac_ruby_utils/speaker'
3
+ require 'eac_cli/definition'
4
+ require 'eac_cli/runner/class_runner'
5
5
 
6
6
  module EacCli
7
7
  module Runner
8
8
  module AfterClassMethods
9
+ # @return [EacCli::Runner::ClassRunner]
10
+ def class_runner(runner_context_args)
11
+ ::EacCli::Runner::ClassRunner.new(self, runner_context_args)
12
+ end
13
+
9
14
  def create(*runner_context_args)
10
- r = new
11
- r.runner_context = ::EacCli::Runner::Context.new(r, *runner_context_args)
12
- r
15
+ class_runner(runner_context_args).create
13
16
  end
14
17
 
15
18
  def run(*runner_context_args)
16
- on_asserted_speaker do
17
- r = create(*runner_context_args)
18
- r.run_run
19
- r
20
- end
19
+ class_runner(runner_context_args).run
21
20
  end
22
21
 
23
22
  def runner_definition(&block)
@@ -29,18 +28,6 @@ module EacCli
29
28
  def super_runner_definition
30
29
  superclass.try(:runner_definition).if_present(&:dup) || ::EacCli::Definition.new
31
30
  end
32
-
33
- private
34
-
35
- def on_asserted_speaker
36
- if ::EacRubyUtils::Speaker.context.optional_current
37
- yield
38
- else
39
- ::EacRubyUtils::Speaker.context.on(::EacCli::Speaker.new) do
40
- yield
41
- end
42
- end
43
- end
44
31
  end
45
32
  end
46
33
  end
@@ -0,0 +1,50 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_cli/speaker'
4
+ require 'eac_ruby_utils/core_ext'
5
+ require 'eac_ruby_utils/speaker'
6
+
7
+ module EacCli
8
+ module Runner
9
+ class ClassRunner
10
+ PARSER_ERROR_EXIT_CODE = 1
11
+
12
+ common_constructor :klass, :context_args
13
+
14
+ def create
15
+ r = klass.new
16
+ r.runner_context = ::EacCli::Runner::Context.new(r, *context_args)
17
+ r
18
+ end
19
+
20
+ def run
21
+ on_asserted_speaker do
22
+ r = create
23
+ begin
24
+ r.run_run
25
+ rescue ::EacCli::Parser::Error => e
26
+ run_parser_error(r, e)
27
+ end
28
+ r
29
+ end
30
+ end
31
+
32
+ def run_parser_error(runner_instance, error)
33
+ $stderr.write("#{runner_instance.program_name}: #{error}\n")
34
+ ::Kernel.exit(PARSER_ERROR_EXIT_CODE)
35
+ end
36
+
37
+ private
38
+
39
+ def on_asserted_speaker
40
+ if ::EacRubyUtils::Speaker.context.optional_current
41
+ yield
42
+ else
43
+ ::EacRubyUtils::Speaker.context.on(::EacCli::Speaker.new) do
44
+ yield
45
+ end
46
+ end
47
+ end
48
+ end
49
+ end
50
+ end
@@ -3,22 +3,13 @@
3
3
  module EacCli
4
4
  module Runner
5
5
  module InstanceMethods
6
- PARSER_ERROR_EXIT_CODE = 1
7
-
8
6
  def run_run
9
7
  parsed
10
8
  run_callbacks(:run) { run }
11
- rescue ::EacCli::Parser::Error => e
12
- run_parser_error(e)
13
9
  rescue ::EacCli::Runner::Exit # rubocop:disable Lint/SuppressedException
14
10
  # Do nothing
15
11
  end
16
12
 
17
- def run_parser_error(error)
18
- $stderr.write("#{program_name}: #{error}\n")
19
- ::Kernel.exit(PARSER_ERROR_EXIT_CODE)
20
- end
21
-
22
13
  def runner_context
23
14
  return @runner_context if @runner_context
24
15
 
@@ -7,18 +7,19 @@ module EacCli
7
7
  module Help
8
8
  class Builder
9
9
  class Alternative
10
- PROGRAM_MACRO = '__PROGRAM__'
10
+ enable_method_class
11
+
11
12
  SUBCOMMANDS_MACRO = '__SUBCOMMANDS__'
12
13
 
13
- common_constructor :alternative
14
+ common_constructor :builder, :alternative
14
15
 
15
- def to_s
16
+ def result
16
17
  (
17
- [PROGRAM_MACRO] +
18
+ program_name +
18
19
  alternative.options_argument?.if_present([]) { |_v| ['[options]'] } +
19
20
  options +
20
21
  positionals
21
- ).join(::EacCli::RunnerWith::Help::Builder::SEP)
22
+ ).join(builder.word_separator)
22
23
  end
23
24
 
24
25
  def options
@@ -49,6 +50,12 @@ module EacCli
49
50
  r
50
51
  end
51
52
  end
53
+
54
+ def program_name
55
+ r = builder.runner.program_name
56
+ r = [r] unless r.is_a?(::Enumerable)
57
+ r
58
+ end
52
59
  end
53
60
  end
54
61
  end
@@ -6,8 +6,8 @@ module EacCli
6
6
  module RunnerWith
7
7
  module Help
8
8
  class Builder
9
- require_sub __FILE__
10
- common_constructor :definition
9
+ require_sub __FILE__, require_dependency: true
10
+ common_constructor :runner
11
11
 
12
12
  SEP = ' '
13
13
  IDENT = SEP * 2
@@ -28,11 +28,21 @@ module EacCli
28
28
 
29
29
  def option_usage_full(option)
30
30
  if option.long.present?
31
- [option.short, option_long(option)].reject(&:blank?).join(SEP)
31
+ [option.short, option_long(option)].reject(&:blank?).join(word_separator)
32
32
  else
33
33
  option_short(option)
34
34
  end
35
35
  end
36
+
37
+ def word_separator
38
+ SEP
39
+ end
40
+ end
41
+
42
+ delegate :word_separator, to: :class
43
+
44
+ def definition
45
+ runner.class.runner_definition
36
46
  end
37
47
 
38
48
  def option_definition(option)
@@ -45,8 +55,7 @@ module EacCli
45
55
  b = include_header ? "#{header.humanize}:\n" : ''
46
56
  b += send("self_#{header}") + "\n"
47
57
  definition.alternatives.each do |alternative|
48
- b += IDENT + ::EacCli::RunnerWith::Help::Builder::Alternative.new(alternative).to_s +
49
- "\n"
58
+ b += IDENT + self.alternative(alternative) + "\n"
50
59
  end
51
60
  b
52
61
  end
@@ -60,7 +69,7 @@ module EacCli
60
69
  def usage_section
61
70
  "Usage:\n" +
62
71
  definition.alternatives.map do |alternative|
63
- IDENT + ::EacCli::RunnerWith::Help::Builder::Alternative.new(alternative).to_s + "\n"
72
+ IDENT + self.alternative(alternative) + "\n"
64
73
  end.join
65
74
  end
66
75
 
@@ -6,7 +6,7 @@ require 'eac_ruby_utils/core_ext'
6
6
  module EacCli
7
7
  module RunnerWith
8
8
  module Help
9
- require_sub __FILE__
9
+ require_sub __FILE__, require_dependency: true
10
10
  common_concern do
11
11
  include ::EacCli::Runner
12
12
 
@@ -28,7 +28,7 @@ module EacCli
28
28
  end
29
29
 
30
30
  def help_text
31
- r = ::EacCli::RunnerWith::Help::Builder.new(self.class.runner_definition).to_s
31
+ r = ::EacCli::RunnerWith::Help::Builder.new(self).to_s
32
32
  r += help_extra_text if respond_to?(:help_extra_text)
33
33
  r
34
34
  end
@@ -104,7 +104,7 @@ module EacCli
104
104
  end
105
105
 
106
106
  def subcommand_program
107
- subcommand_name
107
+ [program_name, subcommand_name]
108
108
  end
109
109
 
110
110
  def subcommand_runner
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module EacCli
4
- VERSION = '0.27.3'
4
+ VERSION = '0.27.5'
5
5
  end
@@ -20,23 +20,32 @@ RSpec.describe ::EacCli::RunnerWith::Help do
20
20
  end
21
21
  end
22
22
 
23
- let(:runner_argv) { ['--help'] }
24
- let(:instance) { runner.create(argv: runner_argv) }
25
- let(:expected_output) do
26
- <<~OUTPUT
27
- A stub runner.
28
-
29
- Usage:
30
- __PROGRAM__ [options] <a_argument>
31
- __PROGRAM__ --help
32
-
33
- Options:
34
- -h --help Show help.
35
-
36
- OUTPUT
37
- end
23
+ [
24
+ ['--help'],
25
+ ['trash-pos-arg-before', '--help', 'trash-pos-arg-after']
26
+ ].each do |runner_argv|
27
+ context "when runner ARGV is #{runner_argv}" do
28
+ let(:instance) { runner.create(argv: runner_argv) }
29
+ let(:expected_output_source) do
30
+ <<~OUTPUT
31
+ A stub runner.
32
+
33
+ Usage:
34
+ __PROGRAM__ [options] <a_argument>
35
+ __PROGRAM__ --help
36
+
37
+ Options:
38
+ -h --help Show help.
39
+
40
+ OUTPUT
41
+ end
42
+ let(:expected_output) do
43
+ expected_output_source.gsub('__PROGRAM__', instance.program_name)
44
+ end
38
45
 
39
- it 'show help text' do
40
- expect { instance.run_run }.to output(expected_output).to_stdout_from_any_process
46
+ it 'show help text' do
47
+ expect { instance.run_run }.to output(expected_output).to_stdout_from_any_process
48
+ end
49
+ end
41
50
  end
42
51
  end
@@ -57,7 +57,7 @@ RSpec.describe ::EacCli::RunnerWith::Subcommands do
57
57
 
58
58
  context 'with help' do
59
59
  let(:instance) { parent_runner.create(%w[--help]) }
60
- let(:expected_output) do
60
+ let(:expected_output_source) do
61
61
  <<~OUTPUT
62
62
  A stub root runner.
63
63
 
@@ -73,6 +73,9 @@ RSpec.describe ::EacCli::RunnerWith::Subcommands do
73
73
  child-cmd
74
74
  OUTPUT
75
75
  end
76
+ let(:expected_output) do
77
+ expected_output_source.gsub('__PROGRAM__', instance.program_name)
78
+ end
76
79
 
77
80
  before do
78
81
  parent_runner.include(::EacCli::RunnerWith::Help)
@@ -12,10 +12,10 @@ Gem::Specification.new do |s|
12
12
 
13
13
  s.files = Dir['{lib}/**/*']
14
14
 
15
- s.add_dependency 'eac_cli', '~> 0.26'
15
+ s.add_dependency 'eac_cli', '~> 0.27', '>= 0.27.5'
16
16
  s.add_dependency 'eac_fs', '~> 0.10'
17
17
  s.add_dependency 'eac_ruby_gems_utils', '~> 0.9', '~> 0.9.6'
18
- s.add_dependency 'eac_ruby_utils', '~> 0.70'
18
+ s.add_dependency 'eac_ruby_utils', '~> 0.95', '>= 0.95.1'
19
19
 
20
20
  s.add_development_dependency 'eac_ruby_gem_support', '~> 0.5.1'
21
21
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module EacRubyBase0
4
- VERSION = '0.16.2'
4
+ VERSION = '0.16.4'
5
5
  end
@@ -68,12 +68,12 @@ module EacRubyUtils
68
68
 
69
69
  def setup_class_attr_readers(klass)
70
70
  klass.send(:attr_reader, *args)
71
- klass.send(:public, *args)
71
+ klass.send(:public, *args) if args.any?
72
72
  end
73
73
 
74
74
  def setup_class_attr_writers(klass)
75
75
  klass.send(:attr_writer, *args)
76
- klass.send(:private, *args.map { |a| "#{a}=" })
76
+ klass.send(:private, *args.map { |a| "#{a}=" }) if args.any?
77
77
  end
78
78
 
79
79
  def setup_class_initialize(klass)
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module EacRubyUtils
4
- VERSION = '0.95.0'
4
+ VERSION = '0.95.1'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: avm-tools
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.117.0
4
+ version: 0.117.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Esquilo Azul Company
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-06-14 00:00:00.000000000 Z
11
+ date: 2022-06-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aranha-parsers
@@ -81,7 +81,7 @@ dependencies:
81
81
  version: '0.5'
82
82
  - - ">="
83
83
  - !ruby/object:Gem::Version
84
- version: 0.5.1
84
+ version: 0.5.2
85
85
  type: :runtime
86
86
  prerelease: false
87
87
  version_requirements: !ruby/object:Gem::Requirement
@@ -91,7 +91,7 @@ dependencies:
91
91
  version: '0.5'
92
92
  - - ">="
93
93
  - !ruby/object:Gem::Version
94
- version: 0.5.1
94
+ version: 0.5.2
95
95
  - !ruby/object:Gem::Dependency
96
96
  name: avm-eac_ruby_base1
97
97
  requirement: !ruby/object:Gem::Requirement
@@ -194,14 +194,20 @@ dependencies:
194
194
  requirements:
195
195
  - - "~>"
196
196
  - !ruby/object:Gem::Version
197
- version: '0.14'
197
+ version: '0.16'
198
+ - - ">="
199
+ - !ruby/object:Gem::Version
200
+ version: 0.16.4
198
201
  type: :runtime
199
202
  prerelease: false
200
203
  version_requirements: !ruby/object:Gem::Requirement
201
204
  requirements:
202
205
  - - "~>"
203
206
  - !ruby/object:Gem::Version
204
- version: '0.14'
207
+ version: '0.16'
208
+ - - ">="
209
+ - !ruby/object:Gem::Version
210
+ version: 0.16.4
205
211
  - !ruby/object:Gem::Dependency
206
212
  name: eac_ruby_gems_utils
207
213
  requirement: !ruby/object:Gem::Requirement
@@ -542,6 +548,10 @@ files:
542
548
  - sub/avm-eac_ruby_base1/Gemfile
543
549
  - sub/avm-eac_ruby_base1/avm-eac_ruby_base1.gemspec
544
550
  - sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1.rb
551
+ - sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler.rb
552
+ - sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/gemfile.rb
553
+ - sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/gemfile/add_or_replace_gem_line.rb
554
+ - sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/gemfile/dependency.rb
545
555
  - sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubocop.rb
546
556
  - sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubocop/configured.rb
547
557
  - sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubocop/envvar.rb
@@ -796,7 +806,6 @@ files:
796
806
  - sub/eac_cli/lib/eac_cli/definition/base_option.rb
797
807
  - sub/eac_cli/lib/eac_cli/definition/base_option/initialize_args_parser.rb
798
808
  - sub/eac_cli/lib/eac_cli/definition/boolean_option.rb
799
- - sub/eac_cli/lib/eac_cli/definition/help_formatter.rb
800
809
  - sub/eac_cli/lib/eac_cli/definition/positional_argument.rb
801
810
  - sub/eac_cli/lib/eac_cli/enum.rb
802
811
  - sub/eac_cli/lib/eac_cli/old_configs.rb
@@ -822,6 +831,7 @@ files:
822
831
  - sub/eac_cli/lib/eac_cli/rspec/setup.rb
823
832
  - sub/eac_cli/lib/eac_cli/runner.rb
824
833
  - sub/eac_cli/lib/eac_cli/runner/after_class_methods.rb
834
+ - sub/eac_cli/lib/eac_cli/runner/class_runner.rb
825
835
  - sub/eac_cli/lib/eac_cli/runner/context.rb
826
836
  - sub/eac_cli/lib/eac_cli/runner/exit.rb
827
837
  - sub/eac_cli/lib/eac_cli/runner/instance_methods.rb
@@ -1,77 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_cli/runner_with/help/builder/alternative'
4
- require 'eac_ruby_utils/core_ext'
5
-
6
- module EacCli
7
- class Definition
8
- class HelpFormatter
9
- SEP = ' '
10
- IDENT = SEP * 2
11
- OPTION_DESC_SEP = IDENT * 2
12
-
13
- class << self
14
- def option_long(option)
15
- b = option.long
16
- b += '=VALUE' if option.argument?
17
- b
18
- end
19
-
20
- def option_short(option)
21
- b = option.short
22
- b += 'VALUE' if option.argument?
23
- b
24
- end
25
- end
26
-
27
- common_constructor :definition
28
-
29
- def positional_argument(positional)
30
- if positional.subcommand?
31
- ::EacCli::RunnerWith::Help::Builder::Alternative::SUBCOMMANDS_MACRO
32
- else
33
- r = "<#{positional.name}>"
34
- r += '...' if positional.repeat?
35
- r = "[#{r}]" if positional.optional?
36
- r
37
- end
38
- end
39
-
40
- def section(header, include_header = true)
41
- b = include_header ? "#{header.humanize}:\n" : ''
42
- b += send("self_#{header}") + "\n"
43
- # TO-DO: implement alternatives
44
- b
45
- end
46
-
47
- def self_options
48
- definition.options.map { |option| IDENT + option_definition(option) }.join("\n")
49
- end
50
-
51
- def self_usage
52
- IDENT + self_usage_arguments.join(SEP)
53
- end
54
-
55
- def self_usage_arguments
56
- [::EacCli::RunnerWith::Help::Builder::Alternative::PROGRAM_MACRO] +
57
- definition.options_argument.if_present([]) { |_v| ['[options]'] } +
58
- self_usage_arguments_options +
59
- self_usage_arguments_positional
60
- end
61
-
62
- def self_usage_arguments_options
63
- definition.options.select(&:show_on_usage?).map do |option|
64
- self.class.option_long(option)
65
- end
66
- end
67
-
68
- def self_usage_arguments_positional
69
- definition.positional.map { |p| positional_argument(p) }
70
- end
71
-
72
- def to_banner
73
- "#{definition.description}\n\n#{section('usage')}"
74
- end
75
- end
76
- end
77
- end