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,70 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EacCli
4
+ class Definition
5
+ # @abstract
6
+ class Option < ::EacCli::Definition::OptionOrPositional
7
+ require_sub __FILE__
8
+
9
+ class << self
10
+ # @param args [Enumerable<String>]
11
+ # @return [EacCli::Definition::Option]
12
+ def from_args(args)
13
+ p = ::EacCli::Definition::Option::InitializeArgsParser.new(args)
14
+ new(p.short, p.long, p.description, p.options)
15
+ end
16
+ end
17
+
18
+ DEFAULT_REQUIRED = false
19
+
20
+ enable_abstract_methods
21
+ lists.add_symbol :option, *OPTION_LIST, :default, :usage
22
+
23
+ # @!method initialize(short, long, description, options = {})
24
+ # @param short [String]
25
+ # @param long [String]
26
+ # @param description [String]
27
+ # @param options [Hash<Symbol, Object>]
28
+ # @raise [EacCli::Definition::Error]
29
+ common_constructor :short, :long, :description, :options, default: [{}] do
30
+ validate
31
+ self.options = ::EacCli::Definition::Option.lists.option.hash_keys_validate!(
32
+ options.symbolize_keys
33
+ )
34
+ end
35
+
36
+ # @return [Object]
37
+ def default_value
38
+ default_value? ? options[OPTION_DEFAULT] : default_default_value
39
+ end
40
+
41
+ # @return [Boolean]
42
+ def default_value?
43
+ options.key?(OPTION_DEFAULT)
44
+ end
45
+
46
+ # @return [Symbol]
47
+ # @raise [EacCli::Definition::Error] If no short or long option is provided.
48
+ def identifier
49
+ [long, short].each do |v|
50
+ v.to_s.if_present { |vv| return vv.variableize.to_sym }
51
+ end
52
+
53
+ raise('No short or long option to build identifier')
54
+ end
55
+
56
+ # @return [Boolean]
57
+ def show_on_usage?
58
+ options[:usage]
59
+ end
60
+
61
+ private
62
+
63
+ # @return [void]
64
+ # @raise [EacCli::Definition::Error]
65
+ def validate
66
+ raise 'Nor short neither long selector was set' if short.blank? && long.blank?
67
+ end
68
+ end
69
+ end
70
+ end
@@ -0,0 +1,41 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EacCli
4
+ class Definition
5
+ # @abstract
6
+ class OptionOrPositional
7
+ acts_as_abstract :build_value, :default_value, :identifier, :options
8
+ enable_listable
9
+
10
+ OPTION_LIST = %i[optional repeat required].freeze
11
+
12
+ # @return [Boolean]
13
+ def optional?
14
+ !required?
15
+ end
16
+
17
+ # @raise [EacCli::Definition::Error]
18
+ def raise(*args)
19
+ ::Kernel.raise ::EacCli::Definition::Error, *args
20
+ end
21
+
22
+ # @return [Boolean]
23
+ def repeat?
24
+ options[:repeat] ? true : false
25
+ end
26
+
27
+ # @return [Boolean]
28
+ def required?
29
+ return true if options.key?(:required) && options.fetch(:required)
30
+ return false if options.key?(:optional) && options.fetch(:optional)
31
+
32
+ self.class.const_get('DEFAULT_REQUIRED')
33
+ end
34
+
35
+ # @return [String]
36
+ def to_s
37
+ "#{self.class.name.demodulize}[#{identifier}]"
38
+ end
39
+ end
40
+ end
41
+ end
@@ -0,0 +1,50 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EacCli
4
+ class Definition
5
+ class Positional < ::EacCli::Definition::OptionOrPositional
6
+ DEFAULT_REQUIRED = true
7
+ DEFAULT_VISIBLE = true
8
+
9
+ lists.add_symbol :option, *OPTION_LIST, :subcommand, :visible
10
+
11
+ # @!method initialize(name, options = {})
12
+ # @param name [String]
13
+ # @param options [Hash<Symbol, Object>]
14
+ common_constructor :name, :options, default: [{}] do
15
+ options.assert_valid_keys(self.class.lists.option.values)
16
+ end
17
+
18
+ # @param new_value [Array, Object]
19
+ # @param previous_value [Array, Object]
20
+ # @return [Array]
21
+ def build_value(new_value, previous_value)
22
+ if previous_value.is_a?(::Array)
23
+ previous_value + [new_value]
24
+ else
25
+ new_value
26
+ end
27
+ end
28
+
29
+ # @return [Object]
30
+ def default_value
31
+ repeat? ? [] : nil
32
+ end
33
+
34
+ # @return [Symbol]
35
+ def identifier
36
+ name.to_s.variableize.to_sym
37
+ end
38
+
39
+ # @return [Boolean]
40
+ def subcommand?
41
+ options[OPTION_SUBCOMMAND]
42
+ end
43
+
44
+ # @return [Boolean]
45
+ def visible?
46
+ options.key?(OPTION_VISIBLE) ? options.fetch(OPTION_VISIBLE) : DEFAULT_VISIBLE
47
+ end
48
+ end
49
+ end
50
+ end
@@ -0,0 +1,104 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EacCli
4
+ class Definition
5
+ require_sub __FILE__
6
+
7
+ MAIN_ALTERNATIVE_KEY = :main
8
+ SUBCOMMAND_NAME_ARG = 'subcommand'
9
+ SUBCOMMAND_ARGS_ARG = 'subcommand_args'
10
+
11
+ # @return [String, nil]
12
+ attr_accessor :description
13
+
14
+ def initialize
15
+ self.description = '-- NO DESCRIPTION SET --'
16
+ alternatives_set[MAIN_ALTERNATIVE_KEY] = main_alternative
17
+ end
18
+
19
+ # @return [EacCli::Definition::Alternative]
20
+ def alt(key = nil, &block)
21
+ key ||= new_alternative_key
22
+ raise(::EacCli::Definition::Error, "A alternative with key=\"#{key}\" already exists") if
23
+ key.present? && alternatives_set.key?(key)
24
+
25
+ r = ::EacCli::Definition::Alternative.new
26
+ r.instance_eval(&block)
27
+ alternatives_set[key] = r
28
+ r
29
+ end
30
+
31
+ # @return [Enumerable<EacCli::Definition::Alternative>]
32
+ def alternatives
33
+ alternatives_set.values
34
+ end
35
+
36
+ # @return [EacCli::Definition::Alternative]
37
+ # @raise [KeyError] If there is not a alternative with provided key.
38
+ def alternative(key)
39
+ alternatives_set.fetch(key)
40
+ end
41
+
42
+ # Same as {#description=}.
43
+ def desc(description)
44
+ self.description = description
45
+ end
46
+
47
+ # @return [EacCli::Definition::Alternative]
48
+ def main_alternative
49
+ @main_alternative ||= begin
50
+ r = ::EacCli::Definition::Alternative.new
51
+ r.options_argument(true)
52
+ r
53
+ end
54
+ end
55
+
56
+ # Same as {#options_argument=}.
57
+ # @param options_argument [Boolean]
58
+ def options_arg(options_argument)
59
+ self.options_argument = options_argument
60
+ end
61
+
62
+ # @return [Boolean]
63
+ def options_argument # rubocop:disable Naming/PredicateMethod
64
+ main_alternative.options_argument?
65
+ end
66
+
67
+ def options_argument=(enable)
68
+ main_alternative.options_argument(enable)
69
+ end
70
+
71
+ delegate :arg_opt, :bool_opt, :options, :pos_arg,
72
+ :positional, :subcommands, to: :main_alternative
73
+
74
+ def subcommands?
75
+ alternatives.any?(&:subcommands?)
76
+ end
77
+
78
+ def options_first(enable = true) # rubocop:disable Style/OptionalBooleanParameter
79
+ @options_first = enable
80
+ end
81
+
82
+ def options_first?
83
+ @options_first ? true : false
84
+ end
85
+
86
+ private
87
+
88
+ def alternatives_set
89
+ @alternatives_set ||= ::ActiveSupport::HashWithIndifferentAccess.new
90
+ end
91
+
92
+ def new_alternative_key
93
+ @last_key ||= 0
94
+ loop do
95
+ @last_key += 1
96
+ break @last_key unless alternatives_set.key?(@last_key)
97
+ end
98
+ end
99
+
100
+ def pos_set
101
+ @pos_set ||= []
102
+ end
103
+ end
104
+ end
@@ -0,0 +1,44 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'colorized_string'
4
+
5
+ module EacCli
6
+ # A [EacRubyUtils::Enum] which each value is associated with one console color.
7
+ class Enum < ::EacRubyUtils::Enum
8
+ # Foreground color used in [to_bg_label]
9
+ TO_BG_LABEL_FG_COLOR = :light_white
10
+
11
+ attr_reader :color
12
+
13
+ def initialize(key, color)
14
+ super(key)
15
+ @color = color
16
+ end
17
+
18
+ delegate :to_s, to: :key
19
+
20
+ # @return [String]
21
+ def to_label
22
+ to_fg_label
23
+ end
24
+
25
+ # @return [String]
26
+ def to_fg_label
27
+ to_fg_bg_label(color)
28
+ end
29
+
30
+ # @return [String]
31
+ def to_bg_label
32
+ to_fg_bg_label(TO_BG_LABEL_FG_COLOR, color)
33
+ end
34
+
35
+ private
36
+
37
+ # @return [String]
38
+ def to_fg_bg_label(fg_color, bg_color = nil)
39
+ colors = { color: fg_color }
40
+ bg_color.if_present { |v| colors[:background] = v }
41
+ ::ColorizedString[to_s].colorize(colors)
42
+ end
43
+ end
44
+ end
@@ -0,0 +1,76 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EacCli
4
+ class OldConfigs
5
+ class EntryReader
6
+ enable_speaker
7
+
8
+ class << self
9
+ def entry_key_to_envvar_name(entry_key)
10
+ path = if entry_key.is_a?(::Array)
11
+ entry_key
12
+ else
13
+ ::EacConfig::PathsHash.parse_entry_key(entry_key)
14
+ end
15
+ path.join('_').gsub(/[^a-z0-9_]/i, '').gsub(/\A_+/, '').gsub(/_+\z/, '')
16
+ .gsub(/_{2,}/, '_').upcase
17
+ end
18
+ end
19
+
20
+ common_constructor :console_configs, :entry_key, :options do
21
+ self.options = ::EacCli::OldConfigs::ReadEntryOptions.new(options)
22
+ end
23
+
24
+ def read
25
+ %w[envvars storage console].each do |suffix|
26
+ value = send("read_from_#{suffix}")
27
+ return value if value.present?
28
+ end
29
+ return nil unless options[:required]
30
+
31
+ raise "No value found for entry \"#{entry_key}\""
32
+ end
33
+
34
+ def read_from_storage
35
+ console_configs.configs.read_entry(entry_key)
36
+ end
37
+
38
+ def read_from_envvars
39
+ return if options[:noenv]
40
+
41
+ env_entry_key = self.class.entry_key_to_envvar_name(entry_key)
42
+ return unless ENV.key?(env_entry_key)
43
+
44
+ ENV.fetch(env_entry_key).if_present(::EacRubyUtils::BlankNotBlank.instance)
45
+ end
46
+
47
+ def read_from_console
48
+ return if options[:noinput]
49
+
50
+ options[:before_input].if_present(&:call)
51
+ entry_value = looped_entry_value_from_input
52
+ console_configs.configs.write_entry(entry_key, entry_value) if options[:store]
53
+ entry_value
54
+ end
55
+
56
+ private
57
+
58
+ def looped_entry_value_from_input
59
+ loop do
60
+ entry_value = entry_value_from_input(entry_key, options)
61
+ next if entry_value.blank?
62
+ next if options[:validator] && !options[:validator].call(entry_value)
63
+
64
+ return entry_value
65
+ end
66
+ end
67
+
68
+ def entry_value_from_input(entry_key, options)
69
+ entry_value = input("Value for entry \"#{entry_key}\"",
70
+ options.request_input_options)
71
+ warn('Entered value is blank') if entry_value.blank?
72
+ entry_value
73
+ end
74
+ end
75
+ end
76
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EacCli
4
+ class OldConfigs
5
+ class PasswordEntryReader < ::EacCli::OldConfigs::EntryReader
6
+ ENTRY_KEY = 'core.store_passwords'
7
+
8
+ def initialize(console_configs, entry_key, options = {})
9
+ super(console_configs, entry_key, options.merge(noecho: true,
10
+ store: console_configs.store_passwords?))
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,42 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EacCli
4
+ class OldConfigs
5
+ class ReadEntryOptions
6
+ enable_simple_cache
7
+ common_constructor :options do
8
+ self.options = options.to_h.symbolize_keys
9
+ .assert_valid_keys(DEFAULT_VALUES.keys).freeze
10
+ end
11
+
12
+ DEFAULT_VALUES = {
13
+ before_input: nil, bool: false, list: false, noecho: false, noenv: false, noinput: false,
14
+ required: true, store: true, validator: nil
15
+ }.freeze
16
+
17
+ delegate :to_h, to: :options
18
+
19
+ def [](key)
20
+ values.fetch(key.to_sym)
21
+ end
22
+
23
+ def request_input_options
24
+ values.slice(:bool, :list, :noecho)
25
+ end
26
+
27
+ private
28
+
29
+ def values_uncached
30
+ consumer = options.to_options_consumer
31
+ r = {}
32
+ DEFAULT_VALUES.each do |key, default_value|
33
+ value = consumer.consume(key)
34
+ value = default_value if value.nil?
35
+ r[key] = value
36
+ end
37
+ consumer.validate
38
+ r
39
+ end
40
+ end
41
+ end
42
+ end
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EacCli
4
+ class OldConfigs
5
+ class StorePasswordsEntryReader < ::EacCli::OldConfigs::EntryReader
6
+ ENTRY_KEY = 'core.store_passwords'
7
+
8
+ def initialize(console_configs)
9
+ super(console_configs, ENTRY_KEY,
10
+ before_input: -> { banner },
11
+ validator: ->(entry_value) { %w[yes no].include?(entry_value) }
12
+ )
13
+ end
14
+
15
+ def banner
16
+ infom 'Do you wanna to store passwords?'
17
+ infom 'Warning: the passwords will be store in clear text in ' \
18
+ "\"#{console_configs.configs.storage_path}\""
19
+ infom 'Enter "yes" or "no"'
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,31 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EacCli
4
+ class OldConfigs
5
+ require_sub __FILE__
6
+ enable_speaker
7
+
8
+ class << self
9
+ delegate :entry_key_to_envvar_name, to: :'::EacCli::OldConfigs::EntryReader'
10
+ end
11
+
12
+ attr_reader :configs
13
+
14
+ def initialize(configs_key, options = {})
15
+ options.assert_argument(::Hash, 'options')
16
+ @configs = ::EacConfig::OldConfigs.new(configs_key, options.merge(autosave: true))
17
+ end
18
+
19
+ def read_password(entry_key, options = {})
20
+ ::EacCli::OldConfigs::PasswordEntryReader.new(self, entry_key, options).read
21
+ end
22
+
23
+ def read_entry(entry_key, options = {})
24
+ ::EacCli::OldConfigs::EntryReader.new(self, entry_key, options).read
25
+ end
26
+
27
+ def store_passwords?
28
+ ::EacCli::OldConfigs::StorePasswordsEntryReader.new(self) == 'yes'
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EacCli
4
+ class Parser
5
+ class Alternative
6
+ module AnyOptions
7
+ delegate :any_option?, to: :alternative
8
+
9
+ # @return [EacCli::Definition::BooleanOption] if #any_option? is true.
10
+ # @raise [EacCli::Parser::Error] if #any_option? is false.
11
+ def any_option_collect_option
12
+ any_option? ? alternative.any_options_option : raise_argv_current_invalid_option
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EacCli
4
+ class Parser
5
+ class Alternative
6
+ module Argv
7
+ # @return [Enumerator<String>]
8
+ def argv_enum
9
+ @argv_enum ||= argv.each
10
+ end
11
+
12
+ # @return [Boolean]
13
+ def argv_pending?
14
+ argv_enum.ongoing?
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EacCli
4
+ class Parser
5
+ class Alternative
6
+ module DoubleDash
7
+ DOUBLE_DASH = '--'
8
+
9
+ private
10
+
11
+ attr_accessor :double_dash
12
+
13
+ def argv_current_double_dash?
14
+ argv_enum.peek == DOUBLE_DASH && !double_dash
15
+ end
16
+
17
+ def double_dash_collect_argv_value
18
+ self.phase = PHASE_POSITIONAL
19
+ self.double_dash = true
20
+ end
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,37 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EacCli
4
+ class Parser
5
+ class Alternative
6
+ module LongOptions
7
+ LONG_OPTION_PREFIX = '--'
8
+ OPTION_WITH_ARGUMENT_PATTERN = /\A([^=]+)(?:=(.*))\z/.freeze
9
+
10
+ private
11
+
12
+ def argv_current_long_option?
13
+ phase == PHASE_ANY && argv_enum.peek.start_with?(LONG_OPTION_PREFIX) &&
14
+ !argv_current_double_dash?
15
+ end
16
+
17
+ def long_option_collect_argv_value
18
+ option_long, value = parse_option_current_argv
19
+ alternative.options.any? do |option|
20
+ next false unless option.long == option_long
21
+
22
+ if value.nil?
23
+ option_collect_option(option)
24
+ else
25
+ option_argument_collect(option, value)
26
+ end
27
+ end || any_option_collect_option
28
+ end
29
+
30
+ def parse_option_current_argv
31
+ m = OPTION_WITH_ARGUMENT_PATTERN.match(argv_enum.peek)
32
+ m ? [m[1], m[2].if_present('')] : [argv_enum.peek, nil]
33
+ end
34
+ end
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,29 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EacCli
4
+ class Parser
5
+ class Alternative
6
+ module OptionArgument
7
+ private
8
+
9
+ attr_accessor :argument_option
10
+
11
+ def argument_option_collect_argv(option)
12
+ self.argument_option = option
13
+ self.phase = PHASE_OPTION_ARGUMENT
14
+ end
15
+
16
+ def option_argument_collect(option, value)
17
+ collector.collect(option, value)
18
+ self.argument_option = nil
19
+ self.phase = PHASE_ANY
20
+ option
21
+ end
22
+
23
+ def option_argument_collect_argv_value
24
+ option_argument_collect(argument_option, argv_enum.peek)
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,29 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EacCli
4
+ class Parser
5
+ class Alternative
6
+ module Options
7
+ private
8
+
9
+ def boolean_option_collect_argv(option)
10
+ collector.collect(option, true)
11
+ end
12
+
13
+ def option_collect_option(option)
14
+ if option.argument?
15
+ argument_option_collect_argv(option)
16
+ else
17
+ boolean_option_collect_argv(option)
18
+ end
19
+
20
+ option
21
+ end
22
+
23
+ def raise_argv_current_invalid_option
24
+ raise_error "Invalid option: \"#{argv_enum.peek}\""
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,30 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EacCli
4
+ class Parser
5
+ class Alternative
6
+ module Positionals
7
+ private
8
+
9
+ def positional_collect_argv_value
10
+ positional_check
11
+ collector.collect(positional_enum.peek, argv_enum.peek)
12
+ positional_next
13
+ end
14
+
15
+ def positional_enum
16
+ @positional_enum ||= alternative.positional.each
17
+ end
18
+
19
+ def positional_check
20
+ raise_error("Invalid positional: #{argv_enum.peek}") if positional_enum.stopped?
21
+ end
22
+
23
+ def positional_next
24
+ self.phase = PHASE_POSITIONAL if positional_enum.peek.subcommand?
25
+ positional_enum.next unless positional_enum.peek.repeat?
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end