avm-tools 0.120.1 → 0.121.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (376) hide show
  1. checksums.yaml +4 -4
  2. data/lib/avm/ruby/gems/generator.rb +2 -1
  3. data/lib/avm/tools/runner/app_src/info.rb +1 -1
  4. data/lib/avm/tools/version.rb +1 -1
  5. data/locale/en.yml +7 -0
  6. data/locale/pt-BR.yml +7 -0
  7. metadata +4 -385
  8. data/lib/avm/tools/runner/eac_redmine_base0/core_update.rb +0 -63
  9. data/sub/avm-eac_generic_base0/Gemfile +0 -5
  10. data/sub/avm-eac_generic_base0/avm-eac_generic_base0.gemspec +0 -19
  11. data/sub/avm-eac_generic_base0/lib/avm/eac_generic_base0/sources/base/version_bump.rb +0 -35
  12. data/sub/avm-eac_generic_base0/lib/avm/eac_generic_base0/sources/base.rb +0 -25
  13. data/sub/avm-eac_generic_base0/lib/avm/eac_generic_base0/sources/tester.rb +0 -56
  14. data/sub/avm-eac_generic_base0/lib/avm/eac_generic_base0/sources.rb +0 -11
  15. data/sub/avm-eac_generic_base0/lib/avm/eac_generic_base0/version.rb +0 -7
  16. data/sub/avm-eac_generic_base0/lib/avm/eac_generic_base0.rb +0 -9
  17. data/sub/avm-eac_generic_base0/locale/en.yaml +0 -6
  18. data/sub/avm-eac_generic_base0/locale/pt-BR.yaml +0 -6
  19. data/sub/avm-eac_generic_base0/spec/lib/avm/eac_generic_base0/sources/base_spec.rb +0 -7
  20. data/sub/avm-eac_generic_base0/spec/rubocop_spec.rb +0 -3
  21. data/sub/avm-eac_generic_base0/spec/spec_helper.rb +0 -4
  22. data/sub/avm-eac_redmine_base0/Gemfile +0 -5
  23. data/sub/avm-eac_redmine_base0/avm-eac_redmine_base0.gemspec +0 -23
  24. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/apache_host.rb +0 -10
  25. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/core_update.rb +0 -115
  26. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/data_unit.rb +0 -51
  27. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/deploy.rb +0 -36
  28. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instance.rb +0 -57
  29. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/docker_image.rb +0 -97
  30. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/rest_api.rb +0 -11
  31. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/sources/base.rb +0 -27
  32. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/version.rb +0 -7
  33. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0.rb +0 -9
  34. data/sub/avm-eac_redmine_base0/spec/rubocop_spec.rb +0 -3
  35. data/sub/avm-eac_redmine_base0/spec/spec_helper.rb +0 -4
  36. data/sub/avm-eac_redmine_base0/template/avm/eac_redmine_base0/deploy/config/install.sh.template +0 -27
  37. data/sub/avm-eac_redmine_base0/template/avm/eac_redmine_base0/deploy/config/secrets.yml +0 -8
  38. data/sub/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances/docker_image/Dockerfile.template +0 -37
  39. data/sub/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances/docker_image/Dockerfile_apache_setup +0 -8
  40. data/sub/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances/docker_image/apache_http_virtualhost.conf.template +0 -10
  41. data/sub/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances/docker_image/apache_https_virtualhost.conf.template +0 -16
  42. data/sub/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances/docker_image/install_settings.sh.template +0 -33
  43. data/sub/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances/docker_image/start.sh.template +0 -52
  44. data/sub/avm-eac_redmine_plugin_base0/Gemfile +0 -5
  45. data/sub/avm-eac_redmine_plugin_base0/avm-eac_redmine_plugin_base0.gemspec +0 -19
  46. data/sub/avm-eac_redmine_plugin_base0/lib/avm/eac_redmine_plugin_base0/sources/base.rb +0 -30
  47. data/sub/avm-eac_redmine_plugin_base0/lib/avm/eac_redmine_plugin_base0/version.rb +0 -7
  48. data/sub/avm-eac_redmine_plugin_base0/lib/avm/eac_redmine_plugin_base0.rb +0 -9
  49. data/sub/avm-eac_redmine_plugin_base0/spec/rubocop_spec.rb +0 -3
  50. data/sub/avm-eac_redmine_plugin_base0/spec/spec_helper.rb +0 -4
  51. data/sub/avm-eac_webapp_base0/Gemfile +0 -5
  52. data/sub/avm-eac_webapp_base0/avm-eac_webapp_base0.gemspec +0 -22
  53. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/apache_host.rb +0 -78
  54. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/apache_path.rb +0 -51
  55. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/deploy/appended_directories.rb +0 -25
  56. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/deploy/build.rb +0 -48
  57. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/deploy/file_unit.rb +0 -42
  58. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/deploy/git_info.rb +0 -62
  59. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/deploy/version.rb +0 -24
  60. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/deploy/write_on_target.rb +0 -18
  61. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/deploy.rb +0 -73
  62. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instance/subcommand_parent.rb +0 -24
  63. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instance.rb +0 -62
  64. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/runner/apache_host.rb +0 -35
  65. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/runner/apache_path.rb +0 -40
  66. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/runner/data/dump.rb +0 -63
  67. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/runner/data/load.rb +0 -55
  68. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/runner/data.rb +0 -17
  69. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/runner/deploy.rb +0 -39
  70. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/runner.rb +0 -12
  71. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/sources/base.rb +0 -15
  72. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/sources.rb +0 -11
  73. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/version.rb +0 -7
  74. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0.rb +0 -9
  75. data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/sources/base_spec.rb +0 -7
  76. data/sub/avm-eac_webapp_base0/spec/rubocop_spec.rb +0 -3
  77. data/sub/avm-eac_webapp_base0/spec/spec_helper.rb +0 -4
  78. data/sub/avm-eac_webapp_base0/template/avm/eac_webapp_base0/apache_host/no_ssl.conf +0 -11
  79. data/sub/avm-eac_webapp_base0/template/avm/eac_webapp_base0/apache_path/default.conf +0 -9
  80. data/sub/eac_cli/Gemfile +0 -5
  81. data/sub/eac_cli/eac_cli.gemspec +0 -20
  82. data/sub/eac_cli/lib/eac_cli/config/entry/options.rb +0 -57
  83. data/sub/eac_cli/lib/eac_cli/config/entry/undefined.rb +0 -26
  84. data/sub/eac_cli/lib/eac_cli/config/entry.rb +0 -50
  85. data/sub/eac_cli/lib/eac_cli/config.rb +0 -21
  86. data/sub/eac_cli/lib/eac_cli/core_ext.rb +0 -6
  87. data/sub/eac_cli/lib/eac_cli/default_runner.rb +0 -14
  88. data/sub/eac_cli/lib/eac_cli/definition/alternative.rb +0 -80
  89. data/sub/eac_cli/lib/eac_cli/definition/argument_option.rb +0 -21
  90. data/sub/eac_cli/lib/eac_cli/definition/base_option/initialize_args_parser.rb +0 -47
  91. data/sub/eac_cli/lib/eac_cli/definition/base_option.rb +0 -66
  92. data/sub/eac_cli/lib/eac_cli/definition/boolean_option.rb +0 -27
  93. data/sub/eac_cli/lib/eac_cli/definition/positional_argument.rb +0 -61
  94. data/sub/eac_cli/lib/eac_cli/definition.rb +0 -95
  95. data/sub/eac_cli/lib/eac_cli/enum.rb +0 -45
  96. data/sub/eac_cli/lib/eac_cli/old_configs/entry_reader.rb +0 -80
  97. data/sub/eac_cli/lib/eac_cli/old_configs/password_entry_reader.rb +0 -16
  98. data/sub/eac_cli/lib/eac_cli/old_configs/read_entry_options.rb +0 -44
  99. data/sub/eac_cli/lib/eac_cli/old_configs/store_passwords_entry_reader.rb +0 -25
  100. data/sub/eac_cli/lib/eac_cli/old_configs.rb +0 -35
  101. data/sub/eac_cli/lib/eac_cli/parser/alternative/argv.rb +0 -17
  102. data/sub/eac_cli/lib/eac_cli/parser/alternative/double_dash.rb +0 -24
  103. data/sub/eac_cli/lib/eac_cli/parser/alternative/long_options.rb +0 -37
  104. data/sub/eac_cli/lib/eac_cli/parser/alternative/option_argument.rb +0 -29
  105. data/sub/eac_cli/lib/eac_cli/parser/alternative/options.rb +0 -29
  106. data/sub/eac_cli/lib/eac_cli/parser/alternative/positionals.rb +0 -30
  107. data/sub/eac_cli/lib/eac_cli/parser/alternative/short_options.rb +0 -47
  108. data/sub/eac_cli/lib/eac_cli/parser/alternative.rb +0 -92
  109. data/sub/eac_cli/lib/eac_cli/parser/collector.rb +0 -46
  110. data/sub/eac_cli/lib/eac_cli/parser/error.rb +0 -15
  111. data/sub/eac_cli/lib/eac_cli/parser.rb +0 -34
  112. data/sub/eac_cli/lib/eac_cli/patches/object/runner_with.rb +0 -26
  113. data/sub/eac_cli/lib/eac_cli/patches/object.rb +0 -5
  114. data/sub/eac_cli/lib/eac_cli/patches.rb +0 -4
  115. data/sub/eac_cli/lib/eac_cli/rspec/setup.rb +0 -42
  116. data/sub/eac_cli/lib/eac_cli/rspec.rb +0 -9
  117. data/sub/eac_cli/lib/eac_cli/runner/after_class_methods.rb +0 -33
  118. data/sub/eac_cli/lib/eac_cli/runner/class_runner.rb +0 -50
  119. data/sub/eac_cli/lib/eac_cli/runner/context.rb +0 -40
  120. data/sub/eac_cli/lib/eac_cli/runner/exit.rb +0 -13
  121. data/sub/eac_cli/lib/eac_cli/runner/instance_methods.rb +0 -43
  122. data/sub/eac_cli/lib/eac_cli/runner.rb +0 -49
  123. data/sub/eac_cli/lib/eac_cli/runner_with/help/builder/alternative.rb +0 -63
  124. data/sub/eac_cli/lib/eac_cli/runner_with/help/builder.rb +0 -82
  125. data/sub/eac_cli/lib/eac_cli/runner_with/help.rb +0 -41
  126. data/sub/eac_cli/lib/eac_cli/runner_with/subcommands/definition_concern.rb +0 -10
  127. data/sub/eac_cli/lib/eac_cli/runner_with/subcommands.rb +0 -119
  128. data/sub/eac_cli/lib/eac_cli/runner_with.rb +0 -9
  129. data/sub/eac_cli/lib/eac_cli/runner_with_set.rb +0 -50
  130. data/sub/eac_cli/lib/eac_cli/speaker/constants.rb +0 -13
  131. data/sub/eac_cli/lib/eac_cli/speaker/list.rb +0 -61
  132. data/sub/eac_cli/lib/eac_cli/speaker/options.rb +0 -38
  133. data/sub/eac_cli/lib/eac_cli/speaker.rb +0 -126
  134. data/sub/eac_cli/lib/eac_cli/version.rb +0 -5
  135. data/sub/eac_cli/lib/eac_cli.rb +0 -7
  136. data/sub/eac_cli/spec/lib/eac_cli/definition/alternative_spec.rb +0 -18
  137. data/sub/eac_cli/spec/lib/eac_cli/old_configs_spec.rb +0 -14
  138. data/sub/eac_cli/spec/lib/eac_cli/parser/alternative_spec.rb +0 -140
  139. data/sub/eac_cli/spec/lib/eac_cli/runner_spec.rb +0 -129
  140. data/sub/eac_cli/spec/lib/eac_cli/runner_with/help_spec.rb +0 -51
  141. data/sub/eac_cli/spec/lib/eac_cli/runner_with/subcommands_spec.rb +0 -88
  142. data/sub/eac_cli/spec/lib/eac_cli/speaker_spec.rb +0 -32
  143. data/sub/eac_cli/spec/rubocop_spec.rb +0 -3
  144. data/sub/eac_cli/spec/spec_helper.rb +0 -4
  145. data/sub/eac_fs/Gemfile +0 -5
  146. data/sub/eac_fs/eac_fs.gemspec +0 -20
  147. data/sub/eac_fs/lib/eac_fs/cached_download.rb +0 -39
  148. data/sub/eac_fs/lib/eac_fs/contexts.rb +0 -21
  149. data/sub/eac_fs/lib/eac_fs/file_info.rb +0 -29
  150. data/sub/eac_fs/lib/eac_fs/logs/file.rb +0 -56
  151. data/sub/eac_fs/lib/eac_fs/logs.rb +0 -64
  152. data/sub/eac_fs/lib/eac_fs/patches/module/fs_cache.rb +0 -15
  153. data/sub/eac_fs/lib/eac_fs/patches/module.rb +0 -4
  154. data/sub/eac_fs/lib/eac_fs/patches/object/fs_cache.rb +0 -32
  155. data/sub/eac_fs/lib/eac_fs/patches/object.rb +0 -4
  156. data/sub/eac_fs/lib/eac_fs/patches/pathname/info.rb +0 -12
  157. data/sub/eac_fs/lib/eac_fs/patches/pathname.rb +0 -4
  158. data/sub/eac_fs/lib/eac_fs/patches.rb +0 -4
  159. data/sub/eac_fs/lib/eac_fs/storage_tree.rb +0 -62
  160. data/sub/eac_fs/lib/eac_fs/traversable.rb +0 -45
  161. data/sub/eac_fs/lib/eac_fs/traverser.rb +0 -76
  162. data/sub/eac_fs/lib/eac_fs/version.rb +0 -5
  163. data/sub/eac_fs/lib/eac_fs.rb +0 -7
  164. data/sub/eac_fs/spec/lib/eac_fs/storage_tree_spec.rb +0 -32
  165. data/sub/eac_fs/spec/rubocop_spec.rb +0 -3
  166. data/sub/eac_fs/spec/spec_helper.rb +0 -4
  167. data/sub/eac_ruby_utils/Gemfile +0 -16
  168. data/sub/eac_ruby_utils/MIT-LICENCE +0 -16
  169. data/sub/eac_ruby_utils/README.rdoc +0 -3
  170. data/sub/eac_ruby_utils/eac_ruby_utils.gemspec +0 -23
  171. data/sub/eac_ruby_utils/lib/eac_ruby_utils/abstract_methods.rb +0 -68
  172. data/sub/eac_ruby_utils/lib/eac_ruby_utils/arguments_consumer.rb +0 -81
  173. data/sub/eac_ruby_utils/lib/eac_ruby_utils/bit.rb +0 -46
  174. data/sub/eac_ruby_utils/lib/eac_ruby_utils/bit_array.rb +0 -81
  175. data/sub/eac_ruby_utils/lib/eac_ruby_utils/blank_not_blank.rb +0 -19
  176. data/sub/eac_ruby_utils/lib/eac_ruby_utils/boolean.rb +0 -31
  177. data/sub/eac_ruby_utils/lib/eac_ruby_utils/by_reference.rb +0 -23
  178. data/sub/eac_ruby_utils/lib/eac_ruby_utils/byte.rb +0 -105
  179. data/sub/eac_ruby_utils/lib/eac_ruby_utils/byte_array.rb +0 -36
  180. data/sub/eac_ruby_utils/lib/eac_ruby_utils/common_concern/class_setup.rb +0 -52
  181. data/sub/eac_ruby_utils/lib/eac_ruby_utils/common_concern/module_setup.rb +0 -41
  182. data/sub/eac_ruby_utils/lib/eac_ruby_utils/common_concern.rb +0 -20
  183. data/sub/eac_ruby_utils/lib/eac_ruby_utils/common_constructor/class_initialize.rb +0 -29
  184. data/sub/eac_ruby_utils/lib/eac_ruby_utils/common_constructor/instance_initialize.rb +0 -53
  185. data/sub/eac_ruby_utils/lib/eac_ruby_utils/common_constructor/super_args.rb +0 -54
  186. data/sub/eac_ruby_utils/lib/eac_ruby_utils/common_constructor.rb +0 -89
  187. data/sub/eac_ruby_utils/lib/eac_ruby_utils/compact.rb +0 -22
  188. data/sub/eac_ruby_utils/lib/eac_ruby_utils/compare_by.rb +0 -28
  189. data/sub/eac_ruby_utils/lib/eac_ruby_utils/context.rb +0 -33
  190. data/sub/eac_ruby_utils/lib/eac_ruby_utils/contextualizable.rb +0 -21
  191. data/sub/eac_ruby_utils/lib/eac_ruby_utils/core_ext.rb +0 -7
  192. data/sub/eac_ruby_utils/lib/eac_ruby_utils/custom_format.rb +0 -53
  193. data/sub/eac_ruby_utils/lib/eac_ruby_utils/enum.rb +0 -102
  194. data/sub/eac_ruby_utils/lib/eac_ruby_utils/envs/base_env.rb +0 -28
  195. data/sub/eac_ruby_utils/lib/eac_ruby_utils/envs/command/concat.rb +0 -33
  196. data/sub/eac_ruby_utils/lib/eac_ruby_utils/envs/command/envvars.rb +0 -24
  197. data/sub/eac_ruby_utils/lib/eac_ruby_utils/envs/command/extra_options.rb +0 -33
  198. data/sub/eac_ruby_utils/lib/eac_ruby_utils/envs/command.rb +0 -172
  199. data/sub/eac_ruby_utils/lib/eac_ruby_utils/envs/executable.rb +0 -81
  200. data/sub/eac_ruby_utils/lib/eac_ruby_utils/envs/file.rb +0 -22
  201. data/sub/eac_ruby_utils/lib/eac_ruby_utils/envs/local_env.rb +0 -17
  202. data/sub/eac_ruby_utils/lib/eac_ruby_utils/envs/process.rb +0 -27
  203. data/sub/eac_ruby_utils/lib/eac_ruby_utils/envs/spawn.rb +0 -32
  204. data/sub/eac_ruby_utils/lib/eac_ruby_utils/envs/ssh_env/dasho_options.rb +0 -53
  205. data/sub/eac_ruby_utils/lib/eac_ruby_utils/envs/ssh_env/identity_file.rb +0 -25
  206. data/sub/eac_ruby_utils/lib/eac_ruby_utils/envs/ssh_env/quiet.rb +0 -24
  207. data/sub/eac_ruby_utils/lib/eac_ruby_utils/envs/ssh_env/terminal.rb +0 -34
  208. data/sub/eac_ruby_utils/lib/eac_ruby_utils/envs/ssh_env.rb +0 -75
  209. data/sub/eac_ruby_utils/lib/eac_ruby_utils/envs.rb +0 -23
  210. data/sub/eac_ruby_utils/lib/eac_ruby_utils/fs/clearable_directory.rb +0 -57
  211. data/sub/eac_ruby_utils/lib/eac_ruby_utils/fs/extname.rb +0 -30
  212. data/sub/eac_ruby_utils/lib/eac_ruby_utils/fs/temp/directory.rb +0 -16
  213. data/sub/eac_ruby_utils/lib/eac_ruby_utils/fs/temp/file.rb +0 -34
  214. data/sub/eac_ruby_utils/lib/eac_ruby_utils/fs/temp.rb +0 -52
  215. data/sub/eac_ruby_utils/lib/eac_ruby_utils/fs.rb +0 -9
  216. data/sub/eac_ruby_utils/lib/eac_ruby_utils/gems_registry/gem.rb +0 -79
  217. data/sub/eac_ruby_utils/lib/eac_ruby_utils/gems_registry.rb +0 -35
  218. data/sub/eac_ruby_utils/lib/eac_ruby_utils/immutable/array_accessor.rb +0 -32
  219. data/sub/eac_ruby_utils/lib/eac_ruby_utils/immutable/base_accessor.rb +0 -23
  220. data/sub/eac_ruby_utils/lib/eac_ruby_utils/immutable/boolean_accessor.rb +0 -16
  221. data/sub/eac_ruby_utils/lib/eac_ruby_utils/immutable/class_methods.rb +0 -20
  222. data/sub/eac_ruby_utils/lib/eac_ruby_utils/immutable/common_accessor.rb +0 -30
  223. data/sub/eac_ruby_utils/lib/eac_ruby_utils/immutable/hash_accessor.rb +0 -46
  224. data/sub/eac_ruby_utils/lib/eac_ruby_utils/immutable/instance_methods.rb +0 -21
  225. data/sub/eac_ruby_utils/lib/eac_ruby_utils/immutable.rb +0 -15
  226. data/sub/eac_ruby_utils/lib/eac_ruby_utils/inflector.rb +0 -29
  227. data/sub/eac_ruby_utils/lib/eac_ruby_utils/listable/class_methods.rb +0 -14
  228. data/sub/eac_ruby_utils/lib/eac_ruby_utils/listable/instance_methods.rb +0 -30
  229. data/sub/eac_ruby_utils/lib/eac_ruby_utils/listable/integer_list.rb +0 -23
  230. data/sub/eac_ruby_utils/lib/eac_ruby_utils/listable/list.rb +0 -111
  231. data/sub/eac_ruby_utils/lib/eac_ruby_utils/listable/lists.rb +0 -59
  232. data/sub/eac_ruby_utils/lib/eac_ruby_utils/listable/string_list.rb +0 -19
  233. data/sub/eac_ruby_utils/lib/eac_ruby_utils/listable/symbol_list.rb +0 -19
  234. data/sub/eac_ruby_utils/lib/eac_ruby_utils/listable/value.rb +0 -49
  235. data/sub/eac_ruby_utils/lib/eac_ruby_utils/listable.rb +0 -17
  236. data/sub/eac_ruby_utils/lib/eac_ruby_utils/local_time_zone.rb +0 -48
  237. data/sub/eac_ruby_utils/lib/eac_ruby_utils/locales/from_all_gems.rb +0 -4
  238. data/sub/eac_ruby_utils/lib/eac_ruby_utils/locales/from_gem.rb +0 -47
  239. data/sub/eac_ruby_utils/lib/eac_ruby_utils/locales/module_i18n_translate.rb +0 -74
  240. data/sub/eac_ruby_utils/lib/eac_ruby_utils/locales.rb +0 -9
  241. data/sub/eac_ruby_utils/lib/eac_ruby_utils/method_class.rb +0 -35
  242. data/sub/eac_ruby_utils/lib/eac_ruby_utils/options_consumer.rb +0 -62
  243. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patch.rb +0 -11
  244. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/class/abstract.rb +0 -9
  245. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/class/common_constructor.rb +0 -9
  246. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/class/self_included_modules.rb +0 -7
  247. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/class/settings_provider.rb +0 -10
  248. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/class.rb +0 -4
  249. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/enumerable/boolean_combinations.rb +0 -45
  250. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/enumerable.rb +0 -4
  251. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/enumerator/current.rb +0 -9
  252. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/enumerator/stopped.rb +0 -14
  253. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/enumerator.rb +0 -4
  254. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/hash/options_consumer.rb +0 -10
  255. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/hash/sym_keys_hash.rb +0 -10
  256. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/hash/to_struct.rb +0 -10
  257. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/hash.rb +0 -5
  258. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/kernel/nyi.rb +0 -10
  259. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/kernel.rb +0 -4
  260. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/module/abstract_methods.rb +0 -10
  261. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/module/common_concern.rb +0 -9
  262. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/module/compare_by.rb +0 -9
  263. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/module/context.rb +0 -11
  264. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/module/i18n_translate.rb +0 -9
  265. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/module/immutable.rb +0 -10
  266. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/module/listable.rb +0 -10
  267. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/module/method_class.rb +0 -9
  268. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/module/patch.rb +0 -9
  269. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/module/require_sub.rb +0 -9
  270. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/module/simple_cache.rb +0 -10
  271. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/module/speaker.rb +0 -9
  272. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/module.rb +0 -4
  273. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/object/asserts.rb +0 -25
  274. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/object/call_if_proc.rb +0 -11
  275. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/object/compact.rb +0 -20
  276. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/object/debug.rb +0 -23
  277. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/object/i18n_translate.rb +0 -13
  278. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/object/if_nil.rb +0 -17
  279. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/object/if_present.rb +0 -19
  280. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/object/if_respond.rb +0 -22
  281. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/object/to_pathname.rb +0 -15
  282. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/object/to_uri.rb +0 -15
  283. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/object.rb +0 -5
  284. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/pathname/basename_noext.rb +0 -10
  285. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/pathname/basename_sub.rb +0 -9
  286. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/pathname/if_exist.rb +0 -10
  287. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/pathname/mkpath_s.rb +0 -12
  288. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/pathname/parent_n.rb +0 -11
  289. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/pathname/readlink_r.rb +0 -11
  290. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/pathname/reqdir_glob.rb +0 -13
  291. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/pathname.rb +0 -4
  292. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/regexp/if_match.rb +0 -16
  293. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/regexp/to_parser.rb +0 -10
  294. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/regexp.rb +0 -4
  295. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/string/delimited.rb +0 -16
  296. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/string/inflector.rb +0 -11
  297. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/string.rb +0 -4
  298. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/time/required_zone.rb +0 -11
  299. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/time.rb +0 -4
  300. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches.rb +0 -4
  301. data/sub/eac_ruby_utils/lib/eac_ruby_utils/recursive_builder.rb +0 -51
  302. data/sub/eac_ruby_utils/lib/eac_ruby_utils/regexp_parser.rb +0 -34
  303. data/sub/eac_ruby_utils/lib/eac_ruby_utils/require_sub.rb +0 -134
  304. data/sub/eac_ruby_utils/lib/eac_ruby_utils/rspec/default_setup.rb +0 -20
  305. data/sub/eac_ruby_utils/lib/eac_ruby_utils/rspec/setup/conditionals.rb +0 -17
  306. data/sub/eac_ruby_utils/lib/eac_ruby_utils/rspec/setup.rb +0 -12
  307. data/sub/eac_ruby_utils/lib/eac_ruby_utils/rspec/setup_manager.rb +0 -49
  308. data/sub/eac_ruby_utils/lib/eac_ruby_utils/rspec/stub_speaker.rb +0 -39
  309. data/sub/eac_ruby_utils/lib/eac_ruby_utils/rspec.rb +0 -9
  310. data/sub/eac_ruby_utils/lib/eac_ruby_utils/ruby/command.rb +0 -32
  311. data/sub/eac_ruby_utils/lib/eac_ruby_utils/ruby/on_clean_environment.rb +0 -26
  312. data/sub/eac_ruby_utils/lib/eac_ruby_utils/ruby.rb +0 -9
  313. data/sub/eac_ruby_utils/lib/eac_ruby_utils/settings_provider/setting_value.rb +0 -69
  314. data/sub/eac_ruby_utils/lib/eac_ruby_utils/settings_provider.rb +0 -46
  315. data/sub/eac_ruby_utils/lib/eac_ruby_utils/simple_cache.rb +0 -77
  316. data/sub/eac_ruby_utils/lib/eac_ruby_utils/speaker/receiver.rb +0 -64
  317. data/sub/eac_ruby_utils/lib/eac_ruby_utils/speaker/sender.rb +0 -32
  318. data/sub/eac_ruby_utils/lib/eac_ruby_utils/speaker.rb +0 -16
  319. data/sub/eac_ruby_utils/lib/eac_ruby_utils/string_delimited.rb +0 -70
  320. data/sub/eac_ruby_utils/lib/eac_ruby_utils/struct.rb +0 -63
  321. data/sub/eac_ruby_utils/lib/eac_ruby_utils/version.rb +0 -5
  322. data/sub/eac_ruby_utils/lib/eac_ruby_utils/yaml.rb +0 -105
  323. data/sub/eac_ruby_utils/lib/eac_ruby_utils.rb +0 -6
  324. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/abstract_methods_spec.rb +0 -28
  325. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/arguments_consumer_spec.rb +0 -17
  326. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/bit_array_spec.rb +0 -22
  327. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/blank_not_blank_spec.rb +0 -16
  328. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/byte_spec.rb +0 -54
  329. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/common_concern_spec.rb +0 -65
  330. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/common_constructor_spec.rb +0 -125
  331. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/compact_spec.rb +0 -20
  332. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/compare_by_spec.rb +0 -38
  333. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/custom_format_spec.rb +0 -60
  334. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/enum_spec.rb +0 -43
  335. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/envs/executable_spec.rb +0 -37
  336. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/envs/ssh_env_spec.rb +0 -25
  337. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/fs/extname_spec.rb +0 -18
  338. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/fs/temp/directory_spec.rb +0 -12
  339. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/fs/temp_spec.rb +0 -52
  340. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/inflector_spec.rb +0 -16
  341. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/listable_spec.rb +0 -275
  342. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/local_time_zone_spec.rb +0 -17
  343. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/method_class_spec.rb +0 -46
  344. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/options_consumer_spec.rb +0 -80
  345. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/class/abstract_spec.rb +0 -25
  346. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/class/self_included_modules_spec.rb +0 -30
  347. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/enumerable/boolean_combinations_spec.rb +0 -39
  348. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/enumerator/current_spec.rb +0 -26
  349. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/enumerator/stopped_spec.rb +0 -32
  350. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/hash/options_consumer_spec.rb +0 -17
  351. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/hash/sym_keys_hash_spec.rb +0 -13
  352. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/module/compare_by_spec.rb +0 -36
  353. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/module/listable_spec.rb +0 -15
  354. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/module/method_class_spec.rb +0 -20
  355. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/module/simple_cache_spec.rb +0 -15
  356. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/module/speaker_spec.rb +0 -13
  357. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/object/call_if_proc_spec.rb +0 -11
  358. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/object/compact_spec.rb +0 -20
  359. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/object/if_present_spec.rb +0 -13
  360. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/object/template_spec_files/path/my_stub_with_template +0 -1
  361. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/pathname/basename_noext_spec.rb +0 -26
  362. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/pathname/basename_sub_spec.rb +0 -17
  363. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/pathname/parent_n_spec.rb +0 -33
  364. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/string/delimited_spec.rb +0 -34
  365. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/recursive_builder_spec.rb +0 -65
  366. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/require_sub_spec/stubbed_module_a.rb +0 -6
  367. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/require_sub_spec/stubbed_not_module.rb +0 -6
  368. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/require_sub_spec.rb +0 -19
  369. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/ruby_spec.rb +0 -22
  370. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/settings_provider_spec.rb +0 -57
  371. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/simple_cache_spec.rb +0 -129
  372. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/struct_spec.rb +0 -57
  373. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/yaml_spec.rb +0 -75
  374. data/sub/eac_ruby_utils/spec/locales/pt-BR.yml +0 -58
  375. data/sub/eac_ruby_utils/spec/rubocop_check_spec.rb +0 -3
  376. data/sub/eac_ruby_utils/spec/spec_helper.rb +0 -15
@@ -1,49 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_cli/definition'
4
- require 'eac_cli/parser'
5
- require 'eac_ruby_utils/core_ext'
6
-
7
- module EacCli
8
- module Runner
9
- require_sub __FILE__
10
- extend ::ActiveSupport::Concern
11
-
12
- class << self
13
- def alias_runner_class_methods(klass, from_suffix, to_suffix)
14
- %i[create run].each do |method|
15
- alias_class_method(klass, build_method_name(method, from_suffix),
16
- build_method_name(method, to_suffix))
17
- end
18
- end
19
-
20
- def runner?(object)
21
- object.is_a?(::Class) && object.included_modules.include?(::EacCli::Runner)
22
- end
23
-
24
- private
25
-
26
- def alias_class_method(klass, from, to)
27
- sklass = klass.singleton_class
28
- return unless sklass.method_defined?(from)
29
-
30
- sklass.send(:alias_method, to, from)
31
- end
32
-
33
- def build_method_name(name, suffix)
34
- ss = suffix.if_present('') { |s| "#{s}_" }
35
- "#{ss}#{name}"
36
- end
37
- end
38
-
39
- the_module = self
40
- included do
41
- the_module.alias_runner_class_methods(self, '', 'original')
42
-
43
- extend AfterClassMethods
44
- include InstanceMethods
45
- include ActiveSupport::Callbacks
46
- define_callbacks :run
47
- end
48
- end
49
- end
@@ -1,63 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_ruby_utils/core_ext'
4
-
5
- module EacCli
6
- module RunnerWith
7
- module Help
8
- class Builder
9
- class Alternative
10
- enable_method_class
11
-
12
- SUBCOMMANDS_MACRO = '__SUBCOMMANDS__'
13
-
14
- common_constructor :builder, :alternative
15
-
16
- def result
17
- (
18
- program_name +
19
- alternative.options_argument?.if_present([]) { |_v| ['[options]'] } +
20
- options +
21
- positionals
22
- ).join(builder.word_separator)
23
- end
24
-
25
- def options
26
- alternative.options.select(&:show_on_usage?).map do |option|
27
- ::EacCli::RunnerWith::Help::Builder.option_long(option)
28
- end
29
- end
30
-
31
- def option_argument(option)
32
- b = option.long
33
- b += '=<value>' if option.argument?
34
- b
35
- end
36
-
37
- def positionals
38
- alternative.positional.map { |p| positional(p) }.reject(&:blank?)
39
- end
40
-
41
- def positional(positional)
42
- return unless positional.visible?
43
-
44
- if positional.subcommand?
45
- SUBCOMMANDS_MACRO
46
- else
47
- r = "<#{positional.name}>"
48
- r += '...' if positional.repeat?
49
- r = "[#{r}]" if positional.optional?
50
- r
51
- end
52
- end
53
-
54
- def program_name
55
- r = builder.runner.program_name
56
- r = [r] unless r.is_a?(::Enumerable)
57
- r
58
- end
59
- end
60
- end
61
- end
62
- end
63
- end
@@ -1,82 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_ruby_utils/core_ext'
4
-
5
- module EacCli
6
- module RunnerWith
7
- module Help
8
- class Builder
9
- require_sub __FILE__, require_dependency: true
10
- common_constructor :runner
11
-
12
- SEP = ' '
13
- IDENT = SEP * 2
14
- OPTION_DESC_SEP = IDENT * 2
15
-
16
- class << self
17
- def option_long(option)
18
- b = option.long
19
- b += '=<value>' if option.argument?
20
- b
21
- end
22
-
23
- def option_short(option)
24
- b = option.short
25
- b += '=<value>' if option.argument?
26
- b
27
- end
28
-
29
- def option_usage_full(option)
30
- if option.long.present?
31
- [option.short, option_long(option)].reject(&:blank?).join(word_separator)
32
- else
33
- option_short(option)
34
- end
35
- end
36
-
37
- def word_separator
38
- SEP
39
- end
40
- end
41
-
42
- delegate :word_separator, to: :class
43
-
44
- def definition
45
- runner.class.runner_definition
46
- end
47
-
48
- def option_definition(option)
49
- [self.class.option_usage_full(option), option.description,
50
- option.default_value? ? "[Default: \"#{option.default_value}\"]" : nil]
51
- .reject(&:blank?).join(OPTION_DESC_SEP)
52
- end
53
-
54
- def section(header, include_header = true)
55
- b = include_header ? "#{header.humanize}:\n" : ''
56
- b += send("self_#{header}") + "\n"
57
- definition.alternatives.each do |alternative|
58
- b += IDENT + self.alternative(alternative) + "\n"
59
- end
60
- b
61
- end
62
-
63
- def options_section
64
- "Options:\n" +
65
- definition.alternatives.flat_map(&:options)
66
- .map { |option| IDENT + option_definition(option) + "\n" }.join
67
- end
68
-
69
- def usage_section
70
- "Usage:\n" +
71
- definition.alternatives.map do |alternative|
72
- IDENT + self.alternative(alternative) + "\n"
73
- end.join
74
- end
75
-
76
- def to_s
77
- "#{definition.description}\n\n#{usage_section}\n#{options_section}\n"
78
- end
79
- end
80
- end
81
- end
82
- end
@@ -1,41 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_cli/runner'
4
- require 'eac_ruby_utils/core_ext'
5
-
6
- module EacCli
7
- module RunnerWith
8
- module Help
9
- require_sub __FILE__, require_dependency: true
10
- common_concern do
11
- include ::EacCli::Runner
12
-
13
- runner_definition.alt do
14
- bool_opt '-h', '--help', 'Show help.', usage: true, required: true
15
- pos_arg :any_arg_with_help, repeat: true, optional: true, visible: false
16
- end
17
-
18
- set_callback :run, :before do
19
- help_run
20
- end
21
- end
22
-
23
- def help_run
24
- return unless show_help?
25
-
26
- puts help_text
27
- raise ::EacCli::Runner::Exit
28
- end
29
-
30
- def help_text
31
- r = ::EacCli::RunnerWith::Help::Builder.new(self).to_s
32
- r += help_extra_text if respond_to?(:help_extra_text)
33
- r
34
- end
35
-
36
- def show_help?
37
- parsed.help? && !if_respond(:run_subcommand?, false)
38
- end
39
- end
40
- end
41
- end
@@ -1,10 +0,0 @@
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
@@ -1,119 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_cli/runner'
4
- require 'eac_ruby_utils/core_ext'
5
-
6
- module EacCli
7
- module RunnerWith
8
- module Subcommands
9
- require_sub __FILE__
10
-
11
- class << self
12
- def runner?(object)
13
- ::EacCli::Runner.runner?(object)
14
- end
15
- end
16
-
17
- common_concern do
18
- include ::EacCli::Runner
19
- runner_definition.singleton_class
20
- .include(::EacCli::RunnerWith::Subcommands::DefinitionConcern)
21
- end
22
-
23
- EXTRA_AVAILABLE_SUBCOMMANDS_METHOD_NAME = :extra_available_subcommands
24
-
25
- def available_subcommands
26
- @available_subcommands ||= available_subcommands_auto.merge(available_subcommands_extra)
27
- end
28
-
29
- def available_subcommands_auto
30
- self.class.constants
31
- .map { |name| [name.to_s.underscore.gsub('_', '-'), self.class.const_get(name)] }
32
- .select { |c| ::EacCli::RunnerWith::Subcommands.runner?(c[1]) }
33
- .to_h.with_indifferent_access
34
- end
35
-
36
- def available_subcommands_extra
37
- if respond_to?(EXTRA_AVAILABLE_SUBCOMMANDS_METHOD_NAME, true)
38
- send(EXTRA_AVAILABLE_SUBCOMMANDS_METHOD_NAME)
39
- else
40
- {}
41
- end
42
- end
43
-
44
- def help_extra_text
45
- (['Subcommands:'] + available_subcommands.keys.sort.map { |s| " #{s}" })
46
- .map { |v| "#{v}\n" }.join
47
- end
48
-
49
- def method_missing(method_name, *arguments, &block)
50
- return run_with_subcommand(*arguments, &block) if
51
- run_with_subcommand_alias_run?(method_name)
52
-
53
- super
54
- end
55
-
56
- def respond_to_missing?(method_name, include_private = false)
57
- run_with_subcommand_alias_run?(method_name) || super
58
- end
59
-
60
- def run_with_subcommand
61
- if run_subcommand?
62
- if subcommand_runner.respond_to?(:run_run)
63
- subcommand_runner.run_run
64
- else
65
- subcommand_runner.run
66
- end
67
- else
68
- run_without_subcommand
69
- end
70
- end
71
-
72
- def run_with_subcommand_alias_run?(method_name)
73
- subcommands? && method_name.to_sym == :run
74
- end
75
-
76
- def run_without_subcommand
77
- "Method #{__method__} should be overrided in #{self.class.name}"
78
- end
79
-
80
- def run_subcommand?
81
- subcommand_name.present?
82
- end
83
-
84
- def subcommands?
85
- self.class.runner_definition.subcommands?
86
- end
87
-
88
- def subcommand_args
89
- parsed.fetch(::EacCli::Definition::SUBCOMMAND_ARGS_ARG)
90
- end
91
-
92
- def subcommand_class
93
- available_subcommands[subcommand_name].if_present { |v| return v }
94
-
95
- raise(::EacCli::Parser::Error.new(
96
- self.class.runner_definition, runner_context.argv,
97
- "Subcommand \"#{subcommand_name}\" not found " \
98
- "(Available: #{available_subcommands.keys})"
99
- ))
100
- end
101
-
102
- def subcommand_name
103
- parsed.fetch(::EacCli::Definition::SUBCOMMAND_NAME_ARG)
104
- end
105
-
106
- def subcommand_program
107
- [program_name, subcommand_name]
108
- end
109
-
110
- def subcommand_runner
111
- @subcommand_runner ||= subcommand_class.create(
112
- argv: subcommand_args,
113
- program_name: subcommand_program,
114
- parent: self
115
- )
116
- end
117
- end
118
- end
119
- end
@@ -1,9 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_ruby_utils/core_ext'
4
-
5
- module EacCli
6
- module RunnerWith
7
- require_sub __FILE__
8
- end
9
- end
@@ -1,50 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module EacCli
4
- class RunnerWithSet
5
- class << self
6
- def default
7
- @default ||= new
8
- end
9
- end
10
-
11
- def add_namespace(namespace)
12
- namespace = sanitize_namespace(namespace)
13
- raise "\"#{namespace}\" already was included" if namespace_set.include?(namespace)
14
-
15
- namespace_set << namespace
16
- self
17
- end
18
-
19
- def item_to_module(item)
20
- item.is_a?(::Module) ? item : key_to_module(item)
21
- end
22
-
23
- def namespaces
24
- namespace_set.dup
25
- end
26
-
27
- private
28
-
29
- def namespace_set
30
- @namespace_set ||= ::Array.new
31
- end
32
-
33
- def key_to_module(key)
34
- namespace_set.lazy
35
- .map { |namespace| key_to_module_in_namespace(namespace, key) }
36
- .find(&:present?) ||
37
- raise("Not module found with key \"#{key}\" (Namespaces: #{namespace_set})")
38
- end
39
-
40
- def key_to_module_in_namespace(namespace, key)
41
- namespace.const_get(key.to_s.camelize)
42
- rescue ::NameError
43
- nil
44
- end
45
-
46
- def sanitize_namespace(source)
47
- source.is_a?(::Module) ? source : source.to_s.constantize
48
- end
49
- end
50
- end
@@ -1,13 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_ruby_utils/by_reference'
4
-
5
- module EacCli
6
- class Speaker
7
- module Constants
8
- STDERR = ::EacRubyUtils::ByReference.new { $stderr }
9
- STDIN = ::EacRubyUtils::ByReference.new { $stdin }
10
- STDOUT = ::EacRubyUtils::ByReference.new { $stdout }
11
- end
12
- end
13
- end
@@ -1,61 +0,0 @@
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
- class << self
10
- def build(list)
11
- return List.new(hash_to_values(list)) if list.is_a?(::Hash)
12
- return List.new(array_to_values(list)) if list.is_a?(::Array)
13
-
14
- raise "Invalid list: #{list} (#{list.class})"
15
- end
16
-
17
- private
18
-
19
- def hash_to_values(list)
20
- list.map { |key, value| ::OpenStruct.new(key: key, label: key, value: value) }
21
- end
22
-
23
- def array_to_values(list)
24
- list.map { |value| ::OpenStruct.new(key: value, label: value, value: value) }
25
- end
26
- end
27
-
28
- attr_reader :values
29
-
30
- def initialize(values)
31
- @values = values.map do |v|
32
- ::OpenStruct.new(key: to_key(v.key), label: to_label(v.label), value: v.value)
33
- end
34
- end
35
-
36
- def valid_labels
37
- values.map(&:label)
38
- end
39
-
40
- def valid_value?(value)
41
- values.any? { |v| v.key == to_key(value) }
42
- end
43
-
44
- def to_key(value)
45
- to_label(value).downcase
46
- end
47
-
48
- def to_label(value)
49
- value.to_s.strip
50
- end
51
-
52
- def build_value(value)
53
- key = to_key(value)
54
- values.each do |v| # rubocop:disable Style/HashEachMethods
55
- return v.value if v.key == key
56
- end
57
- raise "Value not found: \"#{value}\" (#{values})"
58
- end
59
- end
60
- end
61
- end
@@ -1,38 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_ruby_utils/core_ext'
4
-
5
- module EacCli
6
- class Speaker
7
- module Options
8
- common_concern do
9
- enable_listable
10
- lists.add_symbol :option, :out_out, :err_out, :in_in, :parent, :err_line_prefix
11
- end
12
-
13
- def err_out
14
- option(OPTION_ERR_OUT, ::EacCli::Speaker::STDERR)
15
- end
16
-
17
- def out_out
18
- option(OPTION_OUT_OUT, ::EacCli::Speaker::STDOUT)
19
- end
20
-
21
- def in_in
22
- option(OPTION_IN_IN, ::EacCli::Speaker::STDIN)
23
- end
24
-
25
- def err_line_prefix
26
- option(OPTION_ERR_LINE_PREFIX, '')
27
- end
28
-
29
- def parent
30
- options[OPTION_PARENT]
31
- end
32
-
33
- def option(key, default)
34
- options[key] || parent.if_present(default) { |v| v.send(__METHOD__) }
35
- end
36
- end
37
- end
38
- end
@@ -1,126 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'colorize'
4
- require 'eac_ruby_utils/core_ext'
5
- require 'eac_ruby_utils/speaker/receiver'
6
-
7
- module EacCli
8
- class Speaker
9
- require_sub __FILE__, include_modules: true
10
- include ::EacRubyUtils::Speaker::Receiver
11
-
12
- common_constructor :options, default: [{}] do
13
- self.options = self.class.lists.option.hash_keys_validate!(options)
14
- end
15
-
16
- def puts(string = '')
17
- string.to_s.each_line do |line|
18
- err_out.puts(err_line_prefix.to_s + line)
19
- end
20
- end
21
-
22
- def out(string = '')
23
- out_out.write(string.to_s)
24
- end
25
-
26
- def error(string)
27
- puts "ERROR: #{string}".white.on_red
28
- end
29
-
30
- def title(string)
31
- string = string.to_s
32
- puts(('-' * (8 + string.length)).green)
33
- puts("--- #{string} ---".green)
34
- puts(('-' * (8 + string.length)).green)
35
- puts
36
- end
37
-
38
- def info(string)
39
- puts string.to_s.white
40
- end
41
-
42
- def infom(string)
43
- puts string.to_s.light_yellow
44
- end
45
-
46
- def warn(string)
47
- puts string.to_s.yellow
48
- end
49
-
50
- # Options:
51
- # +bool+ ([Boolean], default: +false+): requires a answer "yes" or "no".
52
- # +list+ ([Hash] or [Array], default: +nil+): requires a answer from a list.
53
- # +noecho+ ([Boolean], default: +false+): does not output answer.
54
- def input(question, options = {})
55
- bool, list, noecho = options.to_options_consumer.consume_all(:bool, :list, :noecho)
56
- if list
57
- request_from_list(question, list, noecho)
58
- elsif bool
59
- request_from_bool(question, noecho)
60
- else
61
- request_string(question, noecho)
62
- end
63
- end
64
-
65
- def infov(*args)
66
- r = []
67
- args.each_with_index do |v, i|
68
- if i.even?
69
- r << "#{v}: ".cyan
70
- else
71
- r.last << v.to_s
72
- end
73
- end
74
- puts r.join(', ')
75
- end
76
-
77
- def success(string)
78
- puts string.to_s.green
79
- end
80
-
81
- private
82
-
83
- def list_value(list, input)
84
- values = list_values(list)
85
- return input, true unless values
86
- return input, false unless values.include?(input)
87
- end
88
-
89
- def list_values(list)
90
- if list.is_a?(::Hash)
91
- list.keys.map(&:to_s)
92
- elsif list.is_a?(::Array)
93
- list.map(&:to_s)
94
- end
95
- end
96
-
97
- def request_from_bool(question, noecho)
98
- request_from_list(question, { yes: true, y: true, no: false, n: false }, noecho)
99
- end
100
-
101
- def request_from_list(question, list, noecho)
102
- list = ::EacCli::Speaker::List.build(list)
103
- loop do
104
- input = request_string("#{question} [#{list.valid_labels.join('/')}]", noecho)
105
- return list.build_value(input) if list.valid_value?(input)
106
-
107
- warn "Invalid input: \"#{input}\" (Valid: #{list.valid_labels.join(', ')})"
108
- end
109
- end
110
-
111
- def request_string(question, noecho)
112
- err_out.write "#{question}: ".to_s.yellow
113
- noecho ? request_string_noecho : request_string_echo
114
- end
115
-
116
- def request_string_noecho
117
- r = in_in.noecho(&:gets).chomp.strip
118
- err_out.write("\n")
119
- r
120
- end
121
-
122
- def request_string_echo
123
- in_in.gets.chomp.strip
124
- end
125
- end
126
- end
@@ -1,5 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module EacCli
4
- VERSION = '0.27.5'
5
- end
@@ -1,7 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_ruby_utils/core_ext'
4
-
5
- module EacCli
6
- require_sub __FILE__
7
- end
@@ -1,18 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_cli/definition/alternative'
4
-
5
- RSpec.describe ::EacCli::Definition::Alternative do
6
- let(:instance) { described_class.new }
7
-
8
- it { expect { instance.arg_opt '-a', '--opt2', 'A argument option' }.not_to raise_error }
9
- it { expect { instance.bool_opt '-b', '--opt1', 'A boolean option' }.not_to raise_error }
10
- it { expect { instance.bool_opt '-b', '--no-description' }.not_to raise_error }
11
- it { expect { instance.bool_opt '--opt1', 'A option without short' }.not_to raise_error }
12
- it { expect { instance.bool_opt '-b', 'A option without long' }.not_to raise_error }
13
- it { expect { instance.bool_opt 'A option without selectors' }.to raise_error(::StandardError) }
14
- it { expect { instance.options_argument(true) }.not_to raise_error }
15
- it { expect { instance.pos_arg :pos1 }.not_to raise_error }
16
- it { expect { instance.pos_arg :pos2, optional: true, repeat: true }.not_to raise_error }
17
- it { expect { instance.subcommands }.not_to raise_error }
18
- end