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,44 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EacCli
4
+ module RunnerWith
5
+ module OutputList
6
+ class BaseFormatter
7
+ acts_as_abstract :to_output
8
+ common_constructor :columns, :rows
9
+
10
+ # @return [String]
11
+ def build_column(column)
12
+ column.to_s
13
+ end
14
+
15
+ # @return [Array<String>]
16
+ def build_columns
17
+ columns.map(&:to_s)
18
+ end
19
+
20
+ # @param row [Object]
21
+ # @return [Object]
22
+ def build_row(_row)
23
+ raise_abstract_method __method__
24
+ end
25
+
26
+ # @return [Array<Hash<String, String>>]
27
+ def build_rows
28
+ rows.map { |row| build_row(row) }
29
+ end
30
+
31
+ # @param row [Object]
32
+ # @param column [String]
33
+ # @return [Object]
34
+ def build_value(row, column)
35
+ return row.send(column) if row.respond_to?(column)
36
+ return row.with_indifferent_access.fetch(column) if row.is_a?(::Hash)
37
+
38
+ raise ::ArgumentError, "Row \"#{row}\" do not respond to column \"#{column}\" neither " \
39
+ "is a Hash (Row: #{row}, Column: #{column})"
40
+ end
41
+ end
42
+ end
43
+ end
44
+ end
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'csv'
4
+
5
+ module EacCli
6
+ module RunnerWith
7
+ module OutputList
8
+ class CsvFormatter < ::EacCli::RunnerWith::OutputList::BaseFormatter
9
+ # @return [Array]
10
+ def build_row(row)
11
+ build_columns.map { |c| build_value(row, c) }
12
+ end
13
+
14
+ # @return [String]
15
+ def to_output
16
+ ::CSV.generate do |csv|
17
+ csv << build_columns
18
+ build_rows.each { |row| csv << row }
19
+ end
20
+ end
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,34 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'tty/table'
4
+
5
+ module EacCli
6
+ module RunnerWith
7
+ module OutputList
8
+ class TtyFormatter < ::EacCli::RunnerWith::OutputList::BaseFormatter
9
+ # @param row [Object]
10
+ # @return [Array]
11
+ def build_row(row)
12
+ build_columns.map { |c| build_value(row, c) }
13
+ end
14
+
15
+ # @return [String]
16
+ def to_output
17
+ "#{tty_table_output}\n"
18
+ end
19
+
20
+ # @return [TTY::Table]
21
+ def tty_table
22
+ ::TTY::Table.new(build_columns, build_rows)
23
+ end
24
+
25
+ # @return [String]
26
+ def tty_table_output
27
+ tty_table.render(:unicode, multiline: true) do |renderer|
28
+ renderer.border.separator = ->(row) { ((row + 1) % columns.count).zero? }
29
+ end
30
+ end
31
+ end
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'yaml'
4
+
5
+ module EacCli
6
+ module RunnerWith
7
+ module OutputList
8
+ class YamlFormatter < ::EacCli::RunnerWith::OutputList::BaseFormatter
9
+ # @return [Hash<String, String>]
10
+ def build_row(row)
11
+ build_columns.inject({}) { |a, e| a.merge(e => build_value(row, e).to_s) }
12
+ end
13
+
14
+ # @return [String]
15
+ def to_output
16
+ ::YAML.dump(build_rows)
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,39 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EacCli
4
+ module RunnerWith
5
+ module OutputList
6
+ require_sub __FILE__
7
+
8
+ FORMATS = {
9
+ 'csv' => ::EacCli::RunnerWith::OutputList::CsvFormatter,
10
+ 'tty' => ::EacCli::RunnerWith::OutputList::TtyFormatter,
11
+ 'yaml' => ::EacCli::RunnerWith::OutputList::YamlFormatter
12
+ }.freeze
13
+
14
+ common_concern do
15
+ acts_as_abstract :list_columns, :list_rows
16
+ include ::EacCli::RunnerWith::Output
17
+
18
+ runner_definition do
19
+ arg_opt '-f', '--format', 'Format to output list.', default: 'yaml'
20
+ end
21
+ end
22
+
23
+ # @return [String]
24
+ def output_content
25
+ formatter.to_output
26
+ end
27
+
28
+ # @return [EacCli::RunnerWith::OutputList::BaseFormatter]
29
+ def formatter
30
+ formatter_class.new(list_columns, list_rows)
31
+ end
32
+
33
+ # @return [Class]
34
+ def formatter_class
35
+ FORMATS.fetch(parsed.format)
36
+ end
37
+ end
38
+ end
39
+ end
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EacCli
4
+ module RunnerWith
5
+ module Subcommands
6
+ module DefinitionConcern
7
+ end
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,124 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EacCli
4
+ module RunnerWith
5
+ module Subcommands
6
+ require_sub __FILE__
7
+
8
+ class << self
9
+ delegate :runner?, to: :'::EacCli::Runner'
10
+
11
+ # @return [Hash<String, EacCli::Runner>]
12
+ def subcommands_from_module(a_module)
13
+ a_module.constants
14
+ .map { |name| [name.to_s.underscore.gsub('_', '-'), a_module.const_get(name)] }
15
+ .select { |c| runner?(c[1]) }
16
+ .to_h.with_indifferent_access
17
+ end
18
+ end
19
+
20
+ common_concern do
21
+ include ::EacCli::Runner
22
+ runner_definition.singleton_class
23
+ .include(::EacCli::RunnerWith::Subcommands::DefinitionConcern)
24
+ end
25
+
26
+ EXTRA_AVAILABLE_SUBCOMMANDS_METHOD_NAME = :extra_available_subcommands
27
+
28
+ def available_subcommands
29
+ @available_subcommands ||= available_subcommands_auto.merge(available_subcommands_extra)
30
+ end
31
+
32
+ # @return [Hash<String, EacCli::Runner>]
33
+ def available_subcommands_auto
34
+ ::EacCli::RunnerWith::Subcommands.subcommands_from_module(self.class)
35
+ end
36
+
37
+ def available_subcommands_extra
38
+ if respond_to?(EXTRA_AVAILABLE_SUBCOMMANDS_METHOD_NAME, true)
39
+ send(EXTRA_AVAILABLE_SUBCOMMANDS_METHOD_NAME)
40
+ else
41
+ {}
42
+ end
43
+ end
44
+
45
+ def available_subcommands_to_s
46
+ available_subcommands.keys.sort.join(', ')
47
+ end
48
+
49
+ # @return [Hash<String, Enumerable<String>]
50
+ def help_extra_text
51
+ help_list_section('Subcommands', available_subcommands.keys.sort)
52
+ end
53
+
54
+ def method_missing(method_name, *arguments, &block)
55
+ return run_with_subcommand(*arguments, &block) if
56
+ run_with_subcommand_alias_run?(method_name)
57
+
58
+ super
59
+ end
60
+
61
+ def respond_to_missing?(method_name, include_private = false)
62
+ run_with_subcommand_alias_run?(method_name) || super
63
+ end
64
+
65
+ def run_with_subcommand
66
+ if run_subcommand?
67
+ if subcommand_runner.respond_to?(:run_run)
68
+ subcommand_runner.run_run
69
+ else
70
+ subcommand_runner.run
71
+ end
72
+ else
73
+ run_without_subcommand
74
+ end
75
+ end
76
+
77
+ def run_with_subcommand_alias_run?(method_name)
78
+ subcommands? && method_name.to_sym == :run
79
+ end
80
+
81
+ def run_without_subcommand
82
+ "Method #{__method__} should be overrided in #{self.class.name}"
83
+ end
84
+
85
+ def run_subcommand?
86
+ subcommand_name.present?
87
+ end
88
+
89
+ def subcommands?
90
+ self.class.runner_definition.subcommands?
91
+ end
92
+
93
+ def subcommand_args
94
+ parsed.fetch(::EacCli::Definition::SUBCOMMAND_ARGS_ARG)
95
+ end
96
+
97
+ def subcommand_class
98
+ available_subcommands[subcommand_name].if_present { |v| return v }
99
+
100
+ raise(::EacCli::Parser::Error.new(
101
+ self.class.runner_definition, runner_context.argv,
102
+ "Subcommand \"#{subcommand_name}\" not found " \
103
+ "(Available: #{available_subcommands_to_s})"
104
+ ))
105
+ end
106
+
107
+ def subcommand_name
108
+ parsed.fetch(::EacCli::Definition::SUBCOMMAND_NAME_ARG)
109
+ end
110
+
111
+ def subcommand_program
112
+ [program_name, subcommand_name]
113
+ end
114
+
115
+ def subcommand_runner
116
+ @subcommand_runner ||= subcommand_class.create(
117
+ argv: subcommand_args,
118
+ program_name: subcommand_program,
119
+ parent: self
120
+ )
121
+ end
122
+ end
123
+ end
124
+ end
@@ -0,0 +1,7 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EacCli
4
+ module RunnerWith
5
+ require_sub __FILE__
6
+ end
7
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EacCli
4
+ class RunnerWithSet
5
+ class FromGemsRegistry < ::EacCli::RunnerWithSet
6
+ protected
7
+
8
+ # @return [Enumerable<Object>]
9
+ def namespace_set
10
+ super + ::EacRubyUtils::GemsRegistry.new('RunnerWith').registered.map(&:registered_module)
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,48 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EacCli
4
+ class RunnerWithSet
5
+ class << self
6
+ def default
7
+ @default ||= ::EacCli::RunnerWithSet::FromGemsRegistry.new
8
+ end
9
+ end
10
+
11
+ def add_namespace(namespace)
12
+ namespace = sanitize_namespace(namespace)
13
+ namespace_set << namespace unless namespace_set.include?(namespace)
14
+ self
15
+ end
16
+
17
+ def item_to_module(item)
18
+ item.is_a?(::Module) ? item : key_to_module(item)
19
+ end
20
+
21
+ def namespaces
22
+ namespace_set.dup
23
+ end
24
+
25
+ private
26
+
27
+ def namespace_set
28
+ @namespace_set ||= []
29
+ end
30
+
31
+ def key_to_module(key)
32
+ namespace_set.lazy
33
+ .map { |namespace| key_to_module_in_namespace(namespace, key) }
34
+ .find(&:present?) ||
35
+ raise("Not module found with key \"#{key}\" (Namespaces: #{namespace_set})")
36
+ end
37
+
38
+ def key_to_module_in_namespace(namespace, key)
39
+ namespace.const_get(key.to_s.camelize)
40
+ rescue ::NameError
41
+ nil
42
+ end
43
+
44
+ def sanitize_namespace(source)
45
+ source.is_a?(::Module) ? source : source.to_s.constantize
46
+ end
47
+ end
48
+ end
@@ -0,0 +1,11 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EacCli
4
+ class Speaker
5
+ module Constants
6
+ STDERR = ::EacRubyUtils::ByReference.new { $stderr }
7
+ STDIN = ::EacRubyUtils::ByReference.new { $stdin }
8
+ STDOUT = ::EacRubyUtils::ByReference.new { $stdout }
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EacCli
4
+ class Speaker
5
+ class InputBlocked
6
+ %w[gets noecho].each do |method|
7
+ define_method(method) do
8
+ raise ::EacCli::Speaker::InputRequested,
9
+ "Method (\"#{method}\") was requested, but input is blocked"
10
+ end
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,8 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EacCli
4
+ class Speaker
5
+ class InputRequested < ::RuntimeError
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,84 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'active_support/hash_with_indifferent_access'
4
+ require 'ostruct'
5
+
6
+ module EacCli
7
+ class Speaker
8
+ class List
9
+ VALUE_STRUCT = ::Struct.new(:key, :label, :value)
10
+
11
+ class << self
12
+ # @param list [Array, Hash]
13
+ # @param options [Hash]
14
+ def build(list, options = {})
15
+ return List.new(hash_to_values(list), options) if list.is_a?(::Hash)
16
+ return List.new(array_to_values(list), options) if list.is_a?(::Array)
17
+
18
+ raise "Invalid list: #{list} (#{list.class})"
19
+ end
20
+
21
+ private
22
+
23
+ def hash_to_values(list)
24
+ list.map { |key, value| VALUE_STRUCT.new(key, key, value) }
25
+ end
26
+
27
+ def array_to_values(list)
28
+ list.map { |value| VALUE_STRUCT.new(value, value, value) }
29
+ end
30
+ end
31
+
32
+ DEFAULT_IGNORE_CASE = true
33
+
34
+ enable_listable
35
+ lists.add_symbol :option, :ignore_case
36
+
37
+ # @!attribute [r] values
38
+ # @return [Array<VALUE_STRUCT>]
39
+ # # @!attribute [r] options
40
+ # @return [Hash]
41
+ # @!method initialize(values)
42
+ # @param values [Array<VALUE_STRUCT>]
43
+ # @param options [Hash]
44
+ common_constructor :values, :options, default: [{}] do
45
+ self.options = self.class.lists.option.hash_keys_validate!(options)
46
+ self.values = values.map do |v|
47
+ VALUE_STRUCT.new(to_key(v.key), to_label(v.label), v.value)
48
+ end
49
+ end
50
+
51
+ # @return [Boolean]
52
+ def ignore_case?
53
+ options.if_key(OPTION_IGNORE_CASE, DEFAULT_IGNORE_CASE, &:to_bool)
54
+ end
55
+
56
+ def valid_labels
57
+ values.map(&:label)
58
+ end
59
+
60
+ def valid_value?(value)
61
+ values.any? { |v| v.key == to_key(value) }
62
+ end
63
+
64
+ # @param value [Object]
65
+ # @return [String]
66
+ def to_key(value)
67
+ r = to_label(value)
68
+ ignore_case? ? r.downcase : r
69
+ end
70
+
71
+ def to_label(value)
72
+ value.to_s.strip
73
+ end
74
+
75
+ def build_value(value)
76
+ key = to_key(value)
77
+ values.each do |v|
78
+ return v.value if v.key == key
79
+ end
80
+ raise "Value not found: \"#{value}\" (#{values})"
81
+ end
82
+ end
83
+ end
84
+ end
@@ -0,0 +1,42 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EacCli
4
+ class Speaker
5
+ module Options
6
+ common_concern do
7
+ enable_listable
8
+ lists.add_symbol :option, :out_out, :err_out, :in_in, :parent, :err_line_prefix,
9
+ :ignore_case
10
+ end
11
+
12
+ def err_out
13
+ option(OPTION_ERR_OUT, $stderr)
14
+ end
15
+
16
+ def out_out
17
+ option(OPTION_OUT_OUT, $stdout)
18
+ end
19
+
20
+ def in_in
21
+ option(OPTION_IN_IN, $stdin)
22
+ end
23
+
24
+ # @return [Boolean]
25
+ def ignore_case
26
+ option(OPTION_IGNORE_CASE, nil)
27
+ end
28
+
29
+ def err_line_prefix
30
+ option(OPTION_ERR_LINE_PREFIX, '')
31
+ end
32
+
33
+ def parent
34
+ options[OPTION_PARENT]
35
+ end
36
+
37
+ def option(key, default)
38
+ options[key] || parent.if_present(default) { |v| v.send(__METHOD__) }
39
+ end
40
+ end
41
+ end
42
+ end
@@ -0,0 +1,40 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EacCli
4
+ class Speaker
5
+ class RequestFromList
6
+ acts_as_instance_method
7
+ enable_simple_cache
8
+ common_constructor :speaker, :question, :list_values, :noecho,
9
+ :ignore_case
10
+
11
+ # @return [String]
12
+ def result
13
+ loop do
14
+ return list.build_value(input) if list.valid_value?(input)
15
+
16
+ speaker.warn "Invalid input: \"#{input}\" (Valid: #{list.valid_labels.join(', ')})"
17
+ end
18
+ end
19
+
20
+ protected
21
+
22
+ # @return [String]
23
+ def input_uncached
24
+ speaker.send(
25
+ :request_string,
26
+ "#{question} [#{list.valid_labels.join('/')}]",
27
+ noecho
28
+ )
29
+ end
30
+
31
+ # @return [EacCli::Speaker::List]
32
+ def list_uncached
33
+ list_options = {}
34
+ list_options[::EacCli::Speaker::List::OPTION_IGNORE_CASE] = ignore_case unless
35
+ ignore_case.nil?
36
+ ::EacCli::Speaker::List.build(list_values, list_options)
37
+ end
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,114 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EacCli
4
+ class Speaker
5
+ require_sub __FILE__, include_modules: true
6
+ include ::EacRubyUtils::Speaker::Receiver
7
+
8
+ common_constructor :options, default: [{}] do
9
+ self.options = self.class.lists.option.hash_keys_validate!(options)
10
+ end
11
+
12
+ def puts(string = '')
13
+ string.to_s.each_line do |line|
14
+ err_out.puts(err_line_prefix.to_s + line)
15
+ end
16
+ end
17
+
18
+ def out(string = '')
19
+ out_out.write(string.to_s)
20
+ end
21
+
22
+ def error(string)
23
+ puts "ERROR: #{string}".white.on_red
24
+ end
25
+
26
+ def title(string)
27
+ string = string.to_s
28
+ puts(('-' * (8 + string.length)).green)
29
+ puts("--- #{string} ---".green)
30
+ puts(('-' * (8 + string.length)).green)
31
+ puts
32
+ end
33
+
34
+ def info(string)
35
+ puts string.to_s.white
36
+ end
37
+
38
+ def infom(string)
39
+ puts string.to_s.light_yellow
40
+ end
41
+
42
+ def warn(string)
43
+ puts string.to_s.yellow
44
+ end
45
+
46
+ # Options:
47
+ # +bool+ ([Boolean], default: +false+): requires a answer "yes" or "no".
48
+ # +list+ ([Hash] or [Array], default: +nil+): requires a answer from a list.
49
+ # +noecho+ ([Boolean], default: +false+): does not output answer.
50
+ def input(question, options = {})
51
+ bool, list, noecho, ignore_case =
52
+ options.to_options_consumer.consume_all(:bool, :list, :noecho, :ignore_case)
53
+ if list
54
+ request_from_list(question, list, noecho, ignore_case)
55
+ elsif bool
56
+ request_from_bool(question, noecho)
57
+ else
58
+ request_string(question, noecho)
59
+ end
60
+ end
61
+
62
+ def infov(*args)
63
+ r = []
64
+ args.each_with_index do |v, i|
65
+ if i.even?
66
+ r << "#{v}: ".cyan
67
+ else
68
+ r.last << v.to_s
69
+ end
70
+ end
71
+ puts r.join(', ')
72
+ end
73
+
74
+ def success(string)
75
+ puts string.to_s.green
76
+ end
77
+
78
+ private
79
+
80
+ def list_value(list, input)
81
+ values = list_values(list)
82
+ return input, true unless values
83
+
84
+ [input, false] unless values.include?(input)
85
+ end
86
+
87
+ def list_values(list)
88
+ if list.is_a?(::Hash)
89
+ list.keys.map(&:to_s)
90
+ elsif list.is_a?(::Array)
91
+ list.map(&:to_s)
92
+ end
93
+ end
94
+
95
+ def request_from_bool(question, noecho)
96
+ request_from_list(question, { yes: true, y: true, no: false, n: false }, noecho, true)
97
+ end
98
+
99
+ def request_string(question, noecho)
100
+ err_out.write "#{question}: ".yellow
101
+ noecho ? request_string_noecho : request_string_echo
102
+ end
103
+
104
+ def request_string_noecho
105
+ r = in_in.noecho(&:gets).chomp.strip
106
+ err_out.write("\n")
107
+ r
108
+ end
109
+
110
+ def request_string_echo
111
+ in_in.gets.chomp.strip
112
+ end
113
+ end
114
+ end
@@ -0,0 +1,5 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EacCli
4
+ VERSION = '0.44.2'
5
+ end