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.
Files changed (243) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +35 -30
  3. data/lib/eac_tools/version.rb +1 -1
  4. data/sub/avm-tools/README.textile +28 -0
  5. data/sub/avm-tools/avm-tools.gemspec +25 -0
  6. data/sub/avm-tools/exe/avm +6 -0
  7. data/sub/avm-tools/lib/avm/tools/core_ext.rb +1 -0
  8. data/sub/avm-tools/lib/avm/tools/rspec/helpers/runner.rb +19 -0
  9. data/sub/avm-tools/lib/avm/tools/rspec/setup.rb +21 -0
  10. data/sub/avm-tools/lib/avm/tools/runner/application/info.rb +34 -0
  11. data/sub/avm-tools/lib/avm/tools/runner/application.rb +23 -0
  12. data/sub/avm-tools/lib/avm/tools/runner/application_stereotypes/list.rb +29 -0
  13. data/sub/avm-tools/lib/avm/tools/runner/application_stereotypes.rb +14 -0
  14. data/sub/avm-tools/lib/avm/tools/runner/applications/list.rb +29 -0
  15. data/sub/avm-tools/lib/avm/tools/runner/applications.rb +14 -0
  16. data/sub/avm-tools/lib/avm/tools/runner/config/load_path.rb +48 -0
  17. data/sub/avm-tools/lib/avm/tools/runner/config.rb +15 -0
  18. data/sub/avm-tools/lib/avm/tools/runner/files/format.rb +46 -0
  19. data/sub/avm-tools/lib/avm/tools/runner/files/rotate.rb +28 -0
  20. data/sub/avm-tools/lib/avm/tools/runner/files.rb +15 -0
  21. data/sub/avm-tools/lib/avm/tools/runner/instance/data/clear.rb +15 -0
  22. data/sub/avm-tools/lib/avm/tools/runner/instance/data/dump.rb +17 -0
  23. data/sub/avm-tools/lib/avm/tools/runner/instance/data/load.rb +22 -0
  24. data/sub/avm-tools/lib/avm/tools/runner/instance/data/unit/clear.rb +17 -0
  25. data/sub/avm-tools/lib/avm/tools/runner/instance/data/unit/dump.rb +17 -0
  26. data/sub/avm-tools/lib/avm/tools/runner/instance/data/unit/load.rb +22 -0
  27. data/sub/avm-tools/lib/avm/tools/runner/instance/data/unit.rb +41 -0
  28. data/sub/avm-tools/lib/avm/tools/runner/instance/data.rb +24 -0
  29. data/sub/avm-tools/lib/avm/tools/runner/instance/entry.rb +41 -0
  30. data/sub/avm-tools/lib/avm/tools/runner/instance/info.rb +35 -0
  31. data/sub/avm-tools/lib/avm/tools/runner/instance/system.rb +63 -0
  32. data/sub/avm-tools/lib/avm/tools/runner/instance.rb +11 -0
  33. data/sub/avm-tools/lib/avm/tools/runner/launcher/instances.rb +34 -0
  34. data/sub/avm-tools/lib/avm/tools/runner/launcher/projects.rb +37 -0
  35. data/sub/avm-tools/lib/avm/tools/runner/launcher/publish.rb +51 -0
  36. data/sub/avm-tools/lib/avm/tools/runner/launcher.rb +15 -0
  37. data/sub/avm-tools/lib/avm/tools/runner/launcher_stereotypes/list.rb +38 -0
  38. data/sub/avm-tools/lib/avm/tools/runner/launcher_stereotypes.rb +14 -0
  39. data/sub/avm-tools/lib/avm/tools/runner/self/docker.rb +12 -0
  40. data/sub/avm-tools/lib/avm/tools/runner/self/registry.rb +22 -0
  41. data/sub/avm-tools/lib/avm/tools/runner/self.rb +19 -0
  42. data/sub/avm-tools/lib/avm/tools/runner/source/auto_commit.rb +67 -0
  43. data/sub/avm-tools/lib/avm/tools/runner/source/info.rb +53 -0
  44. data/sub/avm-tools/lib/avm/tools/runner/source/issue/complete.rb +85 -0
  45. data/sub/avm-tools/lib/avm/tools/runner/source/issue/deliver.rb +32 -0
  46. data/sub/avm-tools/lib/avm/tools/runner/source/issue.rb +17 -0
  47. data/sub/avm-tools/lib/avm/tools/runner/source/sub/remove.rb +20 -0
  48. data/sub/avm-tools/lib/avm/tools/runner/source/sub.rb +27 -0
  49. data/sub/avm-tools/lib/avm/tools/runner/source/subs.rb +70 -0
  50. data/sub/avm-tools/lib/avm/tools/runner/source/test.rb +90 -0
  51. data/sub/avm-tools/lib/avm/tools/runner/source/update.rb +20 -0
  52. data/sub/avm-tools/lib/avm/tools/runner/source/version_bump.rb +78 -0
  53. data/sub/avm-tools/lib/avm/tools/runner/source.rb +15 -0
  54. data/sub/avm-tools/lib/avm/tools/runner/source_generate.rb +10 -0
  55. data/sub/avm-tools/lib/avm/tools/runner.rb +20 -0
  56. data/sub/avm-tools/lib/avm/tools/runner_with/include_exclude.rb +20 -0
  57. data/sub/avm-tools/lib/avm/tools/runner_with/instance_data_clear.rb +19 -0
  58. data/sub/avm-tools/lib/avm/tools/runner_with/instance_data_dump.rb +55 -0
  59. data/sub/avm-tools/lib/avm/tools/runner_with/instance_data_load.rb +64 -0
  60. data/sub/avm-tools/lib/avm/tools/runner_with/instance_data_performer.rb +37 -0
  61. data/sub/avm-tools/lib/avm/tools/runner_with.rb +9 -0
  62. data/sub/avm-tools/lib/avm/tools/self.rb +19 -0
  63. data/sub/{avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0 → avm-tools/lib/avm/tools}/version.rb +2 -2
  64. data/sub/avm-tools/lib/avm/tools.rb +16 -0
  65. data/sub/avm-tools/spec/lib/avm/tools/runner/files/rotate_spec.rb +71 -0
  66. data/sub/avm-tools/spec/lib/avm/tools/runner/launcher_stereotypes/list_spec.rb +15 -0
  67. data/sub/avm-tools/spec/lib/avm/tools/runner/source/issue/complete_spec.rb +47 -0
  68. data/sub/avm-tools/spec/lib/avm/tools/runner_spec.rb +12 -0
  69. data/sub/{avm-eac_asciidoctor_base0 → avm-tools}/spec/spec_helper.rb +3 -3
  70. data/sub/eac_cli/Gemfile +8 -0
  71. data/sub/eac_cli/eac_cli.gemspec +23 -0
  72. data/sub/eac_cli/lib/eac_cli/config/entry/options.rb +55 -0
  73. data/sub/eac_cli/lib/eac_cli/config/entry/undefined.rb +26 -0
  74. data/sub/eac_cli/lib/eac_cli/config/entry.rb +55 -0
  75. data/sub/eac_cli/lib/eac_cli/config.rb +15 -0
  76. data/sub/eac_cli/lib/eac_cli/core_ext.rb +3 -0
  77. data/sub/eac_cli/lib/eac_cli/default_runner.rb +12 -0
  78. data/sub/eac_cli/lib/eac_cli/definition/alternative.rb +101 -0
  79. data/sub/eac_cli/lib/eac_cli/definition/argument_option.rb +19 -0
  80. data/sub/eac_cli/lib/eac_cli/definition/boolean_option.rb +25 -0
  81. data/sub/eac_cli/lib/eac_cli/definition/error.rb +8 -0
  82. data/sub/eac_cli/lib/eac_cli/definition/option/initialize_args_parser.rb +48 -0
  83. data/sub/eac_cli/lib/eac_cli/definition/option.rb +70 -0
  84. data/sub/eac_cli/lib/eac_cli/definition/option_or_positional.rb +41 -0
  85. data/sub/eac_cli/lib/eac_cli/definition/positional.rb +50 -0
  86. data/sub/eac_cli/lib/eac_cli/definition.rb +104 -0
  87. data/sub/eac_cli/lib/eac_cli/enum.rb +44 -0
  88. data/sub/eac_cli/lib/eac_cli/old_configs/entry_reader.rb +76 -0
  89. data/sub/eac_cli/lib/eac_cli/old_configs/password_entry_reader.rb +14 -0
  90. data/sub/eac_cli/lib/eac_cli/old_configs/read_entry_options.rb +42 -0
  91. data/sub/eac_cli/lib/eac_cli/old_configs/store_passwords_entry_reader.rb +23 -0
  92. data/sub/eac_cli/lib/eac_cli/old_configs.rb +31 -0
  93. data/sub/eac_cli/lib/eac_cli/parser/alternative/any_options.rb +17 -0
  94. data/sub/eac_cli/lib/eac_cli/parser/alternative/argv.rb +19 -0
  95. data/sub/eac_cli/lib/eac_cli/parser/alternative/double_dash.rb +24 -0
  96. data/sub/eac_cli/lib/eac_cli/parser/alternative/long_options.rb +37 -0
  97. data/sub/eac_cli/lib/eac_cli/parser/alternative/option_argument.rb +29 -0
  98. data/sub/eac_cli/lib/eac_cli/parser/alternative/options.rb +29 -0
  99. data/sub/eac_cli/lib/eac_cli/parser/alternative/positionals.rb +30 -0
  100. data/sub/eac_cli/lib/eac_cli/parser/alternative/short_options.rb +54 -0
  101. data/sub/eac_cli/lib/eac_cli/parser/alternative.rb +99 -0
  102. data/sub/eac_cli/lib/eac_cli/parser/collector.rb +52 -0
  103. data/sub/eac_cli/lib/eac_cli/parser/error.rb +13 -0
  104. data/sub/eac_cli/lib/eac_cli/parser.rb +32 -0
  105. data/sub/eac_cli/lib/eac_cli/patches/object/runner_with.rb +22 -0
  106. data/sub/eac_cli/lib/eac_cli/patches/object.rb +5 -0
  107. data/sub/eac_cli/lib/eac_cli/patches.rb +3 -0
  108. data/sub/eac_cli/lib/eac_cli/rspec/setup.rb +41 -0
  109. data/sub/eac_cli/lib/eac_cli/runner/after_class_methods.rb +34 -0
  110. data/sub/eac_cli/lib/eac_cli/runner/class_runner.rb +32 -0
  111. data/sub/eac_cli/lib/eac_cli/runner/context.rb +57 -0
  112. data/sub/eac_cli/lib/eac_cli/runner/context_responders/base.rb +22 -0
  113. data/sub/eac_cli/lib/eac_cli/runner/context_responders/parent.rb +24 -0
  114. data/sub/eac_cli/lib/eac_cli/runner/context_responders/runner.rb +17 -0
  115. data/sub/eac_cli/lib/eac_cli/runner/context_responders/runner_missing_method.rb +29 -0
  116. data/sub/eac_cli/lib/eac_cli/runner/context_responders/set.rb +41 -0
  117. data/sub/eac_cli/lib/eac_cli/runner/exit.rb +14 -0
  118. data/sub/eac_cli/lib/eac_cli/runner/for_context.rb +35 -0
  119. data/sub/eac_cli/lib/eac_cli/runner/instance_methods.rb +45 -0
  120. data/sub/eac_cli/lib/eac_cli/runner.rb +47 -0
  121. data/sub/eac_cli/lib/eac_cli/runner_with/confirmation/input_result.rb +60 -0
  122. data/sub/eac_cli/lib/eac_cli/runner_with/confirmation.rb +65 -0
  123. data/sub/eac_cli/lib/eac_cli/runner_with/help/builder/alternative.rb +61 -0
  124. data/sub/eac_cli/lib/eac_cli/runner_with/help/builder.rb +79 -0
  125. data/sub/eac_cli/lib/eac_cli/runner_with/help/layout.rb +38 -0
  126. data/sub/eac_cli/lib/eac_cli/runner_with/help.rb +51 -0
  127. data/sub/eac_cli/lib/eac_cli/runner_with/input.rb +32 -0
  128. data/sub/eac_cli/lib/eac_cli/runner_with/output.rb +54 -0
  129. data/sub/eac_cli/lib/eac_cli/runner_with/output_item/asciidoc_formatter.rb +70 -0
  130. data/sub/eac_cli/lib/eac_cli/runner_with/output_item/base_formatter.rb +12 -0
  131. data/sub/eac_cli/lib/eac_cli/runner_with/output_item/csv_formatter.rb +21 -0
  132. data/sub/eac_cli/lib/eac_cli/runner_with/output_item/yaml_formatter.rb +16 -0
  133. data/sub/eac_cli/lib/eac_cli/runner_with/output_item.rb +47 -0
  134. data/sub/eac_cli/lib/eac_cli/runner_with/output_list/base_formatter.rb +44 -0
  135. data/sub/eac_cli/lib/eac_cli/runner_with/output_list/csv_formatter.rb +24 -0
  136. data/sub/eac_cli/lib/eac_cli/runner_with/output_list/tty_formatter.rb +34 -0
  137. data/sub/eac_cli/lib/eac_cli/runner_with/output_list/yaml_formatter.rb +21 -0
  138. data/sub/eac_cli/lib/eac_cli/runner_with/output_list.rb +39 -0
  139. data/sub/eac_cli/lib/eac_cli/runner_with/subcommands/definition_concern.rb +10 -0
  140. data/sub/eac_cli/lib/eac_cli/runner_with/subcommands.rb +124 -0
  141. data/sub/eac_cli/lib/eac_cli/runner_with.rb +7 -0
  142. data/sub/eac_cli/lib/eac_cli/runner_with_set/from_gems_registry.rb +14 -0
  143. data/sub/eac_cli/lib/eac_cli/runner_with_set.rb +48 -0
  144. data/sub/eac_cli/lib/eac_cli/speaker/constants.rb +11 -0
  145. data/sub/eac_cli/lib/eac_cli/speaker/input_blocked.rb +14 -0
  146. data/sub/eac_cli/lib/eac_cli/speaker/input_requested.rb +8 -0
  147. data/sub/eac_cli/lib/eac_cli/speaker/list.rb +84 -0
  148. data/sub/eac_cli/lib/eac_cli/speaker/options.rb +42 -0
  149. data/sub/eac_cli/lib/eac_cli/speaker/request_from_list.rb +40 -0
  150. data/sub/eac_cli/lib/eac_cli/speaker.rb +114 -0
  151. data/sub/eac_cli/lib/eac_cli/version.rb +5 -0
  152. data/sub/eac_cli/lib/eac_cli.rb +14 -0
  153. data/sub/eac_cli/spec/lib/eac_cli/definition/alternative_spec.rb +18 -0
  154. data/sub/eac_cli/spec/lib/eac_cli/old_configs_spec.rb +14 -0
  155. data/sub/eac_cli/spec/lib/eac_cli/parser/alternative/subcommands_spec.rb +58 -0
  156. data/sub/eac_cli/spec/lib/eac_cli/parser/alternative_spec.rb +89 -0
  157. data/sub/eac_cli/spec/lib/eac_cli/runner/for_context_spec.rb +79 -0
  158. data/sub/eac_cli/spec/lib/eac_cli/runner_spec.rb +129 -0
  159. data/sub/eac_cli/spec/lib/eac_cli/runner_with/confirmation/input_result_spec.rb +36 -0
  160. data/sub/eac_cli/spec/lib/eac_cli/runner_with/confirmation_spec.rb +42 -0
  161. data/sub/eac_cli/spec/lib/eac_cli/runner_with/help/layout_spec.rb +21 -0
  162. data/sub/eac_cli/spec/lib/eac_cli/runner_with/help_spec.rb +51 -0
  163. data/sub/eac_cli/spec/lib/eac_cli/runner_with/output_list_spec.rb +57 -0
  164. data/sub/eac_cli/spec/lib/eac_cli/runner_with/output_spec.rb +81 -0
  165. data/sub/eac_cli/spec/lib/eac_cli/runner_with/subcommands_spec.rb +99 -0
  166. data/sub/eac_cli/spec/lib/eac_cli/speaker_spec.rb +36 -0
  167. data/sub/eac_cli/spec/rubocop_spec.rb +3 -0
  168. data/sub/eac_cli/spec/spec_helper.rb +4 -0
  169. metadata +185 -82
  170. data/sub/avm-eac_asciidoctor_base0/avm-eac_asciidoctor_base0.gemspec +0 -24
  171. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/documents_owner.rb +0 -30
  172. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/file_formats/base/file_resource_name.rb +0 -37
  173. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/file_formats/base.rb +0 -17
  174. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/apache_host.rb +0 -19
  175. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/apache_path.rb +0 -12
  176. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/base.rb +0 -33
  177. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/build/document/body_target.rb +0 -37
  178. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/build/document/header_lines.rb +0 -92
  179. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/build/document/media.rb +0 -28
  180. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/build/document/pre_process_line.rb +0 -64
  181. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/build/document.rb +0 -101
  182. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/build/theme.rb +0 -41
  183. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/build.rb +0 -61
  184. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/deploy.rb +0 -28
  185. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/macros/base.rb +0 -21
  186. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/macros/breadcrumbs.rb +0 -55
  187. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/macros/child_docs/document_builder.rb +0 -63
  188. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/macros/child_docs.rb +0 -35
  189. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/macros/default_body.rb +0 -21
  190. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/macros/todo.rb +0 -21
  191. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/macros.rb +0 -13
  192. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances.rb +0 -11
  193. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/logging/catcher.rb +0 -47
  194. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/logging/error.rb +0 -18
  195. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/logging.rb +0 -11
  196. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/source_generators/base.rb +0 -28
  197. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/source_generators.rb +0 -11
  198. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/base/instance_to_build.rb +0 -45
  199. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/base/theme.rb +0 -46
  200. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/base.rb +0 -49
  201. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/document/media.rb +0 -28
  202. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/document/title.rb +0 -31
  203. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/document.rb +0 -56
  204. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/runners/build.rb +0 -58
  205. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/runners/document/build.rb +0 -51
  206. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/runners/document.rb +0 -30
  207. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/runners/documents.rb +0 -28
  208. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/runners/ignore_errors_option.rb +0 -45
  209. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/runners.rb +0 -13
  210. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources.rb +0 -11
  211. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0.rb +0 -9
  212. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/file_formats/base_spec.rb +0 -13
  213. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build/document_spec.rb +0 -81
  214. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build/document_spec_files/pre_processed_root_body.adoc +0 -25
  215. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec.rb +0 -22
  216. 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
  217. 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
  218. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.source/content/doc1/body.adoc +0 -11
  219. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.source/content/doc1/title +0 -1
  220. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.source/content/doc2/body.adoc +0 -11
  221. 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
  222. 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
  223. 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
  224. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.source/content/doc2/title +0 -1
  225. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.target/_media/a_media_file +0 -1
  226. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.target/_theme/main.css +0 -1
  227. 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
  228. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.target/doc1/index.html +0 -1
  229. 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
  230. 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
  231. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.target/doc2/index.html +0 -1
  232. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.target/index.html +0 -1
  233. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/source_generators/base_spec.rb +0 -8
  234. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/source_generators/base_spec_files/no_options/content/body.adoc +0 -11
  235. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/source_generators/base_spec_files/no_options/content/title +0 -1
  236. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/source_generators/base_spec_files/no_options/theme/main.css +0 -1
  237. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/sources/base_spec.rb +0 -16
  238. data/sub/avm-eac_asciidoctor_base0/spec/spec_helper/eac_asciidoctor_base0_stubs.rb +0 -55
  239. data/sub/avm-eac_asciidoctor_base0/template/avm/eac_asciidoctor_base0/source_generators/base/content/body.adoc +0 -11
  240. data/sub/avm-eac_asciidoctor_base0/template/avm/eac_asciidoctor_base0/source_generators/base/content/title +0 -1
  241. data/sub/avm-eac_asciidoctor_base0/template/avm/eac_asciidoctor_base0/source_generators/base/theme/main.css +0 -1
  242. /data/sub/{avm-eac_asciidoctor_base0 → avm-tools}/Gemfile +0 -0
  243. /data/sub/{avm-eac_asciidoctor_base0 → avm-tools}/spec/rubocop_spec.rb +0 -0
@@ -0,0 +1,47 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EacCli
4
+ module Runner
5
+ require_sub __FILE__
6
+ extend ::ActiveSupport::Concern
7
+
8
+ class << self
9
+ def alias_runner_class_methods(klass, from_suffix, to_suffix)
10
+ %i[create run].each do |method|
11
+ alias_class_method(klass, build_method_name(method, from_suffix),
12
+ build_method_name(method, to_suffix))
13
+ end
14
+ end
15
+
16
+ def runner?(object)
17
+ object.is_a?(::Class) && object.included_modules.include?(::EacCli::Runner)
18
+ end
19
+
20
+ private
21
+
22
+ def alias_class_method(klass, from, to)
23
+ sklass = klass.singleton_class
24
+ return unless sklass.method_defined?(from)
25
+
26
+ sklass.send(:alias_method, to, from)
27
+ end
28
+
29
+ def build_method_name(name, suffix)
30
+ ss = suffix.if_present('') { |s| "#{s}_" }
31
+ "#{ss}#{name}"
32
+ end
33
+ end
34
+
35
+ the_module = self
36
+ included do
37
+ the_module.alias_runner_class_methods(self, '', 'original')
38
+
39
+ extend AfterClassMethods
40
+ include InstanceMethods
41
+ include ::EacCli::Runner::ForContext
42
+ include ActiveSupport::Callbacks
43
+
44
+ define_callbacks :run
45
+ end
46
+ end
47
+ end
@@ -0,0 +1,60 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EacCli
4
+ module RunnerWith
5
+ module Confirmation
6
+ class InputResult
7
+ INPUT_NO_FOR_ONE = 'n'
8
+ INPUT_NO_FOR_ALL = 'N'
9
+ INPUT_YES_FOR_ONE = 'y'
10
+ INPUT_YES_FOR_ALL = 'Y'
11
+ INPUT_FOR_ONE = [INPUT_NO_FOR_ONE, INPUT_YES_FOR_ONE].freeze
12
+ INPUT_FOR_ALL = [INPUT_NO_FOR_ALL, INPUT_YES_FOR_ALL].freeze
13
+ INPUT_NO = [INPUT_NO_FOR_ONE, INPUT_NO_FOR_ALL].freeze
14
+ INPUT_YES = [INPUT_YES_FOR_ONE, INPUT_YES_FOR_ALL].freeze
15
+ INPUT_LIST = [INPUT_NO_FOR_ALL, INPUT_NO_FOR_ONE, INPUT_YES_FOR_ONE, INPUT_YES_FOR_ALL]
16
+ .freeze
17
+
18
+ class << self
19
+ enable_speaker
20
+
21
+ # @param message [String]
22
+ # @return [EacCli::RunnerWith::Confirmation::InputResult]
23
+ def by_message(message)
24
+ new(input_value_by_speaker(message))
25
+ end
26
+
27
+ # @param message [String]
28
+ # @return [String]
29
+ def input_value_by_speaker(message)
30
+ input(message, list: INPUT_LIST, ignore_case: false)
31
+ end
32
+ end
33
+
34
+ common_constructor :input_value
35
+
36
+ # @return [Boolean]
37
+ def confirm?
38
+ input_value_to_bool(INPUT_NO, INPUT_YES)
39
+ end
40
+
41
+ # @return [Boolean]
42
+ def for_all?
43
+ input_value_to_bool(INPUT_FOR_ONE, INPUT_FOR_ALL)
44
+ end
45
+
46
+ private
47
+
48
+ # @param false_list [Array<String>]
49
+ # @param true_list [Array<String>]
50
+ # @return [Boolean]
51
+ def input_value_to_bool(false_list, true_list)
52
+ return false if false_list.include?(input_value)
53
+ return true if true_list.include?(input_value)
54
+
55
+ ibr input_value
56
+ end
57
+ end
58
+ end
59
+ end
60
+ end
@@ -0,0 +1,65 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EacCli
4
+ module RunnerWith
5
+ module Confirmation
6
+ DEFAULT_CONFIRM_QUESTION_TEXT = 'Confirm?'
7
+
8
+ common_concern do
9
+ include ::EacCli::Runner
10
+
11
+ enable_settings_provider
12
+ enable_simple_cache
13
+ runner_definition do
14
+ bool_opt '--no', 'Deny confirmation without question.'
15
+ bool_opt '--yes', 'Accept confirmation without question.'
16
+ end
17
+ end
18
+
19
+ # @param message [String, nil]
20
+ # @return [Boolean]
21
+ def confirm?(message = nil)
22
+ return for_all_answers.fetch(message) if for_all_answers.key?(message)
23
+ return false if parsed.no?
24
+ return true if parsed.yes?
25
+
26
+ confirm_input_and_register(message)
27
+ rescue ::EacCli::Speaker::InputRequested => e
28
+ fatal_error e.message
29
+ end
30
+
31
+ def run_confirm(message = nil)
32
+ yield if confirm?(message)
33
+ end
34
+
35
+ private
36
+
37
+ def cached_confirm_uncached?(message = nil)
38
+ confirm?(message)
39
+ end
40
+
41
+ # @param message [String, nil]
42
+ # @return [Boolean]
43
+ def confirm_input(message)
44
+ ::EacCli::RunnerWith::Confirmation::InputResult.by_message(
45
+ message || setting_value(:confirm_question_text, default: DEFAULT_CONFIRM_QUESTION_TEXT)
46
+ )
47
+ end
48
+
49
+ # @param message [String, nil]
50
+ # @return [Boolean]
51
+ def confirm_input_and_register(message) # rubocop:disable Naming/PredicateMethod
52
+ r = confirm_input(message)
53
+ for_all_answers[message] = r.confirm? if r.for_all?
54
+ r.confirm?
55
+ end
56
+
57
+ # @return [Hash<String, Boolean>]
58
+ def for_all_answers_uncached
59
+ {}
60
+ end
61
+
62
+ require_sub __FILE__
63
+ end
64
+ end
65
+ end
@@ -0,0 +1,61 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EacCli
4
+ module RunnerWith
5
+ module Help
6
+ class Builder
7
+ class Alternative
8
+ enable_method_class
9
+
10
+ SUBCOMMANDS_MACRO = '__SUBCOMMANDS__'
11
+
12
+ common_constructor :builder, :alternative
13
+
14
+ def result
15
+ (
16
+ program_name +
17
+ alternative.options_argument?.if_present([]) { |_v| ['[options]'] } +
18
+ options +
19
+ positionals
20
+ ).join(builder.word_separator)
21
+ end
22
+
23
+ def options
24
+ alternative.options.select(&:show_on_usage?).map do |option|
25
+ ::EacCli::RunnerWith::Help::Builder.option_long(option)
26
+ end
27
+ end
28
+
29
+ def option_argument(option)
30
+ b = option.long
31
+ b += '=<value>' if option.argument?
32
+ b
33
+ end
34
+
35
+ def positionals
36
+ alternative.positional.map { |p| positional(p) }.compact_blank
37
+ end
38
+
39
+ def positional(positional)
40
+ return unless positional.visible?
41
+
42
+ if positional.subcommand?
43
+ SUBCOMMANDS_MACRO
44
+ else
45
+ r = "<#{positional.name}>"
46
+ r += '...' if positional.repeat?
47
+ r = "[#{r}]" if positional.optional?
48
+ r
49
+ end
50
+ end
51
+
52
+ def program_name
53
+ r = builder.runner.program_name
54
+ r = [r] unless r.is_a?(::Enumerable)
55
+ r
56
+ end
57
+ end
58
+ end
59
+ end
60
+ end
61
+ end
@@ -0,0 +1,79 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EacCli
4
+ module RunnerWith
5
+ module Help
6
+ class Builder
7
+ include ::EacCli::RunnerWith::Help::Layout
8
+
9
+ require_sub __FILE__, require_mode: :kernel
10
+ common_constructor :runner
11
+
12
+ class << self
13
+ def option_long(option)
14
+ b = option.long
15
+ b += '=<value>' if option.argument?
16
+ b
17
+ end
18
+
19
+ def option_short(option)
20
+ b = option.short
21
+ b += '=<value>' if option.argument?
22
+ b
23
+ end
24
+
25
+ def option_usage_full(option)
26
+ if option.long.present?
27
+ [option.short, option_long(option)].compact_blank.join(word_separator)
28
+ else
29
+ option_short(option)
30
+ end
31
+ end
32
+
33
+ def word_separator
34
+ WORD_SEPARATOR
35
+ end
36
+ end
37
+
38
+ delegate :word_separator, to: :class
39
+
40
+ def definition
41
+ runner.class.runner_definition
42
+ end
43
+
44
+ # @return [Enumerable<String>]
45
+ def extra_sections
46
+ runner.if_respond(:help_extra_text, []) do |v|
47
+ [v.to_s]
48
+ end
49
+ end
50
+
51
+ def option_definition(option)
52
+ [self.class.option_usage_full(option), option.description,
53
+ option.default_value? ? "[Default: \"#{option.default_value}\"]" : nil]
54
+ .compact_blank.join(OPTION_DESCRIPTION_SEPARATOR)
55
+ end
56
+
57
+ # @return [String]
58
+ def options_section
59
+ list_section(
60
+ 'Options',
61
+ definition.alternatives.flat_map(&:options).map { |option| option_definition(option) }
62
+ )
63
+ end
64
+
65
+ # @return [String]
66
+ def usage_section
67
+ list_section(
68
+ 'Usage',
69
+ definition.alternatives.map { |alternative| self.alternative(alternative) }
70
+ )
71
+ end
72
+
73
+ def to_s
74
+ join_sections(definition.description, usage_section, options_section, *extra_sections)
75
+ end
76
+ end
77
+ end
78
+ end
79
+ end
@@ -0,0 +1,38 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EacCli
4
+ module RunnerWith
5
+ module Help
6
+ module Layout
7
+ common_concern do
8
+ include InstanceClassMethods
9
+ extend InstanceClassMethods
10
+ end
11
+
12
+ module InstanceClassMethods
13
+ WORD_SEPARATOR = ' '
14
+ IDENTATION = WORD_SEPARATOR * 2
15
+ OPTION_DESCRIPTION_SEPARATOR = IDENTATION * 2
16
+ LINE_BREAK = "\n"
17
+ SECTION_SEPARATOR = LINE_BREAK * 2
18
+
19
+ # @param title String
20
+ # @param items [Enumerable<String>]
21
+ # @return [String]
22
+ def list_section(title, items)
23
+ (["#{title}:"] + items.map { |line| "#{IDENTATION}#{line}" })
24
+ .map { |line| "#{line}\n" }.join
25
+ end
26
+
27
+ # @param sections [Enumerable<String>]
28
+ # @return [String]
29
+ def join_sections(*sections)
30
+ sections.map { |s| s.to_s.strip }.join(SECTION_SEPARATOR) + LINE_BREAK
31
+ end
32
+ end
33
+
34
+ extend InstanceClassMethods
35
+ end
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,51 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EacCli
4
+ module RunnerWith
5
+ module Help
6
+ require_sub __FILE__, require_mode: :kernel
7
+ common_concern do
8
+ include ::EacCli::Runner
9
+ include ::EacCli::RunnerWith::Help::Layout
10
+
11
+ runner_definition.alt do
12
+ bool_opt '-h', '--help', 'Show help.', usage: true, required: true
13
+ any_opt
14
+ pos_arg :any_arg_with_help, repeat: true, optional: true, visible: false
15
+ end
16
+
17
+ set_callback :run, :before do
18
+ help_run
19
+ end
20
+ end
21
+
22
+ # @param items [Enumerable<String>]
23
+ # @return [String]
24
+ def help_list_section(title, items)
25
+ ::EacCli::RunnerWith::Help::Layout.list_section(title, items)
26
+ end
27
+
28
+ # @param items [Enumerable<String>]
29
+ # @return [String]
30
+ def help_join_sections(*sections)
31
+ ::EacCli::RunnerWith::Help::Layout.join_sections(*sections)
32
+ end
33
+
34
+ def help_run
35
+ return unless show_help?
36
+
37
+ puts help_text
38
+ raise ::EacCli::Runner::Exit
39
+ end
40
+
41
+ # @return [String]
42
+ def help_text
43
+ ::EacCli::RunnerWith::Help::Builder.new(self).to_s
44
+ end
45
+
46
+ def show_help?
47
+ parsed.help? && !if_respond(:run_subcommand?, false)
48
+ end
49
+ end
50
+ end
51
+ end
@@ -0,0 +1,32 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EacCli
4
+ module RunnerWith
5
+ module Input
6
+ STDIN_OPTION = '-'
7
+ BLANK_OPTION = '+'
8
+ DEFAULT_DEFAULT_INPUT_OPTION = BLANK_OPTION
9
+
10
+ common_concern do
11
+ enable_settings_provider
12
+ include ::EacCli::Runner
13
+
14
+ runner_definition do
15
+ arg_opt '-i', '--input', 'Input from file.'
16
+ end
17
+ end
18
+
19
+ def input_content
20
+ case input_option
21
+ when STDIN_OPTION then $stdin.read
22
+ when BLANK_OPTION then ''
23
+ else input_option.to_pathname.read
24
+ end
25
+ end
26
+
27
+ def input_option
28
+ parsed.input || setting_value(:default_input_option, default: DEFAULT_DEFAULT_INPUT_OPTION)
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,54 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EacCli
4
+ module RunnerWith
5
+ module Output
6
+ STDOUT_OPTION = '-'
7
+ DEFAULT_FILE_OPTION = '+'
8
+ DEFAULT_DEFAULT_OUTPUT_OPTION = STDOUT_OPTION
9
+ DEFAULT_DEFAULT_FILE_TO_OUTPUT = 'output'
10
+
11
+ common_concern do
12
+ enable_abstract_methods
13
+ enable_settings_provider
14
+ include ::EacCli::Runner
15
+
16
+ abstract_methods :output_content
17
+
18
+ runner_definition do
19
+ arg_opt '-o', '--output', 'Output to file.'
20
+ end
21
+ end
22
+
23
+ def run_output
24
+ file = file_to_output
25
+ if file
26
+ file.to_pathname.write(output_content)
27
+ else
28
+ $stdout.write(output_content)
29
+ end
30
+ end
31
+
32
+ def output_option
33
+ parsed.output || default_output_option_value
34
+ end
35
+
36
+ def file_to_output
37
+ case output_option
38
+ when STDOUT_OPTION then nil
39
+ when DEFAULT_FILE_OPTION then default_file_to_output_value
40
+ else output_option
41
+ end
42
+ end
43
+
44
+ def default_output_option_value
45
+ setting_value(:default_output_option,
46
+ default: DEFAULT_DEFAULT_OUTPUT_OPTION)
47
+ end
48
+
49
+ def default_file_to_output_value
50
+ setting_value(:default_file_to_output, default: DEFAULT_DEFAULT_FILE_TO_OUTPUT)
51
+ end
52
+ end
53
+ end
54
+ end
@@ -0,0 +1,70 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'yaml'
4
+
5
+ module EacCli
6
+ module RunnerWith
7
+ module OutputItem
8
+ class AsciidocFormatter < ::EacCli::RunnerWith::OutputItem::BaseFormatter
9
+ STARTING_LEVEL = 2
10
+
11
+ # @return [String]
12
+ def to_output
13
+ output_hash(item_hash, STARTING_LEVEL)
14
+ end
15
+
16
+ protected
17
+
18
+ # @param hash [Hash]
19
+ # @param level [Integer]
20
+ # @return [String]
21
+ def output_enumerable(enumerable, level)
22
+ enumerable.map { |e| output_object(e, level + 1) }.join
23
+ end
24
+
25
+ # @param hash [Hash]
26
+ # @param level [Integer]
27
+ # @return [String]
28
+ def output_hash(hash, level)
29
+ hash.map { |k, v| section(k, v, level) }.join("\n")
30
+ end
31
+
32
+ def output_object(object, level)
33
+ return output_hash(object, level) if object.is_a?(::Hash)
34
+ return output_enumerable(object, level) if object.is_a?(::Enumerable)
35
+
36
+ output_string(object, level)
37
+ end
38
+
39
+ # @param string [String]
40
+ # @param level [Integer]
41
+ # @return [String]
42
+ def output_string(string, _level)
43
+ "* #{string.to_s.strip}\n"
44
+ end
45
+
46
+ # @param title [String]
47
+ # @param content [String]
48
+ # @param level [Integer]
49
+ # @return [String]
50
+ def section(title, content, level)
51
+ "#{section_title(title, level)}\n\n#{section_content(content, level)}"
52
+ end
53
+
54
+ # @param title [String]
55
+ # @param level [Integer]
56
+ # @return [String]
57
+ def section_title(title, level)
58
+ "#{'=' * level} #{title}"
59
+ end
60
+
61
+ # @param content [String]
62
+ # @param level [Integer]
63
+ # @return [String]
64
+ def section_content(content, level)
65
+ output_object(content, level)
66
+ end
67
+ end
68
+ end
69
+ end
70
+ end
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EacCli
4
+ module RunnerWith
5
+ module OutputItem
6
+ class BaseFormatter
7
+ acts_as_abstract :to_output
8
+ common_constructor :item_hash
9
+ end
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'csv'
4
+
5
+ module EacCli
6
+ module RunnerWith
7
+ module OutputItem
8
+ class CsvFormatter < ::EacCli::RunnerWith::OutputItem::BaseFormatter
9
+ COLUMNS = %w[key value].freeze
10
+
11
+ # @return [String]
12
+ def to_output
13
+ ::CSV.generate do |csv|
14
+ csv << COLUMNS
15
+ item_hash.each { |k, v| csv << [k, v] }
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'yaml'
4
+
5
+ module EacCli
6
+ module RunnerWith
7
+ module OutputItem
8
+ class YamlFormatter < ::EacCli::RunnerWith::OutputItem::BaseFormatter
9
+ # @return [String]
10
+ def to_output
11
+ ::YAML.dump(item_hash.deep_stringify_keys)
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,47 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EacCli
4
+ module RunnerWith
5
+ module OutputItem
6
+ require_sub __FILE__
7
+
8
+ FORMATS = %w[asciidoc csv yaml].freeze
9
+
10
+ common_concern do
11
+ acts_as_abstract :item_hash
12
+ include ::EacCli::RunnerWith::Output
13
+
14
+ runner_definition do
15
+ arg_opt '-f', '--format', 'Format to output item.', default: 'yaml'
16
+ end
17
+ end
18
+
19
+ # @return [String]
20
+ def output_content
21
+ formatter.to_output
22
+ end
23
+
24
+ # @return [EacCli::RunnerWith::OutputList::BaseFormatter]
25
+ def formatter
26
+ formatter_class.new(item_hash)
27
+ end
28
+
29
+ # @return [Class]
30
+ def formatter_class
31
+ formats.fetch(parsed.format)
32
+ end
33
+
34
+ # @return [Hash<String, Class>]
35
+ def formats
36
+ FORMATS.to_h do |e|
37
+ [e, ::EacCli::RunnerWith::OutputItem.const_get("#{e.camelize}Formatter")]
38
+ end
39
+ end
40
+
41
+ # @return [Hash<String, Enumerable<String>]
42
+ def help_extra_text
43
+ help_list_section('Formats', formats.keys.sort)
44
+ end
45
+ end
46
+ end
47
+ end