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,54 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EacCli
4
+ class Parser
5
+ class Alternative
6
+ module ShortOptions
7
+ SHORT_OPTION_PREFIX = '-'
8
+ SHORT_OPTION_CHAR_PATTERN = /\A[0-9a-zA-Z]\z/.freeze
9
+
10
+ private
11
+
12
+ # @return [Boolean]
13
+ def argv_current_short_option?
14
+ phase == PHASE_ANY && argv_enum.peek.start_with?(SHORT_OPTION_PREFIX) &&
15
+ !argv_current_long_option?
16
+ end
17
+
18
+ # @para char [String]
19
+ # @return [EacCli::Definition::Option, nil]
20
+ def find_short_option(char)
21
+ alternative.options.find do |option|
22
+ short_without_prefix(option.short).if_present(false) { |v| v == char }
23
+ end
24
+ end
25
+
26
+ # @return [void]
27
+ def short_option_collect_argv_value
28
+ last_option = nil
29
+ short_without_prefix(argv_enum.peek).each_char do |char|
30
+ raise_error "Invalid option: \"#{char}\"" unless SHORT_OPTION_CHAR_PATTERN.match?(char)
31
+ raise_error "Option \"#{last_option}\" requires a argument not provided" if
32
+ last_option.present?
33
+
34
+ collected_option = short_option_collect_char(char)
35
+ last_option = collected_option if collected_option.argument?
36
+ end
37
+ end
38
+
39
+ # @param char [String]
40
+ # @return [EacCli::Definition::Option] The option collected.
41
+ def short_option_collect_char(char)
42
+ option = find_short_option(char)
43
+ option ? option_collect_option(option) : any_option_collect_option
44
+ end
45
+
46
+ # @param short [String]
47
+ # @return [String]
48
+ def short_without_prefix(short)
49
+ short.to_s.gsub(/\A#{::Regexp.quote(SHORT_OPTION_PREFIX)}/, '')
50
+ end
51
+ end
52
+ end
53
+ end
54
+ end
@@ -0,0 +1,99 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EacCli
4
+ class Parser
5
+ class Alternative
6
+ require_sub __FILE__, include_modules: true
7
+ enable_listable
8
+ lists.add_symbol :phase, :any, :option_argument, :positional
9
+
10
+ # @return [EacCli::Parser::Error, nil]
11
+ attr_reader :error
12
+
13
+ # @!method initialize(alternative, argv)
14
+ # @param alternative [EacCli::Definition::Alternative]
15
+ # @param argv [Array<String>]
16
+ common_constructor :alternative, :argv do
17
+ alternative.assert_argument(::EacCli::Definition::Alternative, :alternative)
18
+ self.phase = PHASE_ANY
19
+ collect
20
+ end
21
+
22
+ # @return [Boolean]
23
+ def error?
24
+ error.present?
25
+ end
26
+
27
+ # @return [Boolean]
28
+ def success?
29
+ !error?
30
+ end
31
+
32
+ # @return [EacRubyUtils::Struct]
33
+ def parsed
34
+ @parsed ||= collector.to_data.freeze
35
+ end
36
+
37
+ private
38
+
39
+ # @return [Symbol]
40
+ attr_accessor :phase
41
+
42
+ # @return [void]
43
+ def any_collect_argv_value
44
+ %w[double_dash long_option short_option].each do |arg_type|
45
+ return send("#{arg_type}_collect_argv_value") if send("argv_current_#{arg_type}?")
46
+ end
47
+
48
+ positional_collect_argv_value
49
+ end
50
+
51
+ # @return [EacCli::Parser::Collector]
52
+ def collector
53
+ @collector ||= ::EacCli::Parser::Collector.new(alternative)
54
+ end
55
+
56
+ # @return [void]
57
+ def collect
58
+ loop do
59
+ break unless argv_pending?
60
+
61
+ collect_argv_value
62
+ end
63
+ validate
64
+ rescue ::EacCli::Parser::Error => e
65
+ @error = e
66
+ end
67
+
68
+ # @return [void]
69
+ def collect_argv_value
70
+ send("#{phase}_collect_argv_value")
71
+ argv_enum.next
72
+ end
73
+
74
+ # @param message [String]
75
+ # @raise [EacCli::Parser::Error] Always.
76
+ def raise_error(message)
77
+ raise ::EacCli::Parser::Error.new(alternative, argv, message)
78
+ end
79
+
80
+ # @return [void]
81
+ # @raise [EacCli::Parser::Error] If options where not properly supplied.
82
+ def validate
83
+ (alternative.options + alternative.positional).each do |option|
84
+ validate_option(option)
85
+ end
86
+ end
87
+
88
+ # @param option [EacCli::Definition::Option, EacCli::Definition::Positional]
89
+ # @return [void]
90
+ # @raise [EacCli::Parser::Error] If option was not properly supplied.
91
+ def validate_option(option)
92
+ return unless option.required?
93
+ return if collector.supplied?(option)
94
+
95
+ raise_error("Required option/positional #{option} not supplied")
96
+ end
97
+ end
98
+ end
99
+ end
@@ -0,0 +1,52 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EacCli
4
+ class Parser
5
+ class Collector
6
+ class << self
7
+ def to_data(definition)
8
+ collector = new(definition)
9
+ yield(collector)
10
+ collector.to_data
11
+ end
12
+ end
13
+
14
+ # @!method initialize(definition)
15
+ # @param definition [EacCli::Definition]
16
+ common_constructor :definition do
17
+ default_values
18
+ end
19
+
20
+ # @return [EacRubyUtils::Struct]
21
+ def to_data
22
+ ::EacRubyUtils::Struct.new(data.transform_keys(&:identifier))
23
+ end
24
+
25
+ # @param option [EacCli::Definition::Option]
26
+ # @param value [String]
27
+ # @return [void]
28
+ def collect(option, value)
29
+ data[option] = option.build_value(value, data[option])
30
+ end
31
+
32
+ # @param option [EacCli::Definition::Option]
33
+ # @return [Boolean]
34
+ def supplied?(option)
35
+ data[option].present?
36
+ end
37
+
38
+ private
39
+
40
+ # @return [Hash]
41
+ def data
42
+ @data ||= {}
43
+ end
44
+
45
+ # @return [void]
46
+ def default_values
47
+ definition.options.each { |option| data[option] = option.default_value }
48
+ definition.positional.each { |positional| data[positional] = positional.default_value }
49
+ end
50
+ end
51
+ end
52
+ end
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EacCli
4
+ class Parser
5
+ class Error < ::StandardError
6
+ def initialize(definition, argv, message)
7
+ @definition = definition
8
+ @argv = argv
9
+ super(message)
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,32 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EacCli
4
+ class Parser
5
+ require_sub __FILE__
6
+ enable_simple_cache
7
+ common_constructor :definition, :argv
8
+
9
+ private
10
+
11
+ def parsed_uncached
12
+ raise 'Definition has no alternatives' if alternatives.empty?
13
+ raise first_error unless alternatives.any?(&:success?)
14
+
15
+ alternatives_parsed(true).merge(alternatives_parsed(false))
16
+ end
17
+
18
+ def alternatives_parsed(error)
19
+ alternatives.select { |a| error == a.error? }.map(&:parsed).reverse
20
+ .inject(::EacRubyUtils::Struct.new) { |a, e| a.merge(e) }
21
+ end
22
+
23
+ def alternatives_uncached
24
+ definition.alternatives
25
+ .map { |alternative| ::EacCli::Parser::Alternative.new(alternative, argv) }
26
+ end
27
+
28
+ def first_error_uncached
29
+ alternatives.lazy.select(&:error?).map(&:error).first
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ class Object
4
+ def runner_with(*runners, &block)
5
+ include ::EacCli::Runner
6
+
7
+ enable_simple_cache
8
+ enable_speaker
9
+ runners.each do |runner|
10
+ include ::EacCli::RunnerWithSet.default.item_to_module(runner)
11
+ end
12
+ runner_definition(&block) if block
13
+ end
14
+
15
+ private
16
+
17
+ def runner_with_to_module(runner)
18
+ return runner if runner.is_a?(::Module)
19
+
20
+ "EacCli::RunnerWith::#{runner.to_s.camelize}".constantize
21
+ end
22
+ end
@@ -0,0 +1,5 @@
1
+ # frozen_string_literal: true
2
+
3
+ Dir["#{File.dirname(__FILE__)}/#{File.basename(__FILE__, '.*')}/*.rb"].sort.each do |path|
4
+ require path
5
+ end
@@ -0,0 +1,3 @@
1
+ # frozen_string_literal: true
2
+
3
+ EacRubyUtils.require_sub(__FILE__)
@@ -0,0 +1,41 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EacCli
4
+ module Rspec
5
+ module Setup
6
+ def disable_input_request
7
+ disable_config_input_request
8
+ disable_speaker_input_request
9
+ end
10
+
11
+ def disable_config_input_request
12
+ rspec_config.before do
13
+ # Fixes EacCli::Config::Entry does not implement #input_value error
14
+ ::EacCli::Config::Entry.define_method(:input_value) do
15
+ super
16
+ end
17
+ allow_any_instance_of(::EacCli::Config::Entry).to receive(:input_value) do |obj|
18
+ raise "Console input requested for entry (Path: #{obj.path})"
19
+ end
20
+ end
21
+ end
22
+
23
+ def disable_speaker_input_request
24
+ ::RSpec.configure do |config|
25
+ config.around do |example|
26
+ ::EacRubyUtils::Speaker
27
+ .context.on(::EacCli::Speaker.new(in_in: FailIfRequestInput.new)) { example.run }
28
+ end
29
+ end
30
+ end
31
+
32
+ class FailIfRequestInput
33
+ %w[gets noecho].each do |method|
34
+ define_method(method) do
35
+ raise "Input method requested: #{method}. Should not request input on RSpec."
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end
41
+ end
@@ -0,0 +1,34 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EacCli
4
+ module Runner
5
+ module AfterClassMethods
6
+ # @return [EacCli::Runner::ClassRunner]
7
+ def class_runner(runner_context_args)
8
+ ::EacCli::Runner::ClassRunner.new(self, runner_context_args)
9
+ end
10
+
11
+ def create(*runner_context_args)
12
+ class_runner(runner_context_args).create
13
+ end
14
+
15
+ def run(*runner_context_args)
16
+ class_runner(runner_context_args).run
17
+ end
18
+
19
+ def runner_definition(&block)
20
+ @runner_definition ||= super_runner_definition
21
+ begin
22
+ @runner_definition.instance_eval(&block) if block
23
+ rescue ::EacCli::Definition::Error => _e
24
+ raise ::EacCli::Definition::Error, "Definition error for #{self}"
25
+ end
26
+ @runner_definition
27
+ end
28
+
29
+ def super_runner_definition
30
+ superclass.try(:runner_definition).if_present(&:dup) || ::EacCli::Definition.new
31
+ end
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,32 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EacCli
4
+ module Runner
5
+ class ClassRunner
6
+ PARSER_ERROR_EXIT_CODE = 1
7
+
8
+ common_constructor :klass, :context_args
9
+
10
+ def create
11
+ r = klass.new
12
+ r.runner_context = ::EacCli::Runner::Context.new(r, *context_args)
13
+ r
14
+ end
15
+
16
+ def run
17
+ r = create
18
+ begin
19
+ r.run_run
20
+ rescue ::EacCli::Parser::Error => e
21
+ run_parser_error(r, e)
22
+ end
23
+ r
24
+ end
25
+
26
+ def run_parser_error(runner_instance, error)
27
+ $stderr.write("#{runner_instance.program_name}: #{error}\n")
28
+ ::Kernel.exit(PARSER_ERROR_EXIT_CODE)
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,57 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EacCli
4
+ module Runner
5
+ class Context
6
+ attr_reader :argv, :parent, :program_name, :runner
7
+
8
+ def initialize(runner, *context_args)
9
+ options = context_args.extract_options!
10
+ @argv = (context_args[0] || options.delete(:argv) || ARGV).dup.freeze
11
+ @parent = context_args[1] || options.delete(:parent)
12
+ @program_name = options.delete(:program_name)
13
+ @runner = runner
14
+ end
15
+
16
+ # Call a method in the runner or in one of it ancestors.
17
+ def call(method_name, *args, &block)
18
+ context_call_responder(method_name).call(*args, &block)
19
+ end
20
+
21
+ # @return [EacCli::Runner::ContextResponders]
22
+ def context_call_responder(method_name)
23
+ ::EacCli::Runner::ContextResponders::Set.new(self, method_name, %i[runner parent])
24
+ end
25
+
26
+ # @param method_name [Symbol]
27
+ # @return [EacCli::Runner::ContextResponders::Parent]
28
+ def runner_missing_method_responder(method_name)
29
+ ::EacCli::Runner::ContextResponders::RunnerMissingMethod
30
+ .new(self, method_name)
31
+ end
32
+
33
+ # @param method_name [Symbol]
34
+ # @return [Boolean]
35
+ def parent_respond_to?(method_name)
36
+ parent.if_present(false) do |v|
37
+ next true if v.respond_to?(method_name)
38
+
39
+ v.if_respond(:runner_context, false) { |w| w.parent_respond_to?(method_name) }
40
+ end
41
+ end
42
+
43
+ def parent_call(method_name, *args, &block)
44
+ return parent.runner_context.call(method_name, *args, &block) if
45
+ parent.respond_to?(:runner_context)
46
+
47
+ raise "Parent #{parent} do not respond to .context or .runner_context (Runner: #{runner})"
48
+ end
49
+
50
+ # @param method_name [Symbol]
51
+ # @return [EacCli::Runner::ContextResponders::Parent]
52
+ def parent_responder(method_name)
53
+ ::EacCli::Runner::ContextResponders::Parent.new(self, method_name)
54
+ end
55
+ end
56
+ end
57
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EacCli
4
+ module Runner
5
+ module ContextResponders
6
+ class Base
7
+ acts_as_abstract :call, :callable?
8
+ common_constructor :context, :method_name do
9
+ self.method_name = method_name.to_sym
10
+ end
11
+ delegate :parent, :runner, to: :context
12
+
13
+ def if_callable # rubocop:disable Naming/PredicateMethod
14
+ return false unless callable?
15
+
16
+ yield(self)
17
+ true
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EacCli
4
+ module Runner
5
+ module ContextResponders
6
+ class Parent < ::EacCli::Runner::ContextResponders::Base
7
+ def callable?
8
+ parent.if_present(false) do |v|
9
+ next true if v.respond_to?(method_name)
10
+
11
+ v.if_respond(:runner_context, false) { |w| w.parent_respond_to?(method_name) }
12
+ end
13
+ end
14
+
15
+ def call(*args, &block)
16
+ return parent.runner_context.call(method_name, *args, &block) if
17
+ parent.respond_to?(:runner_context)
18
+
19
+ raise "Parent #{parent} do not respond to .context or .runner_context (Runner: #{runner})"
20
+ end
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EacCli
4
+ module Runner
5
+ module ContextResponders
6
+ class Runner < ::EacCli::Runner::ContextResponders::Base
7
+ def callable?
8
+ runner.respond_to?(method_name)
9
+ end
10
+
11
+ def call(*args, &block)
12
+ runner.send(method_name, *args, &block)
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,29 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EacCli
4
+ module Runner
5
+ module ContextResponders
6
+ class RunnerMissingMethod < ::EacCli::Runner::ContextResponders::Base
7
+ def callable?
8
+ responder_runner.present?
9
+ end
10
+
11
+ def call(*args, &block)
12
+ responder_runner.send(method_name, *args, &block)
13
+ end
14
+
15
+ private
16
+
17
+ def responder_runner
18
+ parent.if_present(nil) do |v|
19
+ next v if v.respond_to?(method_name) && v.for_context?(method_name)
20
+
21
+ v.if_respond(:runner_context, nil) do |w|
22
+ w.runner_missing_method_responder(method_name).send(__method__)
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,41 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EacCli
4
+ module Runner
5
+ module ContextResponders
6
+ class Set < ::EacCli::Runner::ContextResponders::Base
7
+ attr_reader :responders_names
8
+
9
+ def initialize(context, method_name, responders_names)
10
+ super(context, method_name)
11
+ @responders_names = responders_names
12
+ end
13
+
14
+ def callable?
15
+ responders_instances.any?(&:callable?)
16
+ end
17
+
18
+ def call(...)
19
+ caller = responder_to_call
20
+ return caller.call(...) if caller
21
+
22
+ raise ::NameError, "No method \"#{method_name}\" found in #{runner} or in its ancestors"
23
+ end
24
+
25
+ private
26
+
27
+ def responder_class(class_name)
28
+ ::EacCli::Runner::ContextResponders.const_get(class_name.to_s.camelize)
29
+ end
30
+
31
+ def responders_instances
32
+ responders_names.lazy.map { |name| responder_class(name).new(context, method_name) }
33
+ end
34
+
35
+ def responder_to_call
36
+ responders_instances.lazy.select(&:callable?).first
37
+ end
38
+ end
39
+ end
40
+ end
41
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EacCli
4
+ module Runner
5
+ class Exit < ::StandardError
6
+ attr_reader :status
7
+
8
+ def initialize(status = true) # rubocop:disable Style/OptionalBooleanParameter
9
+ super
10
+ @status = status
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,35 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EacCli
4
+ module Runner
5
+ module ForContext
6
+ common_concern
7
+
8
+ module ClassMethods
9
+ # @param methods_names [Enumerable<Symbol>]
10
+ # @return [void]
11
+ def for_context(*methods_names)
12
+ for_context_methods.merge(methods_names.map(&:to_sym))
13
+ end
14
+
15
+ # @param method_name [Symbol]
16
+ # @return [Boolean]
17
+ def for_context?(method_name)
18
+ for_context_methods.include?(method_name.to_sym)
19
+ end
20
+
21
+ private
22
+
23
+ # @return [EacRubyUtils::ModuleAncestorsVariable::Set<Symbol>]
24
+ def for_context_methods
25
+ @for_context_methods ||=
26
+ ::EacRubyUtils::ModuleAncestorsVariable::Set.new(self, __method__)
27
+ end
28
+ end
29
+
30
+ # @param method_name [Symbol]
31
+ # @return [Boolean]
32
+ delegate :for_context?, to: :class
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,45 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EacCli
4
+ module Runner
5
+ module InstanceMethods
6
+ def run_run
7
+ parsed
8
+ run_callbacks(:run) { run }
9
+ rescue ::EacCli::Runner::Exit
10
+ # Do nothing
11
+ end
12
+
13
+ def runner_context
14
+ return @runner_context if @runner_context
15
+
16
+ raise 'Context was required, but was not set yet'
17
+ end
18
+
19
+ def runner_context=(new_runner_context)
20
+ @runner_context = new_runner_context
21
+ @parsed = nil
22
+ end
23
+
24
+ def parsed
25
+ @parsed ||= ::EacCli::Parser.new(self.class.runner_definition, runner_context.argv).parsed
26
+ end
27
+
28
+ def program_name
29
+ runner_context.if_present(&:program_name) || $PROGRAM_NAME
30
+ end
31
+
32
+ def respond_to_missing?(method, include_all = false)
33
+ runner_context.runner_missing_method_responder(method).callable? || super
34
+ end
35
+
36
+ def method_missing(method, *args, &block)
37
+ runner_context.runner_missing_method_responder(method).if_callable do |v|
38
+ return v.call(*args, &block)
39
+ end
40
+
41
+ super
42
+ end
43
+ end
44
+ end
45
+ end