avm-tools 0.120.1 → 0.121.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/avm/ruby/gems/generator.rb +2 -1
- data/lib/avm/tools/runner/app_src/info.rb +1 -1
- data/lib/avm/tools/version.rb +1 -1
- data/locale/en.yml +7 -0
- data/locale/pt-BR.yml +7 -0
- metadata +4 -385
- data/lib/avm/tools/runner/eac_redmine_base0/core_update.rb +0 -63
- data/sub/avm-eac_generic_base0/Gemfile +0 -5
- data/sub/avm-eac_generic_base0/avm-eac_generic_base0.gemspec +0 -19
- data/sub/avm-eac_generic_base0/lib/avm/eac_generic_base0/sources/base/version_bump.rb +0 -35
- data/sub/avm-eac_generic_base0/lib/avm/eac_generic_base0/sources/base.rb +0 -25
- data/sub/avm-eac_generic_base0/lib/avm/eac_generic_base0/sources/tester.rb +0 -56
- data/sub/avm-eac_generic_base0/lib/avm/eac_generic_base0/sources.rb +0 -11
- data/sub/avm-eac_generic_base0/lib/avm/eac_generic_base0/version.rb +0 -7
- data/sub/avm-eac_generic_base0/lib/avm/eac_generic_base0.rb +0 -9
- data/sub/avm-eac_generic_base0/locale/en.yaml +0 -6
- data/sub/avm-eac_generic_base0/locale/pt-BR.yaml +0 -6
- data/sub/avm-eac_generic_base0/spec/lib/avm/eac_generic_base0/sources/base_spec.rb +0 -7
- data/sub/avm-eac_generic_base0/spec/rubocop_spec.rb +0 -3
- data/sub/avm-eac_generic_base0/spec/spec_helper.rb +0 -4
- data/sub/avm-eac_redmine_base0/Gemfile +0 -5
- data/sub/avm-eac_redmine_base0/avm-eac_redmine_base0.gemspec +0 -23
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/apache_host.rb +0 -10
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/core_update.rb +0 -115
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/data_unit.rb +0 -51
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/deploy.rb +0 -36
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instance.rb +0 -57
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/docker_image.rb +0 -97
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/rest_api.rb +0 -11
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/sources/base.rb +0 -27
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/version.rb +0 -7
- data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0.rb +0 -9
- data/sub/avm-eac_redmine_base0/spec/rubocop_spec.rb +0 -3
- data/sub/avm-eac_redmine_base0/spec/spec_helper.rb +0 -4
- data/sub/avm-eac_redmine_base0/template/avm/eac_redmine_base0/deploy/config/install.sh.template +0 -27
- data/sub/avm-eac_redmine_base0/template/avm/eac_redmine_base0/deploy/config/secrets.yml +0 -8
- data/sub/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances/docker_image/Dockerfile.template +0 -37
- data/sub/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances/docker_image/Dockerfile_apache_setup +0 -8
- data/sub/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances/docker_image/apache_http_virtualhost.conf.template +0 -10
- data/sub/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances/docker_image/apache_https_virtualhost.conf.template +0 -16
- data/sub/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances/docker_image/install_settings.sh.template +0 -33
- data/sub/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances/docker_image/start.sh.template +0 -52
- data/sub/avm-eac_redmine_plugin_base0/Gemfile +0 -5
- data/sub/avm-eac_redmine_plugin_base0/avm-eac_redmine_plugin_base0.gemspec +0 -19
- data/sub/avm-eac_redmine_plugin_base0/lib/avm/eac_redmine_plugin_base0/sources/base.rb +0 -30
- data/sub/avm-eac_redmine_plugin_base0/lib/avm/eac_redmine_plugin_base0/version.rb +0 -7
- data/sub/avm-eac_redmine_plugin_base0/lib/avm/eac_redmine_plugin_base0.rb +0 -9
- data/sub/avm-eac_redmine_plugin_base0/spec/rubocop_spec.rb +0 -3
- data/sub/avm-eac_redmine_plugin_base0/spec/spec_helper.rb +0 -4
- data/sub/avm-eac_webapp_base0/Gemfile +0 -5
- data/sub/avm-eac_webapp_base0/avm-eac_webapp_base0.gemspec +0 -22
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/apache_host.rb +0 -78
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/apache_path.rb +0 -51
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/deploy/appended_directories.rb +0 -25
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/deploy/build.rb +0 -48
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/deploy/file_unit.rb +0 -42
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/deploy/git_info.rb +0 -62
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/deploy/version.rb +0 -24
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/deploy/write_on_target.rb +0 -18
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/deploy.rb +0 -73
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instance/subcommand_parent.rb +0 -24
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instance.rb +0 -62
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/runner/apache_host.rb +0 -35
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/runner/apache_path.rb +0 -40
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/runner/data/dump.rb +0 -63
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/runner/data/load.rb +0 -55
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/runner/data.rb +0 -17
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/runner/deploy.rb +0 -39
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/runner.rb +0 -12
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/sources/base.rb +0 -15
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/sources.rb +0 -11
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/version.rb +0 -7
- data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0.rb +0 -9
- data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/sources/base_spec.rb +0 -7
- data/sub/avm-eac_webapp_base0/spec/rubocop_spec.rb +0 -3
- data/sub/avm-eac_webapp_base0/spec/spec_helper.rb +0 -4
- data/sub/avm-eac_webapp_base0/template/avm/eac_webapp_base0/apache_host/no_ssl.conf +0 -11
- data/sub/avm-eac_webapp_base0/template/avm/eac_webapp_base0/apache_path/default.conf +0 -9
- data/sub/eac_cli/Gemfile +0 -5
- data/sub/eac_cli/eac_cli.gemspec +0 -20
- data/sub/eac_cli/lib/eac_cli/config/entry/options.rb +0 -57
- data/sub/eac_cli/lib/eac_cli/config/entry/undefined.rb +0 -26
- data/sub/eac_cli/lib/eac_cli/config/entry.rb +0 -50
- data/sub/eac_cli/lib/eac_cli/config.rb +0 -21
- data/sub/eac_cli/lib/eac_cli/core_ext.rb +0 -6
- data/sub/eac_cli/lib/eac_cli/default_runner.rb +0 -14
- data/sub/eac_cli/lib/eac_cli/definition/alternative.rb +0 -80
- data/sub/eac_cli/lib/eac_cli/definition/argument_option.rb +0 -21
- data/sub/eac_cli/lib/eac_cli/definition/base_option/initialize_args_parser.rb +0 -47
- data/sub/eac_cli/lib/eac_cli/definition/base_option.rb +0 -66
- data/sub/eac_cli/lib/eac_cli/definition/boolean_option.rb +0 -27
- data/sub/eac_cli/lib/eac_cli/definition/positional_argument.rb +0 -61
- data/sub/eac_cli/lib/eac_cli/definition.rb +0 -95
- data/sub/eac_cli/lib/eac_cli/enum.rb +0 -45
- data/sub/eac_cli/lib/eac_cli/old_configs/entry_reader.rb +0 -80
- data/sub/eac_cli/lib/eac_cli/old_configs/password_entry_reader.rb +0 -16
- data/sub/eac_cli/lib/eac_cli/old_configs/read_entry_options.rb +0 -44
- data/sub/eac_cli/lib/eac_cli/old_configs/store_passwords_entry_reader.rb +0 -25
- data/sub/eac_cli/lib/eac_cli/old_configs.rb +0 -35
- data/sub/eac_cli/lib/eac_cli/parser/alternative/argv.rb +0 -17
- data/sub/eac_cli/lib/eac_cli/parser/alternative/double_dash.rb +0 -24
- data/sub/eac_cli/lib/eac_cli/parser/alternative/long_options.rb +0 -37
- data/sub/eac_cli/lib/eac_cli/parser/alternative/option_argument.rb +0 -29
- data/sub/eac_cli/lib/eac_cli/parser/alternative/options.rb +0 -29
- data/sub/eac_cli/lib/eac_cli/parser/alternative/positionals.rb +0 -30
- data/sub/eac_cli/lib/eac_cli/parser/alternative/short_options.rb +0 -47
- data/sub/eac_cli/lib/eac_cli/parser/alternative.rb +0 -92
- data/sub/eac_cli/lib/eac_cli/parser/collector.rb +0 -46
- data/sub/eac_cli/lib/eac_cli/parser/error.rb +0 -15
- data/sub/eac_cli/lib/eac_cli/parser.rb +0 -34
- data/sub/eac_cli/lib/eac_cli/patches/object/runner_with.rb +0 -26
- data/sub/eac_cli/lib/eac_cli/patches/object.rb +0 -5
- data/sub/eac_cli/lib/eac_cli/patches.rb +0 -4
- data/sub/eac_cli/lib/eac_cli/rspec/setup.rb +0 -42
- data/sub/eac_cli/lib/eac_cli/rspec.rb +0 -9
- data/sub/eac_cli/lib/eac_cli/runner/after_class_methods.rb +0 -33
- data/sub/eac_cli/lib/eac_cli/runner/class_runner.rb +0 -50
- data/sub/eac_cli/lib/eac_cli/runner/context.rb +0 -40
- data/sub/eac_cli/lib/eac_cli/runner/exit.rb +0 -13
- data/sub/eac_cli/lib/eac_cli/runner/instance_methods.rb +0 -43
- data/sub/eac_cli/lib/eac_cli/runner.rb +0 -49
- data/sub/eac_cli/lib/eac_cli/runner_with/help/builder/alternative.rb +0 -63
- data/sub/eac_cli/lib/eac_cli/runner_with/help/builder.rb +0 -82
- data/sub/eac_cli/lib/eac_cli/runner_with/help.rb +0 -41
- data/sub/eac_cli/lib/eac_cli/runner_with/subcommands/definition_concern.rb +0 -10
- data/sub/eac_cli/lib/eac_cli/runner_with/subcommands.rb +0 -119
- data/sub/eac_cli/lib/eac_cli/runner_with.rb +0 -9
- data/sub/eac_cli/lib/eac_cli/runner_with_set.rb +0 -50
- data/sub/eac_cli/lib/eac_cli/speaker/constants.rb +0 -13
- data/sub/eac_cli/lib/eac_cli/speaker/list.rb +0 -61
- data/sub/eac_cli/lib/eac_cli/speaker/options.rb +0 -38
- data/sub/eac_cli/lib/eac_cli/speaker.rb +0 -126
- data/sub/eac_cli/lib/eac_cli/version.rb +0 -5
- data/sub/eac_cli/lib/eac_cli.rb +0 -7
- data/sub/eac_cli/spec/lib/eac_cli/definition/alternative_spec.rb +0 -18
- data/sub/eac_cli/spec/lib/eac_cli/old_configs_spec.rb +0 -14
- data/sub/eac_cli/spec/lib/eac_cli/parser/alternative_spec.rb +0 -140
- data/sub/eac_cli/spec/lib/eac_cli/runner_spec.rb +0 -129
- data/sub/eac_cli/spec/lib/eac_cli/runner_with/help_spec.rb +0 -51
- data/sub/eac_cli/spec/lib/eac_cli/runner_with/subcommands_spec.rb +0 -88
- data/sub/eac_cli/spec/lib/eac_cli/speaker_spec.rb +0 -32
- data/sub/eac_cli/spec/rubocop_spec.rb +0 -3
- data/sub/eac_cli/spec/spec_helper.rb +0 -4
- data/sub/eac_fs/Gemfile +0 -5
- data/sub/eac_fs/eac_fs.gemspec +0 -20
- data/sub/eac_fs/lib/eac_fs/cached_download.rb +0 -39
- data/sub/eac_fs/lib/eac_fs/contexts.rb +0 -21
- data/sub/eac_fs/lib/eac_fs/file_info.rb +0 -29
- data/sub/eac_fs/lib/eac_fs/logs/file.rb +0 -56
- data/sub/eac_fs/lib/eac_fs/logs.rb +0 -64
- data/sub/eac_fs/lib/eac_fs/patches/module/fs_cache.rb +0 -15
- data/sub/eac_fs/lib/eac_fs/patches/module.rb +0 -4
- data/sub/eac_fs/lib/eac_fs/patches/object/fs_cache.rb +0 -32
- data/sub/eac_fs/lib/eac_fs/patches/object.rb +0 -4
- data/sub/eac_fs/lib/eac_fs/patches/pathname/info.rb +0 -12
- data/sub/eac_fs/lib/eac_fs/patches/pathname.rb +0 -4
- data/sub/eac_fs/lib/eac_fs/patches.rb +0 -4
- data/sub/eac_fs/lib/eac_fs/storage_tree.rb +0 -62
- data/sub/eac_fs/lib/eac_fs/traversable.rb +0 -45
- data/sub/eac_fs/lib/eac_fs/traverser.rb +0 -76
- data/sub/eac_fs/lib/eac_fs/version.rb +0 -5
- data/sub/eac_fs/lib/eac_fs.rb +0 -7
- data/sub/eac_fs/spec/lib/eac_fs/storage_tree_spec.rb +0 -32
- data/sub/eac_fs/spec/rubocop_spec.rb +0 -3
- data/sub/eac_fs/spec/spec_helper.rb +0 -4
- data/sub/eac_ruby_utils/Gemfile +0 -16
- data/sub/eac_ruby_utils/MIT-LICENCE +0 -16
- data/sub/eac_ruby_utils/README.rdoc +0 -3
- data/sub/eac_ruby_utils/eac_ruby_utils.gemspec +0 -23
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/abstract_methods.rb +0 -68
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/arguments_consumer.rb +0 -81
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/bit.rb +0 -46
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/bit_array.rb +0 -81
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/blank_not_blank.rb +0 -19
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/boolean.rb +0 -31
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/by_reference.rb +0 -23
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/byte.rb +0 -105
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/byte_array.rb +0 -36
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/common_concern/class_setup.rb +0 -52
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/common_concern/module_setup.rb +0 -41
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/common_concern.rb +0 -20
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/common_constructor/class_initialize.rb +0 -29
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/common_constructor/instance_initialize.rb +0 -53
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/common_constructor/super_args.rb +0 -54
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/common_constructor.rb +0 -89
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/compact.rb +0 -22
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/compare_by.rb +0 -28
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/context.rb +0 -33
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/contextualizable.rb +0 -21
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/core_ext.rb +0 -7
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/custom_format.rb +0 -53
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/enum.rb +0 -102
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/envs/base_env.rb +0 -28
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/envs/command/concat.rb +0 -33
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/envs/command/envvars.rb +0 -24
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/envs/command/extra_options.rb +0 -33
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/envs/command.rb +0 -172
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/envs/executable.rb +0 -81
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/envs/file.rb +0 -22
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/envs/local_env.rb +0 -17
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/envs/process.rb +0 -27
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/envs/spawn.rb +0 -32
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/envs/ssh_env/dasho_options.rb +0 -53
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/envs/ssh_env/identity_file.rb +0 -25
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/envs/ssh_env/quiet.rb +0 -24
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/envs/ssh_env/terminal.rb +0 -34
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/envs/ssh_env.rb +0 -75
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/envs.rb +0 -23
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/fs/clearable_directory.rb +0 -57
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/fs/extname.rb +0 -30
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/fs/temp/directory.rb +0 -16
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/fs/temp/file.rb +0 -34
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/fs/temp.rb +0 -52
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/fs.rb +0 -9
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/gems_registry/gem.rb +0 -79
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/gems_registry.rb +0 -35
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/immutable/array_accessor.rb +0 -32
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/immutable/base_accessor.rb +0 -23
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/immutable/boolean_accessor.rb +0 -16
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/immutable/class_methods.rb +0 -20
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/immutable/common_accessor.rb +0 -30
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/immutable/hash_accessor.rb +0 -46
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/immutable/instance_methods.rb +0 -21
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/immutable.rb +0 -15
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/inflector.rb +0 -29
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/listable/class_methods.rb +0 -14
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/listable/instance_methods.rb +0 -30
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/listable/integer_list.rb +0 -23
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/listable/list.rb +0 -111
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/listable/lists.rb +0 -59
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/listable/string_list.rb +0 -19
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/listable/symbol_list.rb +0 -19
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/listable/value.rb +0 -49
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/listable.rb +0 -17
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/local_time_zone.rb +0 -48
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/locales/from_all_gems.rb +0 -4
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/locales/from_gem.rb +0 -47
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/locales/module_i18n_translate.rb +0 -74
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/locales.rb +0 -9
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/method_class.rb +0 -35
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/options_consumer.rb +0 -62
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/patch.rb +0 -11
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/class/abstract.rb +0 -9
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/class/common_constructor.rb +0 -9
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/class/self_included_modules.rb +0 -7
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/class/settings_provider.rb +0 -10
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/class.rb +0 -4
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/enumerable/boolean_combinations.rb +0 -45
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/enumerable.rb +0 -4
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/enumerator/current.rb +0 -9
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/enumerator/stopped.rb +0 -14
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/enumerator.rb +0 -4
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/hash/options_consumer.rb +0 -10
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/hash/sym_keys_hash.rb +0 -10
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/hash/to_struct.rb +0 -10
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/hash.rb +0 -5
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/kernel/nyi.rb +0 -10
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/kernel.rb +0 -4
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/module/abstract_methods.rb +0 -10
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/module/common_concern.rb +0 -9
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/module/compare_by.rb +0 -9
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/module/context.rb +0 -11
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/module/i18n_translate.rb +0 -9
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/module/immutable.rb +0 -10
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/module/listable.rb +0 -10
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/module/method_class.rb +0 -9
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/module/patch.rb +0 -9
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/module/require_sub.rb +0 -9
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/module/simple_cache.rb +0 -10
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/module/speaker.rb +0 -9
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/module.rb +0 -4
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/object/asserts.rb +0 -25
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/object/call_if_proc.rb +0 -11
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/object/compact.rb +0 -20
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/object/debug.rb +0 -23
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/object/i18n_translate.rb +0 -13
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/object/if_nil.rb +0 -17
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/object/if_present.rb +0 -19
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/object/if_respond.rb +0 -22
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/object/to_pathname.rb +0 -15
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/object/to_uri.rb +0 -15
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/object.rb +0 -5
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/pathname/basename_noext.rb +0 -10
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/pathname/basename_sub.rb +0 -9
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/pathname/if_exist.rb +0 -10
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/pathname/mkpath_s.rb +0 -12
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/pathname/parent_n.rb +0 -11
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/pathname/readlink_r.rb +0 -11
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/pathname/reqdir_glob.rb +0 -13
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/pathname.rb +0 -4
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/regexp/if_match.rb +0 -16
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/regexp/to_parser.rb +0 -10
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/regexp.rb +0 -4
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/string/delimited.rb +0 -16
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/string/inflector.rb +0 -11
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/string.rb +0 -4
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/time/required_zone.rb +0 -11
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/time.rb +0 -4
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches.rb +0 -4
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/recursive_builder.rb +0 -51
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/regexp_parser.rb +0 -34
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/require_sub.rb +0 -134
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/rspec/default_setup.rb +0 -20
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/rspec/setup/conditionals.rb +0 -17
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/rspec/setup.rb +0 -12
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/rspec/setup_manager.rb +0 -49
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/rspec/stub_speaker.rb +0 -39
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/rspec.rb +0 -9
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/ruby/command.rb +0 -32
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/ruby/on_clean_environment.rb +0 -26
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/ruby.rb +0 -9
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/settings_provider/setting_value.rb +0 -69
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/settings_provider.rb +0 -46
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/simple_cache.rb +0 -77
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/speaker/receiver.rb +0 -64
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/speaker/sender.rb +0 -32
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/speaker.rb +0 -16
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/string_delimited.rb +0 -70
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/struct.rb +0 -63
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/version.rb +0 -5
- data/sub/eac_ruby_utils/lib/eac_ruby_utils/yaml.rb +0 -105
- data/sub/eac_ruby_utils/lib/eac_ruby_utils.rb +0 -6
- data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/abstract_methods_spec.rb +0 -28
- data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/arguments_consumer_spec.rb +0 -17
- data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/bit_array_spec.rb +0 -22
- data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/blank_not_blank_spec.rb +0 -16
- data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/byte_spec.rb +0 -54
- data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/common_concern_spec.rb +0 -65
- data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/common_constructor_spec.rb +0 -125
- data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/compact_spec.rb +0 -20
- data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/compare_by_spec.rb +0 -38
- data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/custom_format_spec.rb +0 -60
- data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/enum_spec.rb +0 -43
- data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/envs/executable_spec.rb +0 -37
- data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/envs/ssh_env_spec.rb +0 -25
- data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/fs/extname_spec.rb +0 -18
- data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/fs/temp/directory_spec.rb +0 -12
- data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/fs/temp_spec.rb +0 -52
- data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/inflector_spec.rb +0 -16
- data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/listable_spec.rb +0 -275
- data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/local_time_zone_spec.rb +0 -17
- data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/method_class_spec.rb +0 -46
- data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/options_consumer_spec.rb +0 -80
- data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/class/abstract_spec.rb +0 -25
- data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/class/self_included_modules_spec.rb +0 -30
- data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/enumerable/boolean_combinations_spec.rb +0 -39
- data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/enumerator/current_spec.rb +0 -26
- data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/enumerator/stopped_spec.rb +0 -32
- data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/hash/options_consumer_spec.rb +0 -17
- data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/hash/sym_keys_hash_spec.rb +0 -13
- data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/module/compare_by_spec.rb +0 -36
- data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/module/listable_spec.rb +0 -15
- data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/module/method_class_spec.rb +0 -20
- data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/module/simple_cache_spec.rb +0 -15
- data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/module/speaker_spec.rb +0 -13
- data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/object/call_if_proc_spec.rb +0 -11
- data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/object/compact_spec.rb +0 -20
- data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/object/if_present_spec.rb +0 -13
- data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/object/template_spec_files/path/my_stub_with_template +0 -1
- data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/pathname/basename_noext_spec.rb +0 -26
- data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/pathname/basename_sub_spec.rb +0 -17
- data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/pathname/parent_n_spec.rb +0 -33
- data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/string/delimited_spec.rb +0 -34
- data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/recursive_builder_spec.rb +0 -65
- data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/require_sub_spec/stubbed_module_a.rb +0 -6
- data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/require_sub_spec/stubbed_not_module.rb +0 -6
- data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/require_sub_spec.rb +0 -19
- data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/ruby_spec.rb +0 -22
- data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/settings_provider_spec.rb +0 -57
- data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/simple_cache_spec.rb +0 -129
- data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/struct_spec.rb +0 -57
- data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/yaml_spec.rb +0 -75
- data/sub/eac_ruby_utils/spec/locales/pt-BR.yml +0 -58
- data/sub/eac_ruby_utils/spec/rubocop_check_spec.rb +0 -3
- data/sub/eac_ruby_utils/spec/spec_helper.rb +0 -15
@@ -1,49 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require 'eac_cli/definition'
|
4
|
-
require 'eac_cli/parser'
|
5
|
-
require 'eac_ruby_utils/core_ext'
|
6
|
-
|
7
|
-
module EacCli
|
8
|
-
module Runner
|
9
|
-
require_sub __FILE__
|
10
|
-
extend ::ActiveSupport::Concern
|
11
|
-
|
12
|
-
class << self
|
13
|
-
def alias_runner_class_methods(klass, from_suffix, to_suffix)
|
14
|
-
%i[create run].each do |method|
|
15
|
-
alias_class_method(klass, build_method_name(method, from_suffix),
|
16
|
-
build_method_name(method, to_suffix))
|
17
|
-
end
|
18
|
-
end
|
19
|
-
|
20
|
-
def runner?(object)
|
21
|
-
object.is_a?(::Class) && object.included_modules.include?(::EacCli::Runner)
|
22
|
-
end
|
23
|
-
|
24
|
-
private
|
25
|
-
|
26
|
-
def alias_class_method(klass, from, to)
|
27
|
-
sklass = klass.singleton_class
|
28
|
-
return unless sklass.method_defined?(from)
|
29
|
-
|
30
|
-
sklass.send(:alias_method, to, from)
|
31
|
-
end
|
32
|
-
|
33
|
-
def build_method_name(name, suffix)
|
34
|
-
ss = suffix.if_present('') { |s| "#{s}_" }
|
35
|
-
"#{ss}#{name}"
|
36
|
-
end
|
37
|
-
end
|
38
|
-
|
39
|
-
the_module = self
|
40
|
-
included do
|
41
|
-
the_module.alias_runner_class_methods(self, '', 'original')
|
42
|
-
|
43
|
-
extend AfterClassMethods
|
44
|
-
include InstanceMethods
|
45
|
-
include ActiveSupport::Callbacks
|
46
|
-
define_callbacks :run
|
47
|
-
end
|
48
|
-
end
|
49
|
-
end
|
@@ -1,63 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require 'eac_ruby_utils/core_ext'
|
4
|
-
|
5
|
-
module EacCli
|
6
|
-
module RunnerWith
|
7
|
-
module Help
|
8
|
-
class Builder
|
9
|
-
class Alternative
|
10
|
-
enable_method_class
|
11
|
-
|
12
|
-
SUBCOMMANDS_MACRO = '__SUBCOMMANDS__'
|
13
|
-
|
14
|
-
common_constructor :builder, :alternative
|
15
|
-
|
16
|
-
def result
|
17
|
-
(
|
18
|
-
program_name +
|
19
|
-
alternative.options_argument?.if_present([]) { |_v| ['[options]'] } +
|
20
|
-
options +
|
21
|
-
positionals
|
22
|
-
).join(builder.word_separator)
|
23
|
-
end
|
24
|
-
|
25
|
-
def options
|
26
|
-
alternative.options.select(&:show_on_usage?).map do |option|
|
27
|
-
::EacCli::RunnerWith::Help::Builder.option_long(option)
|
28
|
-
end
|
29
|
-
end
|
30
|
-
|
31
|
-
def option_argument(option)
|
32
|
-
b = option.long
|
33
|
-
b += '=<value>' if option.argument?
|
34
|
-
b
|
35
|
-
end
|
36
|
-
|
37
|
-
def positionals
|
38
|
-
alternative.positional.map { |p| positional(p) }.reject(&:blank?)
|
39
|
-
end
|
40
|
-
|
41
|
-
def positional(positional)
|
42
|
-
return unless positional.visible?
|
43
|
-
|
44
|
-
if positional.subcommand?
|
45
|
-
SUBCOMMANDS_MACRO
|
46
|
-
else
|
47
|
-
r = "<#{positional.name}>"
|
48
|
-
r += '...' if positional.repeat?
|
49
|
-
r = "[#{r}]" if positional.optional?
|
50
|
-
r
|
51
|
-
end
|
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
|
59
|
-
end
|
60
|
-
end
|
61
|
-
end
|
62
|
-
end
|
63
|
-
end
|
@@ -1,82 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require 'eac_ruby_utils/core_ext'
|
4
|
-
|
5
|
-
module EacCli
|
6
|
-
module RunnerWith
|
7
|
-
module Help
|
8
|
-
class Builder
|
9
|
-
require_sub __FILE__, require_dependency: true
|
10
|
-
common_constructor :runner
|
11
|
-
|
12
|
-
SEP = ' '
|
13
|
-
IDENT = SEP * 2
|
14
|
-
OPTION_DESC_SEP = IDENT * 2
|
15
|
-
|
16
|
-
class << self
|
17
|
-
def option_long(option)
|
18
|
-
b = option.long
|
19
|
-
b += '=<value>' if option.argument?
|
20
|
-
b
|
21
|
-
end
|
22
|
-
|
23
|
-
def option_short(option)
|
24
|
-
b = option.short
|
25
|
-
b += '=<value>' if option.argument?
|
26
|
-
b
|
27
|
-
end
|
28
|
-
|
29
|
-
def option_usage_full(option)
|
30
|
-
if option.long.present?
|
31
|
-
[option.short, option_long(option)].reject(&:blank?).join(word_separator)
|
32
|
-
else
|
33
|
-
option_short(option)
|
34
|
-
end
|
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
|
46
|
-
end
|
47
|
-
|
48
|
-
def option_definition(option)
|
49
|
-
[self.class.option_usage_full(option), option.description,
|
50
|
-
option.default_value? ? "[Default: \"#{option.default_value}\"]" : nil]
|
51
|
-
.reject(&:blank?).join(OPTION_DESC_SEP)
|
52
|
-
end
|
53
|
-
|
54
|
-
def section(header, include_header = true)
|
55
|
-
b = include_header ? "#{header.humanize}:\n" : ''
|
56
|
-
b += send("self_#{header}") + "\n"
|
57
|
-
definition.alternatives.each do |alternative|
|
58
|
-
b += IDENT + self.alternative(alternative) + "\n"
|
59
|
-
end
|
60
|
-
b
|
61
|
-
end
|
62
|
-
|
63
|
-
def options_section
|
64
|
-
"Options:\n" +
|
65
|
-
definition.alternatives.flat_map(&:options)
|
66
|
-
.map { |option| IDENT + option_definition(option) + "\n" }.join
|
67
|
-
end
|
68
|
-
|
69
|
-
def usage_section
|
70
|
-
"Usage:\n" +
|
71
|
-
definition.alternatives.map do |alternative|
|
72
|
-
IDENT + self.alternative(alternative) + "\n"
|
73
|
-
end.join
|
74
|
-
end
|
75
|
-
|
76
|
-
def to_s
|
77
|
-
"#{definition.description}\n\n#{usage_section}\n#{options_section}\n"
|
78
|
-
end
|
79
|
-
end
|
80
|
-
end
|
81
|
-
end
|
82
|
-
end
|
@@ -1,41 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require 'eac_cli/runner'
|
4
|
-
require 'eac_ruby_utils/core_ext'
|
5
|
-
|
6
|
-
module EacCli
|
7
|
-
module RunnerWith
|
8
|
-
module Help
|
9
|
-
require_sub __FILE__, require_dependency: true
|
10
|
-
common_concern do
|
11
|
-
include ::EacCli::Runner
|
12
|
-
|
13
|
-
runner_definition.alt do
|
14
|
-
bool_opt '-h', '--help', 'Show help.', usage: true, required: true
|
15
|
-
pos_arg :any_arg_with_help, repeat: true, optional: true, visible: false
|
16
|
-
end
|
17
|
-
|
18
|
-
set_callback :run, :before do
|
19
|
-
help_run
|
20
|
-
end
|
21
|
-
end
|
22
|
-
|
23
|
-
def help_run
|
24
|
-
return unless show_help?
|
25
|
-
|
26
|
-
puts help_text
|
27
|
-
raise ::EacCli::Runner::Exit
|
28
|
-
end
|
29
|
-
|
30
|
-
def help_text
|
31
|
-
r = ::EacCli::RunnerWith::Help::Builder.new(self).to_s
|
32
|
-
r += help_extra_text if respond_to?(:help_extra_text)
|
33
|
-
r
|
34
|
-
end
|
35
|
-
|
36
|
-
def show_help?
|
37
|
-
parsed.help? && !if_respond(:run_subcommand?, false)
|
38
|
-
end
|
39
|
-
end
|
40
|
-
end
|
41
|
-
end
|
@@ -1,119 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require 'eac_cli/runner'
|
4
|
-
require 'eac_ruby_utils/core_ext'
|
5
|
-
|
6
|
-
module EacCli
|
7
|
-
module RunnerWith
|
8
|
-
module Subcommands
|
9
|
-
require_sub __FILE__
|
10
|
-
|
11
|
-
class << self
|
12
|
-
def runner?(object)
|
13
|
-
::EacCli::Runner.runner?(object)
|
14
|
-
end
|
15
|
-
end
|
16
|
-
|
17
|
-
common_concern do
|
18
|
-
include ::EacCli::Runner
|
19
|
-
runner_definition.singleton_class
|
20
|
-
.include(::EacCli::RunnerWith::Subcommands::DefinitionConcern)
|
21
|
-
end
|
22
|
-
|
23
|
-
EXTRA_AVAILABLE_SUBCOMMANDS_METHOD_NAME = :extra_available_subcommands
|
24
|
-
|
25
|
-
def available_subcommands
|
26
|
-
@available_subcommands ||= available_subcommands_auto.merge(available_subcommands_extra)
|
27
|
-
end
|
28
|
-
|
29
|
-
def available_subcommands_auto
|
30
|
-
self.class.constants
|
31
|
-
.map { |name| [name.to_s.underscore.gsub('_', '-'), self.class.const_get(name)] }
|
32
|
-
.select { |c| ::EacCli::RunnerWith::Subcommands.runner?(c[1]) }
|
33
|
-
.to_h.with_indifferent_access
|
34
|
-
end
|
35
|
-
|
36
|
-
def available_subcommands_extra
|
37
|
-
if respond_to?(EXTRA_AVAILABLE_SUBCOMMANDS_METHOD_NAME, true)
|
38
|
-
send(EXTRA_AVAILABLE_SUBCOMMANDS_METHOD_NAME)
|
39
|
-
else
|
40
|
-
{}
|
41
|
-
end
|
42
|
-
end
|
43
|
-
|
44
|
-
def help_extra_text
|
45
|
-
(['Subcommands:'] + available_subcommands.keys.sort.map { |s| " #{s}" })
|
46
|
-
.map { |v| "#{v}\n" }.join
|
47
|
-
end
|
48
|
-
|
49
|
-
def method_missing(method_name, *arguments, &block)
|
50
|
-
return run_with_subcommand(*arguments, &block) if
|
51
|
-
run_with_subcommand_alias_run?(method_name)
|
52
|
-
|
53
|
-
super
|
54
|
-
end
|
55
|
-
|
56
|
-
def respond_to_missing?(method_name, include_private = false)
|
57
|
-
run_with_subcommand_alias_run?(method_name) || super
|
58
|
-
end
|
59
|
-
|
60
|
-
def run_with_subcommand
|
61
|
-
if run_subcommand?
|
62
|
-
if subcommand_runner.respond_to?(:run_run)
|
63
|
-
subcommand_runner.run_run
|
64
|
-
else
|
65
|
-
subcommand_runner.run
|
66
|
-
end
|
67
|
-
else
|
68
|
-
run_without_subcommand
|
69
|
-
end
|
70
|
-
end
|
71
|
-
|
72
|
-
def run_with_subcommand_alias_run?(method_name)
|
73
|
-
subcommands? && method_name.to_sym == :run
|
74
|
-
end
|
75
|
-
|
76
|
-
def run_without_subcommand
|
77
|
-
"Method #{__method__} should be overrided in #{self.class.name}"
|
78
|
-
end
|
79
|
-
|
80
|
-
def run_subcommand?
|
81
|
-
subcommand_name.present?
|
82
|
-
end
|
83
|
-
|
84
|
-
def subcommands?
|
85
|
-
self.class.runner_definition.subcommands?
|
86
|
-
end
|
87
|
-
|
88
|
-
def subcommand_args
|
89
|
-
parsed.fetch(::EacCli::Definition::SUBCOMMAND_ARGS_ARG)
|
90
|
-
end
|
91
|
-
|
92
|
-
def subcommand_class
|
93
|
-
available_subcommands[subcommand_name].if_present { |v| return v }
|
94
|
-
|
95
|
-
raise(::EacCli::Parser::Error.new(
|
96
|
-
self.class.runner_definition, runner_context.argv,
|
97
|
-
"Subcommand \"#{subcommand_name}\" not found " \
|
98
|
-
"(Available: #{available_subcommands.keys})"
|
99
|
-
))
|
100
|
-
end
|
101
|
-
|
102
|
-
def subcommand_name
|
103
|
-
parsed.fetch(::EacCli::Definition::SUBCOMMAND_NAME_ARG)
|
104
|
-
end
|
105
|
-
|
106
|
-
def subcommand_program
|
107
|
-
[program_name, subcommand_name]
|
108
|
-
end
|
109
|
-
|
110
|
-
def subcommand_runner
|
111
|
-
@subcommand_runner ||= subcommand_class.create(
|
112
|
-
argv: subcommand_args,
|
113
|
-
program_name: subcommand_program,
|
114
|
-
parent: self
|
115
|
-
)
|
116
|
-
end
|
117
|
-
end
|
118
|
-
end
|
119
|
-
end
|
@@ -1,50 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module EacCli
|
4
|
-
class RunnerWithSet
|
5
|
-
class << self
|
6
|
-
def default
|
7
|
-
@default ||= new
|
8
|
-
end
|
9
|
-
end
|
10
|
-
|
11
|
-
def add_namespace(namespace)
|
12
|
-
namespace = sanitize_namespace(namespace)
|
13
|
-
raise "\"#{namespace}\" already was included" if namespace_set.include?(namespace)
|
14
|
-
|
15
|
-
namespace_set << namespace
|
16
|
-
self
|
17
|
-
end
|
18
|
-
|
19
|
-
def item_to_module(item)
|
20
|
-
item.is_a?(::Module) ? item : key_to_module(item)
|
21
|
-
end
|
22
|
-
|
23
|
-
def namespaces
|
24
|
-
namespace_set.dup
|
25
|
-
end
|
26
|
-
|
27
|
-
private
|
28
|
-
|
29
|
-
def namespace_set
|
30
|
-
@namespace_set ||= ::Array.new
|
31
|
-
end
|
32
|
-
|
33
|
-
def key_to_module(key)
|
34
|
-
namespace_set.lazy
|
35
|
-
.map { |namespace| key_to_module_in_namespace(namespace, key) }
|
36
|
-
.find(&:present?) ||
|
37
|
-
raise("Not module found with key \"#{key}\" (Namespaces: #{namespace_set})")
|
38
|
-
end
|
39
|
-
|
40
|
-
def key_to_module_in_namespace(namespace, key)
|
41
|
-
namespace.const_get(key.to_s.camelize)
|
42
|
-
rescue ::NameError
|
43
|
-
nil
|
44
|
-
end
|
45
|
-
|
46
|
-
def sanitize_namespace(source)
|
47
|
-
source.is_a?(::Module) ? source : source.to_s.constantize
|
48
|
-
end
|
49
|
-
end
|
50
|
-
end
|
@@ -1,13 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require 'eac_ruby_utils/by_reference'
|
4
|
-
|
5
|
-
module EacCli
|
6
|
-
class Speaker
|
7
|
-
module Constants
|
8
|
-
STDERR = ::EacRubyUtils::ByReference.new { $stderr }
|
9
|
-
STDIN = ::EacRubyUtils::ByReference.new { $stdin }
|
10
|
-
STDOUT = ::EacRubyUtils::ByReference.new { $stdout }
|
11
|
-
end
|
12
|
-
end
|
13
|
-
end
|
@@ -1,61 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require 'active_support/hash_with_indifferent_access'
|
4
|
-
require 'ostruct'
|
5
|
-
|
6
|
-
module EacCli
|
7
|
-
class Speaker
|
8
|
-
class List
|
9
|
-
class << self
|
10
|
-
def build(list)
|
11
|
-
return List.new(hash_to_values(list)) if list.is_a?(::Hash)
|
12
|
-
return List.new(array_to_values(list)) if list.is_a?(::Array)
|
13
|
-
|
14
|
-
raise "Invalid list: #{list} (#{list.class})"
|
15
|
-
end
|
16
|
-
|
17
|
-
private
|
18
|
-
|
19
|
-
def hash_to_values(list)
|
20
|
-
list.map { |key, value| ::OpenStruct.new(key: key, label: key, value: value) }
|
21
|
-
end
|
22
|
-
|
23
|
-
def array_to_values(list)
|
24
|
-
list.map { |value| ::OpenStruct.new(key: value, label: value, value: value) }
|
25
|
-
end
|
26
|
-
end
|
27
|
-
|
28
|
-
attr_reader :values
|
29
|
-
|
30
|
-
def initialize(values)
|
31
|
-
@values = values.map do |v|
|
32
|
-
::OpenStruct.new(key: to_key(v.key), label: to_label(v.label), value: v.value)
|
33
|
-
end
|
34
|
-
end
|
35
|
-
|
36
|
-
def valid_labels
|
37
|
-
values.map(&:label)
|
38
|
-
end
|
39
|
-
|
40
|
-
def valid_value?(value)
|
41
|
-
values.any? { |v| v.key == to_key(value) }
|
42
|
-
end
|
43
|
-
|
44
|
-
def to_key(value)
|
45
|
-
to_label(value).downcase
|
46
|
-
end
|
47
|
-
|
48
|
-
def to_label(value)
|
49
|
-
value.to_s.strip
|
50
|
-
end
|
51
|
-
|
52
|
-
def build_value(value)
|
53
|
-
key = to_key(value)
|
54
|
-
values.each do |v| # rubocop:disable Style/HashEachMethods
|
55
|
-
return v.value if v.key == key
|
56
|
-
end
|
57
|
-
raise "Value not found: \"#{value}\" (#{values})"
|
58
|
-
end
|
59
|
-
end
|
60
|
-
end
|
61
|
-
end
|
@@ -1,38 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require 'eac_ruby_utils/core_ext'
|
4
|
-
|
5
|
-
module EacCli
|
6
|
-
class Speaker
|
7
|
-
module Options
|
8
|
-
common_concern do
|
9
|
-
enable_listable
|
10
|
-
lists.add_symbol :option, :out_out, :err_out, :in_in, :parent, :err_line_prefix
|
11
|
-
end
|
12
|
-
|
13
|
-
def err_out
|
14
|
-
option(OPTION_ERR_OUT, ::EacCli::Speaker::STDERR)
|
15
|
-
end
|
16
|
-
|
17
|
-
def out_out
|
18
|
-
option(OPTION_OUT_OUT, ::EacCli::Speaker::STDOUT)
|
19
|
-
end
|
20
|
-
|
21
|
-
def in_in
|
22
|
-
option(OPTION_IN_IN, ::EacCli::Speaker::STDIN)
|
23
|
-
end
|
24
|
-
|
25
|
-
def err_line_prefix
|
26
|
-
option(OPTION_ERR_LINE_PREFIX, '')
|
27
|
-
end
|
28
|
-
|
29
|
-
def parent
|
30
|
-
options[OPTION_PARENT]
|
31
|
-
end
|
32
|
-
|
33
|
-
def option(key, default)
|
34
|
-
options[key] || parent.if_present(default) { |v| v.send(__METHOD__) }
|
35
|
-
end
|
36
|
-
end
|
37
|
-
end
|
38
|
-
end
|
@@ -1,126 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require 'colorize'
|
4
|
-
require 'eac_ruby_utils/core_ext'
|
5
|
-
require 'eac_ruby_utils/speaker/receiver'
|
6
|
-
|
7
|
-
module EacCli
|
8
|
-
class Speaker
|
9
|
-
require_sub __FILE__, include_modules: true
|
10
|
-
include ::EacRubyUtils::Speaker::Receiver
|
11
|
-
|
12
|
-
common_constructor :options, default: [{}] do
|
13
|
-
self.options = self.class.lists.option.hash_keys_validate!(options)
|
14
|
-
end
|
15
|
-
|
16
|
-
def puts(string = '')
|
17
|
-
string.to_s.each_line do |line|
|
18
|
-
err_out.puts(err_line_prefix.to_s + line)
|
19
|
-
end
|
20
|
-
end
|
21
|
-
|
22
|
-
def out(string = '')
|
23
|
-
out_out.write(string.to_s)
|
24
|
-
end
|
25
|
-
|
26
|
-
def error(string)
|
27
|
-
puts "ERROR: #{string}".white.on_red
|
28
|
-
end
|
29
|
-
|
30
|
-
def title(string)
|
31
|
-
string = string.to_s
|
32
|
-
puts(('-' * (8 + string.length)).green)
|
33
|
-
puts("--- #{string} ---".green)
|
34
|
-
puts(('-' * (8 + string.length)).green)
|
35
|
-
puts
|
36
|
-
end
|
37
|
-
|
38
|
-
def info(string)
|
39
|
-
puts string.to_s.white
|
40
|
-
end
|
41
|
-
|
42
|
-
def infom(string)
|
43
|
-
puts string.to_s.light_yellow
|
44
|
-
end
|
45
|
-
|
46
|
-
def warn(string)
|
47
|
-
puts string.to_s.yellow
|
48
|
-
end
|
49
|
-
|
50
|
-
# Options:
|
51
|
-
# +bool+ ([Boolean], default: +false+): requires a answer "yes" or "no".
|
52
|
-
# +list+ ([Hash] or [Array], default: +nil+): requires a answer from a list.
|
53
|
-
# +noecho+ ([Boolean], default: +false+): does not output answer.
|
54
|
-
def input(question, options = {})
|
55
|
-
bool, list, noecho = options.to_options_consumer.consume_all(:bool, :list, :noecho)
|
56
|
-
if list
|
57
|
-
request_from_list(question, list, noecho)
|
58
|
-
elsif bool
|
59
|
-
request_from_bool(question, noecho)
|
60
|
-
else
|
61
|
-
request_string(question, noecho)
|
62
|
-
end
|
63
|
-
end
|
64
|
-
|
65
|
-
def infov(*args)
|
66
|
-
r = []
|
67
|
-
args.each_with_index do |v, i|
|
68
|
-
if i.even?
|
69
|
-
r << "#{v}: ".cyan
|
70
|
-
else
|
71
|
-
r.last << v.to_s
|
72
|
-
end
|
73
|
-
end
|
74
|
-
puts r.join(', ')
|
75
|
-
end
|
76
|
-
|
77
|
-
def success(string)
|
78
|
-
puts string.to_s.green
|
79
|
-
end
|
80
|
-
|
81
|
-
private
|
82
|
-
|
83
|
-
def list_value(list, input)
|
84
|
-
values = list_values(list)
|
85
|
-
return input, true unless values
|
86
|
-
return input, false unless values.include?(input)
|
87
|
-
end
|
88
|
-
|
89
|
-
def list_values(list)
|
90
|
-
if list.is_a?(::Hash)
|
91
|
-
list.keys.map(&:to_s)
|
92
|
-
elsif list.is_a?(::Array)
|
93
|
-
list.map(&:to_s)
|
94
|
-
end
|
95
|
-
end
|
96
|
-
|
97
|
-
def request_from_bool(question, noecho)
|
98
|
-
request_from_list(question, { yes: true, y: true, no: false, n: false }, noecho)
|
99
|
-
end
|
100
|
-
|
101
|
-
def request_from_list(question, list, noecho)
|
102
|
-
list = ::EacCli::Speaker::List.build(list)
|
103
|
-
loop do
|
104
|
-
input = request_string("#{question} [#{list.valid_labels.join('/')}]", noecho)
|
105
|
-
return list.build_value(input) if list.valid_value?(input)
|
106
|
-
|
107
|
-
warn "Invalid input: \"#{input}\" (Valid: #{list.valid_labels.join(', ')})"
|
108
|
-
end
|
109
|
-
end
|
110
|
-
|
111
|
-
def request_string(question, noecho)
|
112
|
-
err_out.write "#{question}: ".to_s.yellow
|
113
|
-
noecho ? request_string_noecho : request_string_echo
|
114
|
-
end
|
115
|
-
|
116
|
-
def request_string_noecho
|
117
|
-
r = in_in.noecho(&:gets).chomp.strip
|
118
|
-
err_out.write("\n")
|
119
|
-
r
|
120
|
-
end
|
121
|
-
|
122
|
-
def request_string_echo
|
123
|
-
in_in.gets.chomp.strip
|
124
|
-
end
|
125
|
-
end
|
126
|
-
end
|
data/sub/eac_cli/lib/eac_cli.rb
DELETED
@@ -1,18 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require 'eac_cli/definition/alternative'
|
4
|
-
|
5
|
-
RSpec.describe ::EacCli::Definition::Alternative do
|
6
|
-
let(:instance) { described_class.new }
|
7
|
-
|
8
|
-
it { expect { instance.arg_opt '-a', '--opt2', 'A argument option' }.not_to raise_error }
|
9
|
-
it { expect { instance.bool_opt '-b', '--opt1', 'A boolean option' }.not_to raise_error }
|
10
|
-
it { expect { instance.bool_opt '-b', '--no-description' }.not_to raise_error }
|
11
|
-
it { expect { instance.bool_opt '--opt1', 'A option without short' }.not_to raise_error }
|
12
|
-
it { expect { instance.bool_opt '-b', 'A option without long' }.not_to raise_error }
|
13
|
-
it { expect { instance.bool_opt 'A option without selectors' }.to raise_error(::StandardError) }
|
14
|
-
it { expect { instance.options_argument(true) }.not_to raise_error }
|
15
|
-
it { expect { instance.pos_arg :pos1 }.not_to raise_error }
|
16
|
-
it { expect { instance.pos_arg :pos2, optional: true, repeat: true }.not_to raise_error }
|
17
|
-
it { expect { instance.subcommands }.not_to raise_error }
|
18
|
-
end
|