eac_tools 0.105.0 → 0.105.1
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.
- checksums.yaml +4 -4
- data/Gemfile.lock +35 -30
- data/lib/eac_tools/version.rb +1 -1
- data/sub/avm-tools/README.textile +28 -0
- data/sub/avm-tools/avm-tools.gemspec +25 -0
- data/sub/avm-tools/exe/avm +6 -0
- data/sub/avm-tools/lib/avm/tools/core_ext.rb +1 -0
- data/sub/avm-tools/lib/avm/tools/rspec/helpers/runner.rb +19 -0
- data/sub/avm-tools/lib/avm/tools/rspec/setup.rb +21 -0
- data/sub/avm-tools/lib/avm/tools/runner/application/info.rb +34 -0
- data/sub/avm-tools/lib/avm/tools/runner/application.rb +23 -0
- data/sub/avm-tools/lib/avm/tools/runner/application_stereotypes/list.rb +29 -0
- data/sub/avm-tools/lib/avm/tools/runner/application_stereotypes.rb +14 -0
- data/sub/avm-tools/lib/avm/tools/runner/applications/list.rb +29 -0
- data/sub/avm-tools/lib/avm/tools/runner/applications.rb +14 -0
- data/sub/avm-tools/lib/avm/tools/runner/config/load_path.rb +48 -0
- data/sub/avm-tools/lib/avm/tools/runner/config.rb +15 -0
- data/sub/avm-tools/lib/avm/tools/runner/files/format.rb +46 -0
- data/sub/avm-tools/lib/avm/tools/runner/files/rotate.rb +28 -0
- data/sub/avm-tools/lib/avm/tools/runner/files.rb +15 -0
- data/sub/avm-tools/lib/avm/tools/runner/instance/data/clear.rb +15 -0
- data/sub/avm-tools/lib/avm/tools/runner/instance/data/dump.rb +17 -0
- data/sub/avm-tools/lib/avm/tools/runner/instance/data/load.rb +22 -0
- data/sub/avm-tools/lib/avm/tools/runner/instance/data/unit/clear.rb +17 -0
- data/sub/avm-tools/lib/avm/tools/runner/instance/data/unit/dump.rb +17 -0
- data/sub/avm-tools/lib/avm/tools/runner/instance/data/unit/load.rb +22 -0
- data/sub/avm-tools/lib/avm/tools/runner/instance/data/unit.rb +41 -0
- data/sub/avm-tools/lib/avm/tools/runner/instance/data.rb +24 -0
- data/sub/avm-tools/lib/avm/tools/runner/instance/entry.rb +41 -0
- data/sub/avm-tools/lib/avm/tools/runner/instance/info.rb +35 -0
- data/sub/avm-tools/lib/avm/tools/runner/instance/system.rb +63 -0
- data/sub/avm-tools/lib/avm/tools/runner/instance.rb +11 -0
- data/sub/avm-tools/lib/avm/tools/runner/launcher/instances.rb +34 -0
- data/sub/avm-tools/lib/avm/tools/runner/launcher/projects.rb +37 -0
- data/sub/avm-tools/lib/avm/tools/runner/launcher/publish.rb +51 -0
- data/sub/avm-tools/lib/avm/tools/runner/launcher.rb +15 -0
- data/sub/avm-tools/lib/avm/tools/runner/launcher_stereotypes/list.rb +38 -0
- data/sub/avm-tools/lib/avm/tools/runner/launcher_stereotypes.rb +14 -0
- data/sub/avm-tools/lib/avm/tools/runner/self/docker.rb +12 -0
- data/sub/avm-tools/lib/avm/tools/runner/self/registry.rb +22 -0
- data/sub/avm-tools/lib/avm/tools/runner/self.rb +19 -0
- data/sub/avm-tools/lib/avm/tools/runner/source/auto_commit.rb +67 -0
- data/sub/avm-tools/lib/avm/tools/runner/source/info.rb +53 -0
- data/sub/avm-tools/lib/avm/tools/runner/source/issue/complete.rb +85 -0
- data/sub/avm-tools/lib/avm/tools/runner/source/issue/deliver.rb +32 -0
- data/sub/avm-tools/lib/avm/tools/runner/source/issue.rb +17 -0
- data/sub/avm-tools/lib/avm/tools/runner/source/sub/remove.rb +20 -0
- data/sub/avm-tools/lib/avm/tools/runner/source/sub.rb +27 -0
- data/sub/avm-tools/lib/avm/tools/runner/source/subs.rb +70 -0
- data/sub/avm-tools/lib/avm/tools/runner/source/test.rb +90 -0
- data/sub/avm-tools/lib/avm/tools/runner/source/update.rb +20 -0
- data/sub/avm-tools/lib/avm/tools/runner/source/version_bump.rb +78 -0
- data/sub/avm-tools/lib/avm/tools/runner/source.rb +15 -0
- data/sub/avm-tools/lib/avm/tools/runner/source_generate.rb +10 -0
- data/sub/avm-tools/lib/avm/tools/runner.rb +20 -0
- data/sub/avm-tools/lib/avm/tools/runner_with/include_exclude.rb +20 -0
- data/sub/avm-tools/lib/avm/tools/runner_with/instance_data_clear.rb +19 -0
- data/sub/avm-tools/lib/avm/tools/runner_with/instance_data_dump.rb +55 -0
- data/sub/avm-tools/lib/avm/tools/runner_with/instance_data_load.rb +64 -0
- data/sub/avm-tools/lib/avm/tools/runner_with/instance_data_performer.rb +37 -0
- data/sub/avm-tools/lib/avm/tools/runner_with.rb +9 -0
- data/sub/avm-tools/lib/avm/tools/self.rb +19 -0
- data/sub/{avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0 → avm-tools/lib/avm/tools}/version.rb +2 -2
- data/sub/avm-tools/lib/avm/tools.rb +16 -0
- data/sub/avm-tools/spec/lib/avm/tools/runner/files/rotate_spec.rb +71 -0
- data/sub/avm-tools/spec/lib/avm/tools/runner/launcher_stereotypes/list_spec.rb +15 -0
- data/sub/avm-tools/spec/lib/avm/tools/runner/source/issue/complete_spec.rb +47 -0
- data/sub/avm-tools/spec/lib/avm/tools/runner_spec.rb +12 -0
- data/sub/{avm-eac_asciidoctor_base0 → avm-tools}/spec/spec_helper.rb +3 -3
- data/sub/eac_cli/Gemfile +8 -0
- data/sub/eac_cli/eac_cli.gemspec +23 -0
- data/sub/eac_cli/lib/eac_cli/config/entry/options.rb +55 -0
- data/sub/eac_cli/lib/eac_cli/config/entry/undefined.rb +26 -0
- data/sub/eac_cli/lib/eac_cli/config/entry.rb +55 -0
- data/sub/eac_cli/lib/eac_cli/config.rb +15 -0
- data/sub/eac_cli/lib/eac_cli/core_ext.rb +3 -0
- data/sub/eac_cli/lib/eac_cli/default_runner.rb +12 -0
- data/sub/eac_cli/lib/eac_cli/definition/alternative.rb +101 -0
- data/sub/eac_cli/lib/eac_cli/definition/argument_option.rb +19 -0
- data/sub/eac_cli/lib/eac_cli/definition/boolean_option.rb +25 -0
- data/sub/eac_cli/lib/eac_cli/definition/error.rb +8 -0
- data/sub/eac_cli/lib/eac_cli/definition/option/initialize_args_parser.rb +48 -0
- data/sub/eac_cli/lib/eac_cli/definition/option.rb +70 -0
- data/sub/eac_cli/lib/eac_cli/definition/option_or_positional.rb +41 -0
- data/sub/eac_cli/lib/eac_cli/definition/positional.rb +50 -0
- data/sub/eac_cli/lib/eac_cli/definition.rb +104 -0
- data/sub/eac_cli/lib/eac_cli/enum.rb +44 -0
- data/sub/eac_cli/lib/eac_cli/old_configs/entry_reader.rb +76 -0
- data/sub/eac_cli/lib/eac_cli/old_configs/password_entry_reader.rb +14 -0
- data/sub/eac_cli/lib/eac_cli/old_configs/read_entry_options.rb +42 -0
- data/sub/eac_cli/lib/eac_cli/old_configs/store_passwords_entry_reader.rb +23 -0
- data/sub/eac_cli/lib/eac_cli/old_configs.rb +31 -0
- data/sub/eac_cli/lib/eac_cli/parser/alternative/any_options.rb +17 -0
- data/sub/eac_cli/lib/eac_cli/parser/alternative/argv.rb +19 -0
- data/sub/eac_cli/lib/eac_cli/parser/alternative/double_dash.rb +24 -0
- data/sub/eac_cli/lib/eac_cli/parser/alternative/long_options.rb +37 -0
- data/sub/eac_cli/lib/eac_cli/parser/alternative/option_argument.rb +29 -0
- data/sub/eac_cli/lib/eac_cli/parser/alternative/options.rb +29 -0
- data/sub/eac_cli/lib/eac_cli/parser/alternative/positionals.rb +30 -0
- data/sub/eac_cli/lib/eac_cli/parser/alternative/short_options.rb +54 -0
- data/sub/eac_cli/lib/eac_cli/parser/alternative.rb +99 -0
- data/sub/eac_cli/lib/eac_cli/parser/collector.rb +52 -0
- data/sub/eac_cli/lib/eac_cli/parser/error.rb +13 -0
- data/sub/eac_cli/lib/eac_cli/parser.rb +32 -0
- data/sub/eac_cli/lib/eac_cli/patches/object/runner_with.rb +22 -0
- data/sub/eac_cli/lib/eac_cli/patches/object.rb +5 -0
- data/sub/eac_cli/lib/eac_cli/patches.rb +3 -0
- data/sub/eac_cli/lib/eac_cli/rspec/setup.rb +41 -0
- data/sub/eac_cli/lib/eac_cli/runner/after_class_methods.rb +34 -0
- data/sub/eac_cli/lib/eac_cli/runner/class_runner.rb +32 -0
- data/sub/eac_cli/lib/eac_cli/runner/context.rb +57 -0
- data/sub/eac_cli/lib/eac_cli/runner/context_responders/base.rb +22 -0
- data/sub/eac_cli/lib/eac_cli/runner/context_responders/parent.rb +24 -0
- data/sub/eac_cli/lib/eac_cli/runner/context_responders/runner.rb +17 -0
- data/sub/eac_cli/lib/eac_cli/runner/context_responders/runner_missing_method.rb +29 -0
- data/sub/eac_cli/lib/eac_cli/runner/context_responders/set.rb +41 -0
- data/sub/eac_cli/lib/eac_cli/runner/exit.rb +14 -0
- data/sub/eac_cli/lib/eac_cli/runner/for_context.rb +35 -0
- data/sub/eac_cli/lib/eac_cli/runner/instance_methods.rb +45 -0
- data/sub/eac_cli/lib/eac_cli/runner.rb +47 -0
- data/sub/eac_cli/lib/eac_cli/runner_with/confirmation/input_result.rb +60 -0
- data/sub/eac_cli/lib/eac_cli/runner_with/confirmation.rb +65 -0
- data/sub/eac_cli/lib/eac_cli/runner_with/help/builder/alternative.rb +61 -0
- data/sub/eac_cli/lib/eac_cli/runner_with/help/builder.rb +79 -0
- data/sub/eac_cli/lib/eac_cli/runner_with/help/layout.rb +38 -0
- data/sub/eac_cli/lib/eac_cli/runner_with/help.rb +51 -0
- data/sub/eac_cli/lib/eac_cli/runner_with/input.rb +32 -0
- data/sub/eac_cli/lib/eac_cli/runner_with/output.rb +54 -0
- data/sub/eac_cli/lib/eac_cli/runner_with/output_item/asciidoc_formatter.rb +70 -0
- data/sub/eac_cli/lib/eac_cli/runner_with/output_item/base_formatter.rb +12 -0
- data/sub/eac_cli/lib/eac_cli/runner_with/output_item/csv_formatter.rb +21 -0
- data/sub/eac_cli/lib/eac_cli/runner_with/output_item/yaml_formatter.rb +16 -0
- data/sub/eac_cli/lib/eac_cli/runner_with/output_item.rb +47 -0
- data/sub/eac_cli/lib/eac_cli/runner_with/output_list/base_formatter.rb +44 -0
- data/sub/eac_cli/lib/eac_cli/runner_with/output_list/csv_formatter.rb +24 -0
- data/sub/eac_cli/lib/eac_cli/runner_with/output_list/tty_formatter.rb +34 -0
- data/sub/eac_cli/lib/eac_cli/runner_with/output_list/yaml_formatter.rb +21 -0
- data/sub/eac_cli/lib/eac_cli/runner_with/output_list.rb +39 -0
- data/sub/eac_cli/lib/eac_cli/runner_with/subcommands/definition_concern.rb +10 -0
- data/sub/eac_cli/lib/eac_cli/runner_with/subcommands.rb +124 -0
- data/sub/eac_cli/lib/eac_cli/runner_with.rb +7 -0
- data/sub/eac_cli/lib/eac_cli/runner_with_set/from_gems_registry.rb +14 -0
- data/sub/eac_cli/lib/eac_cli/runner_with_set.rb +48 -0
- data/sub/eac_cli/lib/eac_cli/speaker/constants.rb +11 -0
- data/sub/eac_cli/lib/eac_cli/speaker/input_blocked.rb +14 -0
- data/sub/eac_cli/lib/eac_cli/speaker/input_requested.rb +8 -0
- data/sub/eac_cli/lib/eac_cli/speaker/list.rb +84 -0
- data/sub/eac_cli/lib/eac_cli/speaker/options.rb +42 -0
- data/sub/eac_cli/lib/eac_cli/speaker/request_from_list.rb +40 -0
- data/sub/eac_cli/lib/eac_cli/speaker.rb +114 -0
- data/sub/eac_cli/lib/eac_cli/version.rb +5 -0
- data/sub/eac_cli/lib/eac_cli.rb +14 -0
- data/sub/eac_cli/spec/lib/eac_cli/definition/alternative_spec.rb +18 -0
- data/sub/eac_cli/spec/lib/eac_cli/old_configs_spec.rb +14 -0
- data/sub/eac_cli/spec/lib/eac_cli/parser/alternative/subcommands_spec.rb +58 -0
- data/sub/eac_cli/spec/lib/eac_cli/parser/alternative_spec.rb +89 -0
- data/sub/eac_cli/spec/lib/eac_cli/runner/for_context_spec.rb +79 -0
- data/sub/eac_cli/spec/lib/eac_cli/runner_spec.rb +129 -0
- data/sub/eac_cli/spec/lib/eac_cli/runner_with/confirmation/input_result_spec.rb +36 -0
- data/sub/eac_cli/spec/lib/eac_cli/runner_with/confirmation_spec.rb +42 -0
- data/sub/eac_cli/spec/lib/eac_cli/runner_with/help/layout_spec.rb +21 -0
- data/sub/eac_cli/spec/lib/eac_cli/runner_with/help_spec.rb +51 -0
- data/sub/eac_cli/spec/lib/eac_cli/runner_with/output_list_spec.rb +57 -0
- data/sub/eac_cli/spec/lib/eac_cli/runner_with/output_spec.rb +81 -0
- data/sub/eac_cli/spec/lib/eac_cli/runner_with/subcommands_spec.rb +99 -0
- data/sub/eac_cli/spec/lib/eac_cli/speaker_spec.rb +36 -0
- data/sub/eac_cli/spec/rubocop_spec.rb +3 -0
- data/sub/eac_cli/spec/spec_helper.rb +4 -0
- metadata +185 -82
- data/sub/avm-eac_asciidoctor_base0/avm-eac_asciidoctor_base0.gemspec +0 -24
- data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/documents_owner.rb +0 -30
- data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/file_formats/base/file_resource_name.rb +0 -37
- data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/file_formats/base.rb +0 -17
- data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/apache_host.rb +0 -19
- data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/apache_path.rb +0 -12
- data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/base.rb +0 -33
- data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/build/document/body_target.rb +0 -37
- data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/build/document/header_lines.rb +0 -92
- data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/build/document/media.rb +0 -28
- data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/build/document/pre_process_line.rb +0 -64
- data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/build/document.rb +0 -101
- data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/build/theme.rb +0 -41
- data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/build.rb +0 -61
- data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/deploy.rb +0 -28
- data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/macros/base.rb +0 -21
- data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/macros/breadcrumbs.rb +0 -55
- data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/macros/child_docs/document_builder.rb +0 -63
- data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/macros/child_docs.rb +0 -35
- data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/macros/default_body.rb +0 -21
- data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/macros/todo.rb +0 -21
- data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/macros.rb +0 -13
- data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances.rb +0 -11
- data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/logging/catcher.rb +0 -47
- data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/logging/error.rb +0 -18
- data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/logging.rb +0 -11
- data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/source_generators/base.rb +0 -28
- data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/source_generators.rb +0 -11
- data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/base/instance_to_build.rb +0 -45
- data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/base/theme.rb +0 -46
- data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/base.rb +0 -49
- data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/document/media.rb +0 -28
- data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/document/title.rb +0 -31
- data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/document.rb +0 -56
- data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/runners/build.rb +0 -58
- data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/runners/document/build.rb +0 -51
- data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/runners/document.rb +0 -30
- data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/runners/documents.rb +0 -28
- data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/runners/ignore_errors_option.rb +0 -45
- data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/runners.rb +0 -13
- data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources.rb +0 -11
- data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0.rb +0 -9
- data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/file_formats/base_spec.rb +0 -13
- data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build/document_spec.rb +0 -81
- data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build/document_spec_files/pre_processed_root_body.adoc +0 -25
- data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec.rb +0 -22
- data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.source/content/_media/a_media_file +0 -1
- data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.source/content/doc1/_media/a_media_file +0 -1
- data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.source/content/doc1/body.adoc +0 -11
- data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.source/content/doc1/title +0 -1
- data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.source/content/doc2/body.adoc +0 -11
- data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.source/content/doc2/doc2_1/_media/a_media_file +0 -1
- data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.source/content/doc2/doc2_1/body.adoc +0 -11
- data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.source/content/doc2/doc2_1/title +0 -1
- data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.source/content/doc2/title +0 -1
- data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.target/_media/a_media_file +0 -1
- data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.target/_theme/main.css +0 -1
- data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.target/doc1/_media/a_media_file +0 -1
- data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.target/doc1/index.html +0 -1
- data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.target/doc2/doc2_1/_media/a_media_file +0 -1
- data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.target/doc2/doc2_1/index.html +0 -1
- data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.target/doc2/index.html +0 -1
- data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.target/index.html +0 -1
- data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/source_generators/base_spec.rb +0 -8
- data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/source_generators/base_spec_files/no_options/content/body.adoc +0 -11
- data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/source_generators/base_spec_files/no_options/content/title +0 -1
- data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/source_generators/base_spec_files/no_options/theme/main.css +0 -1
- data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/sources/base_spec.rb +0 -16
- data/sub/avm-eac_asciidoctor_base0/spec/spec_helper/eac_asciidoctor_base0_stubs.rb +0 -55
- data/sub/avm-eac_asciidoctor_base0/template/avm/eac_asciidoctor_base0/source_generators/base/content/body.adoc +0 -11
- data/sub/avm-eac_asciidoctor_base0/template/avm/eac_asciidoctor_base0/source_generators/base/content/title +0 -1
- data/sub/avm-eac_asciidoctor_base0/template/avm/eac_asciidoctor_base0/source_generators/base/theme/main.css +0 -1
- /data/sub/{avm-eac_asciidoctor_base0 → avm-tools}/Gemfile +0 -0
- /data/sub/{avm-eac_asciidoctor_base0 → avm-tools}/spec/rubocop_spec.rb +0 -0
@@ -0,0 +1,85 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'clipboard'
|
4
|
+
|
5
|
+
module Avm
|
6
|
+
module Tools
|
7
|
+
class Runner
|
8
|
+
class Source < ::Avm::Sources::Runner
|
9
|
+
class Issue
|
10
|
+
class Complete
|
11
|
+
runner_with :confirmation, :help do
|
12
|
+
desc 'Closes a issue in a remote repository.'
|
13
|
+
bool_opt '-f', '--uncomplete-unfail', 'Do not exit with error if issue is not ' \
|
14
|
+
'completed or is invalid.'
|
15
|
+
arg_opt '-s', '--skip-validations', 'Does not validate conditions on <validations> ' \
|
16
|
+
'(Comma separated value).'
|
17
|
+
end
|
18
|
+
|
19
|
+
def run
|
20
|
+
return unless run_validate
|
21
|
+
return unless run_complete
|
22
|
+
|
23
|
+
clipboard_copy_tracker_message
|
24
|
+
|
25
|
+
success('Done!')
|
26
|
+
end
|
27
|
+
|
28
|
+
def help_extra_text
|
29
|
+
"Validations:\n#{doc_validations_list}"
|
30
|
+
end
|
31
|
+
|
32
|
+
def run_validate
|
33
|
+
complete.start_banner
|
34
|
+
return true if complete.valid?
|
35
|
+
|
36
|
+
uncomplete_message('Some validation did not pass')
|
37
|
+
end
|
38
|
+
|
39
|
+
def run_complete
|
40
|
+
return complete.run if confirm?('Confirm issue completion?')
|
41
|
+
|
42
|
+
uncomplete_message('Issue was not completed')
|
43
|
+
end
|
44
|
+
|
45
|
+
private
|
46
|
+
|
47
|
+
def clipboard_copy_tracker_message
|
48
|
+
::Clipboard.copy(complete.textile_tracker_message)
|
49
|
+
infov 'Copied to clipboard', complete.textile_tracker_message
|
50
|
+
end
|
51
|
+
|
52
|
+
def complete_uncached
|
53
|
+
runner_context.call(:subject).completer(complete_issue_options)
|
54
|
+
end
|
55
|
+
|
56
|
+
def skip_validations
|
57
|
+
parsed.skip_validations.to_s.split(',').map(&:strip).compact_blank
|
58
|
+
end
|
59
|
+
|
60
|
+
def complete_issue_options
|
61
|
+
{ skip_validations: skip_validations }
|
62
|
+
end
|
63
|
+
|
64
|
+
def doc_validations_list
|
65
|
+
complete.validation_keys.map { |k| " * #{k}" }.join("\n")
|
66
|
+
end
|
67
|
+
|
68
|
+
def uncomplete_unfail?
|
69
|
+
parsed.uncomplete_unfail?
|
70
|
+
end
|
71
|
+
|
72
|
+
def uncomplete_message(message) # rubocop:disable Naming/PredicateMethod
|
73
|
+
if uncomplete_unfail?
|
74
|
+
warn(message)
|
75
|
+
else
|
76
|
+
fatal_error(message)
|
77
|
+
end
|
78
|
+
false
|
79
|
+
end
|
80
|
+
end
|
81
|
+
end
|
82
|
+
end
|
83
|
+
end
|
84
|
+
end
|
85
|
+
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Avm
|
4
|
+
module Tools
|
5
|
+
class Runner
|
6
|
+
class Source < ::Avm::Sources::Runner
|
7
|
+
class Issue
|
8
|
+
class Deliver
|
9
|
+
runner_with :confirmation, :help do
|
10
|
+
desc 'Deliver a issue in a remote repository.'
|
11
|
+
end
|
12
|
+
|
13
|
+
def run
|
14
|
+
deliver.start_banner
|
15
|
+
if confirm?('Confirm issue delivery?')
|
16
|
+
deliver.run
|
17
|
+
else
|
18
|
+
fatal_error 'Issue undelivered'
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
private
|
23
|
+
|
24
|
+
def deliver_uncached
|
25
|
+
::Avm::Sources::Issues::Deliver.new(runner_context.call(:subject).scm)
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Avm
|
4
|
+
module Tools
|
5
|
+
class Runner
|
6
|
+
class Source < ::Avm::Sources::Runner
|
7
|
+
class Issue
|
8
|
+
require_sub __FILE__
|
9
|
+
runner_with :help, :subcommands do
|
10
|
+
desc 'Issue operations within source.'
|
11
|
+
subcommands
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Avm
|
4
|
+
module Tools
|
5
|
+
class Runner
|
6
|
+
class Source < ::Avm::Sources::Runner
|
7
|
+
class Sub
|
8
|
+
class Remove
|
9
|
+
runner_with :help
|
10
|
+
|
11
|
+
def run
|
12
|
+
source_sub.remove
|
13
|
+
success "Sub[#{source_sub.sub_path}] removed"
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Avm
|
4
|
+
module Tools
|
5
|
+
class Runner
|
6
|
+
class Source < ::Avm::Sources::Runner
|
7
|
+
class Sub
|
8
|
+
runner_with :help, :subcommands do
|
9
|
+
pos_arg :sub_path
|
10
|
+
subcommands
|
11
|
+
end
|
12
|
+
for_context :source_sub
|
13
|
+
|
14
|
+
private
|
15
|
+
|
16
|
+
# !method source_sub
|
17
|
+
# @return [Avm::Sources::Base::Sub]
|
18
|
+
def source_sub_uncached
|
19
|
+
source.sub(parsed.sub_path)
|
20
|
+
end
|
21
|
+
|
22
|
+
require_sub __FILE__
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
@@ -0,0 +1,70 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Avm
|
4
|
+
module Tools
|
5
|
+
class Runner
|
6
|
+
class Source < ::Avm::Sources::Runner
|
7
|
+
class Subs
|
8
|
+
PADDING = ' '
|
9
|
+
|
10
|
+
runner_with :help, :output do
|
11
|
+
desc 'Output source\'s subs.'
|
12
|
+
bool_opt '-i', '--info'
|
13
|
+
bool_opt '-R', '--recursive'
|
14
|
+
bool_opt '-t', '--tree'
|
15
|
+
end
|
16
|
+
|
17
|
+
def run
|
18
|
+
start_banner
|
19
|
+
run_output
|
20
|
+
end
|
21
|
+
|
22
|
+
def start_banner
|
23
|
+
infov 'Include PATH', runner_context.call(:subject).subs_include_path
|
24
|
+
infov 'Exclude PATH', runner_context.call(:subject).subs_exclude_path
|
25
|
+
infov 'Count', runner_context.call(:subject).subs.count
|
26
|
+
end
|
27
|
+
|
28
|
+
def output_content
|
29
|
+
b = []
|
30
|
+
runner_context.call(:subject).subs.each do |sub|
|
31
|
+
b += sub_output_content_lines(sub, 0)
|
32
|
+
end
|
33
|
+
b.map { |line| "#{line}\n" }.join
|
34
|
+
end
|
35
|
+
|
36
|
+
def sub_info_label(sub)
|
37
|
+
return '' unless parsed.info?
|
38
|
+
|
39
|
+
' [' + { # rubocop:disable Style/StringConcatenation
|
40
|
+
'CLASS' => sub.class.name,
|
41
|
+
'SCM' => sub.scm.class.name
|
42
|
+
}.map { |k, v| "#{k}: #{v}" }.join(', ') + ']'
|
43
|
+
end
|
44
|
+
|
45
|
+
def sub_label(sub, level)
|
46
|
+
sub_self_label(sub, level) + sub_info_label(sub)
|
47
|
+
end
|
48
|
+
|
49
|
+
def sub_self_label(sub, level)
|
50
|
+
if parsed.tree?
|
51
|
+
(PADDING * level) + sub.relative_path.to_s
|
52
|
+
else
|
53
|
+
sub.path.relative_path_from(runner_context.call(:subject).path).to_s
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
57
|
+
def sub_output_content_lines(sub, level)
|
58
|
+
[sub_label(sub, level)] + sub_subs_output_content_lines(sub, level)
|
59
|
+
end
|
60
|
+
|
61
|
+
def sub_subs_output_content_lines(sub, level)
|
62
|
+
return [] unless parsed.recursive?
|
63
|
+
|
64
|
+
sub.subs.flat_map { |sub_sub| sub_output_content_lines(sub_sub, level + 1) }
|
65
|
+
end
|
66
|
+
end
|
67
|
+
end
|
68
|
+
end
|
69
|
+
end
|
70
|
+
end
|
@@ -0,0 +1,90 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Avm
|
4
|
+
module Tools
|
5
|
+
class Runner
|
6
|
+
class Source < ::Avm::Sources::Runner
|
7
|
+
class Test
|
8
|
+
runner_with :help do
|
9
|
+
desc 'Test local project.'
|
10
|
+
bool_opt '-a', '--all', 'Same as "--self --subs".'
|
11
|
+
bool_opt '-f', '--fail-fast', 'Abort after first failure.'
|
12
|
+
bool_opt '-m', '--main', 'Test main source.'
|
13
|
+
bool_opt '-s', '--subs', 'Test subs\' sources.'
|
14
|
+
pos_arg :source_id, repeat: true, optional: true
|
15
|
+
end
|
16
|
+
|
17
|
+
def run
|
18
|
+
reset_tested_units
|
19
|
+
start_banner
|
20
|
+
show_units_results
|
21
|
+
final_result
|
22
|
+
end
|
23
|
+
|
24
|
+
private
|
25
|
+
|
26
|
+
attr_accessor :tested_units
|
27
|
+
|
28
|
+
def failed_units
|
29
|
+
tested_units.select(&:failed?)
|
30
|
+
end
|
31
|
+
|
32
|
+
def final_result
|
33
|
+
if failed_units.any?
|
34
|
+
failed_units.each do |unit|
|
35
|
+
infov ' * Source', unit
|
36
|
+
info unit.logs.truncate_all
|
37
|
+
end
|
38
|
+
fatal_error 'Some test did not pass'
|
39
|
+
else
|
40
|
+
success 'None test failed'
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
def include_main?
|
45
|
+
parsed.main? || parsed.all?
|
46
|
+
end
|
47
|
+
|
48
|
+
def include_subs?
|
49
|
+
parsed.subs? || parsed.all?
|
50
|
+
end
|
51
|
+
|
52
|
+
def reset_tested_units
|
53
|
+
self.tested_units = []
|
54
|
+
end
|
55
|
+
|
56
|
+
def show_units_results
|
57
|
+
test_performer.units.each do |unit|
|
58
|
+
infov unit, unit_result(unit)
|
59
|
+
tested_units << unit
|
60
|
+
break if unit.failed? && parsed.fail_fast?
|
61
|
+
end
|
62
|
+
end
|
63
|
+
|
64
|
+
def start_banner
|
65
|
+
runner_context.call(:source_banner)
|
66
|
+
infov 'Selected units', test_performer.units.count
|
67
|
+
end
|
68
|
+
|
69
|
+
def test_builder
|
70
|
+
r = ::Avm::Sources::Tests::Builder.new(runner_context.call(:subject))
|
71
|
+
.include_main(include_main?)
|
72
|
+
.include_subs(include_subs?)
|
73
|
+
parsed.source_id.inject(r) { |a, e| a.include_id(e) }
|
74
|
+
end
|
75
|
+
|
76
|
+
def test_performer_uncached
|
77
|
+
test_builder.performer
|
78
|
+
end
|
79
|
+
|
80
|
+
def unit_result(unit)
|
81
|
+
(
|
82
|
+
[unit.result.to_label] +
|
83
|
+
%i[stdout stderr].map { |label| "#{label.to_s.upcase}: #{unit.logs[label]}" }
|
84
|
+
).join(' | '.blue)
|
85
|
+
end
|
86
|
+
end
|
87
|
+
end
|
88
|
+
end
|
89
|
+
end
|
90
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Avm
|
4
|
+
module Tools
|
5
|
+
class Runner
|
6
|
+
class Source < ::Avm::Sources::Runner
|
7
|
+
class Update
|
8
|
+
runner_with :help do
|
9
|
+
desc 'Update local project.'
|
10
|
+
end
|
11
|
+
|
12
|
+
def run
|
13
|
+
infov 'Path', runner_context.call(:subject).path
|
14
|
+
runner_context.call(:subject).update
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,78 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Avm
|
4
|
+
module Tools
|
5
|
+
class Runner
|
6
|
+
class Source < ::Avm::Sources::Runner
|
7
|
+
class VersionBump
|
8
|
+
runner_with :help, :confirmation do
|
9
|
+
desc 'Bump version of a local project.'
|
10
|
+
arg_opt '-n', '--new', 'Set new version.'
|
11
|
+
arg_opt '-s', '--segment', 'Increment de <segment>-th segment (Left-most is 0)'
|
12
|
+
bool_opt '-M', '--major', 'Same as --segment=0.'
|
13
|
+
bool_opt '-m', '--minor', 'Same as --segment=1.'
|
14
|
+
bool_opt '-p', '--patch', 'Same as --segment=2.'
|
15
|
+
end
|
16
|
+
|
17
|
+
def run
|
18
|
+
start_banner
|
19
|
+
version_changed? ? run_version_changed : run_version_unchanged
|
20
|
+
end
|
21
|
+
|
22
|
+
def run_version_changed
|
23
|
+
infom 'Version changed'
|
24
|
+
if confirm?
|
25
|
+
runner_context.call(:subject).version_bump(target_version)
|
26
|
+
success 'Bumped'
|
27
|
+
else
|
28
|
+
fatal_error 'Bump unconfirmed'
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
def run_version_unchanged
|
33
|
+
success 'Version unchanged'
|
34
|
+
end
|
35
|
+
|
36
|
+
def start_banner
|
37
|
+
infov 'Instance', runner_context.call(:subject)
|
38
|
+
infov 'Current version', current_version.if_present('-')
|
39
|
+
infov 'Target version', target_version.if_present('-')
|
40
|
+
end
|
41
|
+
|
42
|
+
def current_version_uncached
|
43
|
+
runner_context.call(:subject).if_respond('version')
|
44
|
+
end
|
45
|
+
|
46
|
+
def target_version_uncached
|
47
|
+
r = current_version
|
48
|
+
%w[new segment major minor patch].each do |option|
|
49
|
+
option_value = parsed[option]
|
50
|
+
next if option_value.blank?
|
51
|
+
|
52
|
+
r = send("target_version_from_#{option}", r, option_value)
|
53
|
+
end
|
54
|
+
r
|
55
|
+
end
|
56
|
+
|
57
|
+
def target_version_from_new(_current, option_value)
|
58
|
+
::Avm::VersionNumber.new(option_value)
|
59
|
+
end
|
60
|
+
|
61
|
+
def target_version_from_segment(current, option_value)
|
62
|
+
current.increment_segment(option_value.to_i)
|
63
|
+
end
|
64
|
+
|
65
|
+
%w[major minor patch].each_with_index do |segment, segment_index|
|
66
|
+
define_method "target_version_from_#{segment}" do |current, _option_value|
|
67
|
+
target_version_from_segment(current, segment_index)
|
68
|
+
end
|
69
|
+
end
|
70
|
+
|
71
|
+
def version_changed?
|
72
|
+
target_version != current_version
|
73
|
+
end
|
74
|
+
end
|
75
|
+
end
|
76
|
+
end
|
77
|
+
end
|
78
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Avm
|
4
|
+
module Tools
|
5
|
+
class Runner
|
6
|
+
require_sub __FILE__
|
7
|
+
include ::EacRubyBase0::Runner
|
8
|
+
|
9
|
+
runner_definition do
|
10
|
+
desc 'Tools for AVM.'
|
11
|
+
end
|
12
|
+
|
13
|
+
delegate :application, to: :'::Avm::Tools::Self'
|
14
|
+
|
15
|
+
def extra_available_subcommands
|
16
|
+
::Avm::Registry.runners.registered_modules.index_by(&:command_argument)
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Avm
|
4
|
+
module Tools
|
5
|
+
module RunnerWith
|
6
|
+
module IncludeExclude
|
7
|
+
common_concern do
|
8
|
+
include ::EacCli::Runner
|
9
|
+
|
10
|
+
runner_definition do
|
11
|
+
arg_opt '-I', '--include', repeat: true
|
12
|
+
arg_opt '-E', '--exclude', repeat: true
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
delegate :include, :exclude, to: :parsed
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Avm
|
4
|
+
module Tools
|
5
|
+
module RunnerWith
|
6
|
+
module InstanceDataClear
|
7
|
+
common_concern do
|
8
|
+
enable_simple_cache
|
9
|
+
include ::Avm::Tools::RunnerWith::InstanceDataPerformer
|
10
|
+
end
|
11
|
+
|
12
|
+
# @return [Class]
|
13
|
+
def data_performer_class
|
14
|
+
::Avm::Data::Clearer
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,55 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Avm
|
4
|
+
module Tools
|
5
|
+
module RunnerWith
|
6
|
+
module InstanceDataDump
|
7
|
+
common_concern do
|
8
|
+
enable_simple_cache
|
9
|
+
runner_definition do
|
10
|
+
bool_opt '-w', '--rewrite', 'Forces dump overwrite.'
|
11
|
+
pos_arg :dump_path, optional: true
|
12
|
+
end
|
13
|
+
|
14
|
+
set_callback :run, :after do
|
15
|
+
success("Dump path: \"#{dump_path}\"")
|
16
|
+
dump_path
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
include ::Avm::Tools::RunnerWith::InstanceDataPerformer
|
21
|
+
|
22
|
+
DUMP_EXPIRE_TIME = 1.day
|
23
|
+
NO_DUMP_MESSAGE = 'Dump "%s" already exist and rewrite options was no setted nor ' \
|
24
|
+
'dump was expired.'
|
25
|
+
|
26
|
+
# @return [Class]
|
27
|
+
def data_performer_class
|
28
|
+
::Avm::Data::Dumper
|
29
|
+
end
|
30
|
+
|
31
|
+
# @return [String]
|
32
|
+
def help_extra_text
|
33
|
+
"Default dump path: \"#{default_dump_path}\""
|
34
|
+
end
|
35
|
+
|
36
|
+
private
|
37
|
+
|
38
|
+
# @return [Avm::Data::Dumper]
|
39
|
+
def data_performer_uncached
|
40
|
+
r = super.overwrite(parsed.rewrite?)
|
41
|
+
parsed.dump_path.if_present(r) { |v| r.target_path(v.to_pathname) }
|
42
|
+
end
|
43
|
+
|
44
|
+
# @return [Pathname]
|
45
|
+
def dump_path
|
46
|
+
data_performer.target_path
|
47
|
+
end
|
48
|
+
|
49
|
+
def default_dump_path
|
50
|
+
data_performer.default_dump_path
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
@@ -0,0 +1,64 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Avm
|
4
|
+
module Tools
|
5
|
+
module RunnerWith
|
6
|
+
module InstanceDataLoad
|
7
|
+
common_concern do
|
8
|
+
enable_simple_cache
|
9
|
+
|
10
|
+
runner_definition do
|
11
|
+
arg_opt '-S', '--source-instance', 'Informa a instância a ser extraída o dump.'
|
12
|
+
bool_opt '-w', '--rewrite'
|
13
|
+
pos_arg :dump_path, optional: true
|
14
|
+
end
|
15
|
+
|
16
|
+
set_callback :run, :after do
|
17
|
+
success("Dump loaded from \"#{dump_path}\"")
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
include ::Avm::Tools::RunnerWith::InstanceDataPerformer
|
22
|
+
|
23
|
+
# @return [Class]
|
24
|
+
def data_performer_class
|
25
|
+
::Avm::Data::Loader
|
26
|
+
end
|
27
|
+
|
28
|
+
private
|
29
|
+
|
30
|
+
# @return [Avm::Data::Loader]
|
31
|
+
def data_performer_uncached
|
32
|
+
super.source_path(dump_path)
|
33
|
+
end
|
34
|
+
|
35
|
+
# @return [Pathname]
|
36
|
+
def dump_path_uncached
|
37
|
+
return parsed.dump_path.to_pathname if parsed.dump_path.present?
|
38
|
+
return source_instance_dump_path if parsed.source_instance.present?
|
39
|
+
|
40
|
+
fatal_error "Dump path not set (Options: #{parsed})"
|
41
|
+
end
|
42
|
+
|
43
|
+
# @return [Avm::Instances::Base]
|
44
|
+
def source_instance
|
45
|
+
runner_context.call(:instance).class.by_id(parsed.source_instance)
|
46
|
+
end
|
47
|
+
|
48
|
+
# @return [Avm::Data::Dumper]
|
49
|
+
def source_instance_dumper
|
50
|
+
data_performer_set_includes_excludes(
|
51
|
+
::Avm::Data::Dumper.new(source_instance_data_owner).overwrite(parsed.rewrite?)
|
52
|
+
)
|
53
|
+
end
|
54
|
+
|
55
|
+
# @return [Pathname]
|
56
|
+
def source_instance_dump_path
|
57
|
+
r = source_instance_dumper
|
58
|
+
r.perform
|
59
|
+
r.target_path
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
63
|
+
end
|
64
|
+
end
|
@@ -0,0 +1,37 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Avm
|
4
|
+
module Tools
|
5
|
+
module RunnerWith
|
6
|
+
module InstanceDataPerformer
|
7
|
+
acts_as_abstract :data_performer_class
|
8
|
+
common_concern do
|
9
|
+
enable_simple_cache
|
10
|
+
include ::EacCli::Runner
|
11
|
+
end
|
12
|
+
|
13
|
+
def run
|
14
|
+
if data_performer.performable?
|
15
|
+
data_performer.perform
|
16
|
+
else
|
17
|
+
fatal_error("Cannot perform: #{data_performer.cannot_perform_reason}")
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
private
|
22
|
+
|
23
|
+
# @return [Avm::Data::Performer]
|
24
|
+
def data_performer_uncached
|
25
|
+
data_performer_set_includes_excludes(data_performer_class.new(data_owner))
|
26
|
+
end
|
27
|
+
|
28
|
+
# @return [Avm::Data::Performer]
|
29
|
+
def data_performer_set_includes_excludes(data_performer)
|
30
|
+
%i[include exclude].inject(data_performer) do |a1, e1|
|
31
|
+
if_respond(e1, []).inject(a1) { |a2, e2| a2.send(e1, e2) }
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|