eac_tools 0.113.0 → 0.113.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 (513) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +45 -39
  3. data/eac_tools.gemspec +3 -3
  4. data/lib/eac_tools/version.rb +1 -1
  5. data/sub/avm/Gemfile +8 -0
  6. data/sub/avm/avm.gemspec +28 -0
  7. data/sub/avm/lib/avm/application_scms/base.rb +37 -0
  8. data/sub/avm/lib/avm/application_stereotypes/base.rb +29 -0
  9. data/sub/avm/lib/avm/applications/base/auto_local_source_path.rb +22 -0
  10. data/sub/avm/lib/avm/applications/base/local_instance.rb +28 -0
  11. data/sub/avm/lib/avm/applications/base/local_source.rb +31 -0
  12. data/sub/avm/lib/avm/applications/base/naming.rb +26 -0
  13. data/sub/avm/lib/avm/applications/base/organization.rb +27 -0
  14. data/sub/avm/lib/avm/applications/base/publishing.rb +39 -0
  15. data/sub/avm/lib/avm/applications/base/scm.rb +24 -0
  16. data/sub/avm/lib/avm/applications/base/stereotype.rb +29 -0
  17. data/sub/avm/lib/avm/applications/base.rb +34 -0
  18. data/sub/avm/lib/avm/data/callbacks.rb +36 -0
  19. data/sub/avm/lib/avm/data/clearer.rb +17 -0
  20. data/sub/avm/lib/avm/data/dumper.rb +137 -0
  21. data/sub/avm/lib/avm/data/loader.rb +23 -0
  22. data/sub/avm/lib/avm/data/package/base_performer.rb +36 -0
  23. data/sub/avm/lib/avm/data/package/build_directory.rb +25 -0
  24. data/sub/avm/lib/avm/data/package/clear.rb +19 -0
  25. data/sub/avm/lib/avm/data/package/dump.rb +42 -0
  26. data/sub/avm/lib/avm/data/package/load.rb +33 -0
  27. data/sub/avm/lib/avm/data/package.rb +64 -0
  28. data/sub/avm/lib/avm/data/performer.rb +45 -0
  29. data/sub/avm/lib/avm/data/rotate.rb +106 -0
  30. data/sub/avm/lib/avm/data/unit.rb +44 -0
  31. data/sub/avm/lib/avm/data/unit_with_commands.rb +48 -0
  32. data/sub/avm/lib/avm/docker/container.rb +47 -0
  33. data/sub/avm/lib/avm/docker/image.rb +70 -0
  34. data/sub/avm/lib/avm/docker/runner.rb +129 -0
  35. data/sub/avm/lib/avm/entries/auto_values/entry.rb +36 -0
  36. data/sub/avm/lib/avm/entries/auto_values/uri_entry.rb +21 -0
  37. data/sub/avm/lib/avm/entries/base/inherited_entry_value.rb +42 -0
  38. data/sub/avm/lib/avm/entries/base/uri_component_entry_value/default_value.rb +24 -0
  39. data/sub/avm/lib/avm/entries/base/uri_component_entry_value/inherited_value.rb +35 -0
  40. data/sub/avm/lib/avm/entries/base/uri_component_entry_value/url_entry_value.rb +27 -0
  41. data/sub/avm/lib/avm/entries/base/uri_component_entry_value.rb +40 -0
  42. data/sub/avm/lib/avm/entries/base/uri_components_entries_values/component_factory.rb +40 -0
  43. data/sub/avm/lib/avm/entries/base/uri_components_entries_values/generic_component.rb +59 -0
  44. data/sub/avm/lib/avm/entries/base/uri_components_entries_values/path_component.rb +16 -0
  45. data/sub/avm/lib/avm/entries/base/uri_components_entries_values/url_component.rb +22 -0
  46. data/sub/avm/lib/avm/entries/base/uri_components_entries_values.rb +23 -0
  47. data/sub/avm/lib/avm/entries/base.rb +53 -0
  48. data/sub/avm/lib/avm/entries/entry/no_context_entry.rb +21 -0
  49. data/sub/avm/lib/avm/entries/entry.rb +69 -0
  50. data/sub/avm/lib/avm/entries/jobs/base.rb +58 -0
  51. data/sub/avm/lib/avm/entries/jobs/variables_source/read_entry.rb +48 -0
  52. data/sub/avm/lib/avm/entries/jobs/variables_source.rb +13 -0
  53. data/sub/avm/lib/avm/entries/jobs/with_variables_source.rb +13 -0
  54. data/sub/avm/lib/avm/entries/keys_constants_set.rb +41 -0
  55. data/sub/avm/lib/avm/entries/uri_builder.rb +87 -0
  56. data/sub/avm/lib/avm/executables.rb +21 -0
  57. data/sub/avm/lib/avm/file_formats/base.rb +34 -0
  58. data/sub/avm/lib/avm/file_formats/file_result.rb +11 -0
  59. data/sub/avm/lib/avm/file_formats/search_formatter.rb +83 -0
  60. data/sub/avm/lib/avm/file_formats/unknown.rb +15 -0
  61. data/sub/avm/lib/avm/file_formats/utf8_assert.rb +72 -0
  62. data/sub/avm/lib/avm/files/appendable/file_content.rb +28 -0
  63. data/sub/avm/lib/avm/files/appendable/plain_directory.rb +27 -0
  64. data/sub/avm/lib/avm/files/appendable/resource_base.rb +17 -0
  65. data/sub/avm/lib/avm/files/appendable/tar_output_command.rb +27 -0
  66. data/sub/avm/lib/avm/files/appendable/templatized_directory.rb +36 -0
  67. data/sub/avm/lib/avm/files/appendable.rb +51 -0
  68. data/sub/avm/lib/avm/files/appender.rb +9 -0
  69. data/sub/avm/lib/avm/files/deploy.rb +70 -0
  70. data/sub/avm/lib/avm/files/text_replacer/gsub.rb +22 -0
  71. data/sub/avm/lib/avm/files/text_replacer.rb +29 -0
  72. data/sub/avm/lib/avm/instances/base/auto_values/data.rb +28 -0
  73. data/sub/avm/lib/avm/instances/base/auto_values/database.rb +60 -0
  74. data/sub/avm/lib/avm/instances/base/auto_values/mailer.rb +31 -0
  75. data/sub/avm/lib/avm/instances/base/auto_values/source.rb +16 -0
  76. data/sub/avm/lib/avm/instances/base/auto_values.rb +12 -0
  77. data/sub/avm/lib/avm/instances/base/dockerizable.rb +41 -0
  78. data/sub/avm/lib/avm/instances/base/entry_keys.rb +25 -0
  79. data/sub/avm/lib/avm/instances/base/install.rb +28 -0
  80. data/sub/avm/lib/avm/instances/base/processes.rb +25 -0
  81. data/sub/avm/lib/avm/instances/base/production.rb +33 -0
  82. data/sub/avm/lib/avm/instances/base/subcommand_parent.rb +23 -0
  83. data/sub/avm/lib/avm/instances/base/web.rb +15 -0
  84. data/sub/avm/lib/avm/instances/base.rb +70 -0
  85. data/sub/avm/lib/avm/instances/data/files_unit.rb +57 -0
  86. data/sub/avm/lib/avm/instances/data/loading_denied_error.rb +10 -0
  87. data/sub/avm/lib/avm/instances/data/package.rb +25 -0
  88. data/sub/avm/lib/avm/instances/data/unit.rb +36 -0
  89. data/sub/avm/lib/avm/instances/docker_image.rb +13 -0
  90. data/sub/avm/lib/avm/instances/entry_keys.rb +39 -0
  91. data/sub/avm/lib/avm/instances/ids.rb +28 -0
  92. data/sub/avm/lib/avm/instances/process.rb +29 -0
  93. data/sub/avm/lib/avm/instances/runner.rb +34 -0
  94. data/sub/avm/lib/avm/launcher/context/instance_collector.rb +44 -0
  95. data/sub/avm/lib/avm/launcher/context/instance_discovery/root_instance_paths.rb +51 -0
  96. data/sub/avm/lib/avm/launcher/context/instance_discovery.rb +53 -0
  97. data/sub/avm/lib/avm/launcher/context/instance_manager/cached_instance.rb +34 -0
  98. data/sub/avm/lib/avm/launcher/context/instance_manager/cached_instances.rb +32 -0
  99. data/sub/avm/lib/avm/launcher/context/instance_manager.rb +74 -0
  100. data/sub/avm/lib/avm/launcher/context/settings.rb +51 -0
  101. data/sub/avm/lib/avm/launcher/context.rb +83 -0
  102. data/sub/avm/lib/avm/launcher/errors/base.rb +10 -0
  103. data/sub/avm/lib/avm/launcher/errors/non_project.rb +13 -0
  104. data/sub/avm/lib/avm/launcher/instances/base/cache.rb +43 -0
  105. data/sub/avm/lib/avm/launcher/instances/base/publishing.rb +53 -0
  106. data/sub/avm/lib/avm/launcher/instances/base.rb +77 -0
  107. data/sub/avm/lib/avm/launcher/instances/error.rb +10 -0
  108. data/sub/avm/lib/avm/launcher/instances/runner_helper.rb +43 -0
  109. data/sub/avm/lib/avm/launcher/instances/settings.rb +24 -0
  110. data/sub/avm/lib/avm/launcher/paths/logical.rb +76 -0
  111. data/sub/avm/lib/avm/launcher/paths/real.rb +44 -0
  112. data/sub/avm/lib/avm/launcher/project.rb +15 -0
  113. data/sub/avm/lib/avm/launcher/publish/base.rb +44 -0
  114. data/sub/avm/lib/avm/launcher/publish/check_result.rb +64 -0
  115. data/sub/avm/lib/avm/launcher/stereotype.rb +63 -0
  116. data/sub/avm/lib/avm/patches/eac_config/entry_path.rb +44 -0
  117. data/sub/avm/lib/avm/path_string.rb +27 -0
  118. data/sub/avm/lib/avm/registry/application_scms.rb +13 -0
  119. data/sub/avm/lib/avm/registry/application_stereotypes/build_available.rb +45 -0
  120. data/sub/avm/lib/avm/registry/application_stereotypes/stereotype_builder.rb +30 -0
  121. data/sub/avm/lib/avm/registry/application_stereotypes.rb +42 -0
  122. data/sub/avm/lib/avm/registry/applications.rb +35 -0
  123. data/sub/avm/lib/avm/registry/base.rb +26 -0
  124. data/sub/avm/lib/avm/registry/config_objects.rb +15 -0
  125. data/sub/avm/lib/avm/registry/detection_error.rb +8 -0
  126. data/sub/avm/lib/avm/registry/file_formats.rb +17 -0
  127. data/sub/avm/lib/avm/registry/from_gems.rb +67 -0
  128. data/sub/avm/lib/avm/registry/instances.rb +13 -0
  129. data/sub/avm/lib/avm/registry/launcher_stereotypes.rb +8 -0
  130. data/sub/avm/lib/avm/registry/runners.rb +8 -0
  131. data/sub/avm/lib/avm/registry/scms.rb +8 -0
  132. data/sub/avm/lib/avm/registry/source_generators.rb +14 -0
  133. data/sub/avm/lib/avm/registry/sources.rb +38 -0
  134. data/sub/avm/lib/avm/registry/with_path/cache.rb +28 -0
  135. data/sub/avm/lib/avm/registry/with_path.rb +44 -0
  136. data/sub/avm/lib/avm/registry.rb +31 -0
  137. data/sub/avm/lib/avm/result.rb +80 -0
  138. data/sub/avm/lib/avm/rspec/launcher_controller.rb +91 -0
  139. data/sub/avm/lib/avm/rspec/setup/launcher.rb +18 -0
  140. data/sub/avm/lib/avm/rspec/setup/source_generator.rb +20 -0
  141. data/sub/avm/lib/avm/rspec/setup.rb +32 -0
  142. data/sub/avm/lib/avm/rspec/shared_examples/avm_file_format_file_resource_name.rb +13 -0
  143. data/sub/avm/lib/avm/rspec/shared_examples/avm_file_formats_with_fixtures.rb +28 -0
  144. data/sub/avm/lib/avm/rspec/shared_examples/avm_source_generated.rb +27 -0
  145. data/sub/avm/lib/avm/rspec/shared_examples/entries_values.rb +19 -0
  146. data/sub/avm/lib/avm/rspec/shared_examples/in_avm_registry.rb +9 -0
  147. data/sub/avm/lib/avm/rspec/shared_examples/not_in_avm_registry.rb +12 -0
  148. data/sub/avm/lib/avm/rspec/shared_examples/with_config.rb +9 -0
  149. data/sub/avm/lib/avm/rspec/shared_examples/with_launcher.rb +13 -0
  150. data/sub/avm/lib/avm/runner_with/file_replacer.rb +28 -0
  151. data/sub/avm/lib/avm/runner_with/filesystem_renamer.rb +99 -0
  152. data/sub/avm/lib/avm/runner_with/filesystem_traverser.rb +49 -0
  153. data/sub/avm/lib/avm/runners/base.rb +25 -0
  154. data/sub/avm/lib/avm/scms/auto_commit/file_resource_name.rb +47 -0
  155. data/sub/avm/lib/avm/scms/auto_commit/for_file.rb +79 -0
  156. data/sub/avm/lib/avm/scms/auto_commit/rules/base.rb +37 -0
  157. data/sub/avm/lib/avm/scms/auto_commit/rules/last.rb +17 -0
  158. data/sub/avm/lib/avm/scms/auto_commit/rules/manual.rb +38 -0
  159. data/sub/avm/lib/avm/scms/auto_commit/rules/new.rb +21 -0
  160. data/sub/avm/lib/avm/scms/auto_commit/rules/nth.rb +29 -0
  161. data/sub/avm/lib/avm/scms/auto_commit/rules/unique.rb +19 -0
  162. data/sub/avm/lib/avm/scms/auto_commit/rules.rb +32 -0
  163. data/sub/avm/lib/avm/scms/base/branches.rb +20 -0
  164. data/sub/avm/lib/avm/scms/base/commits.rb +32 -0
  165. data/sub/avm/lib/avm/scms/base/milestones.rb +19 -0
  166. data/sub/avm/lib/avm/scms/base/remotes.rb +20 -0
  167. data/sub/avm/lib/avm/scms/base.rb +59 -0
  168. data/sub/avm/lib/avm/scms/branch.rb +24 -0
  169. data/sub/avm/lib/avm/scms/changed_file.rb +46 -0
  170. data/sub/avm/lib/avm/scms/commit.rb +64 -0
  171. data/sub/avm/lib/avm/scms/commit_info.rb +37 -0
  172. data/sub/avm/lib/avm/scms/inflector.rb +22 -0
  173. data/sub/avm/lib/avm/scms/interval.rb +16 -0
  174. data/sub/avm/lib/avm/scms/null/commit.rb +11 -0
  175. data/sub/avm/lib/avm/scms/null.rb +16 -0
  176. data/sub/avm/lib/avm/scms/remote.rb +9 -0
  177. data/sub/avm/lib/avm/self/docker_image.rb +11 -0
  178. data/sub/avm/lib/avm/self/instance/entry_keys.rb +12 -0
  179. data/sub/avm/lib/avm/self/instance.rb +27 -0
  180. data/sub/avm/lib/avm/source_generators/base.rb +69 -0
  181. data/sub/avm/lib/avm/source_generators/option.rb +11 -0
  182. data/sub/avm/lib/avm/source_generators/option_list.rb +29 -0
  183. data/sub/avm/lib/avm/source_generators/runner.rb +55 -0
  184. data/sub/avm/lib/avm/sources/auto_commit/for_file.rb +29 -0
  185. data/sub/avm/lib/avm/sources/base/application.rb +32 -0
  186. data/sub/avm/lib/avm/sources/base/configuration.rb +89 -0
  187. data/sub/avm/lib/avm/sources/base/instance.rb +13 -0
  188. data/sub/avm/lib/avm/sources/base/locale.rb +30 -0
  189. data/sub/avm/lib/avm/sources/base/organizational.rb +30 -0
  190. data/sub/avm/lib/avm/sources/base/parent.rb +26 -0
  191. data/sub/avm/lib/avm/sources/base/stereotype.rb +16 -0
  192. data/sub/avm/lib/avm/sources/base/sub/remove.rb +36 -0
  193. data/sub/avm/lib/avm/sources/base/sub.rb +23 -0
  194. data/sub/avm/lib/avm/sources/base/subs.rb +63 -0
  195. data/sub/avm/lib/avm/sources/base/subs_paths.rb +30 -0
  196. data/sub/avm/lib/avm/sources/base/testing.rb +67 -0
  197. data/sub/avm/lib/avm/sources/base/update.rb +37 -0
  198. data/sub/avm/lib/avm/sources/base/update_sub.rb +55 -0
  199. data/sub/avm/lib/avm/sources/base/update_subs.rb +17 -0
  200. data/sub/avm/lib/avm/sources/base/version_bump.rb +26 -0
  201. data/sub/avm/lib/avm/sources/base.rb +56 -0
  202. data/sub/avm/lib/avm/sources/configuration/rubocop.rb +26 -0
  203. data/sub/avm/lib/avm/sources/configuration.rb +57 -0
  204. data/sub/avm/lib/avm/sources/issues/deliver.rb +51 -0
  205. data/sub/avm/lib/avm/sources/runner.rb +38 -0
  206. data/sub/avm/lib/avm/sources/tests/builder.rb +91 -0
  207. data/sub/avm/lib/avm/sources/tests/performer.rb +32 -0
  208. data/sub/avm/lib/avm/sources/tests/result.rb +13 -0
  209. data/sub/avm/lib/avm/sources/tests/single.rb +71 -0
  210. data/sub/avm/lib/avm/sources/update_error.rb +8 -0
  211. data/sub/avm/lib/avm/sync.rb +90 -0
  212. data/sub/avm/lib/avm/version.rb +5 -0
  213. data/sub/avm/lib/avm/version_number.rb +45 -0
  214. data/sub/avm/lib/avm/with/application_stereotype.rb +29 -0
  215. data/sub/avm/lib/avm/with/extra_subcommands.rb +41 -0
  216. data/sub/avm/lib/avm.rb +18 -0
  217. data/sub/avm/locale/en.yml +6 -0
  218. data/sub/avm/locale/pt-BR.yml +6 -0
  219. data/sub/avm/spec/lib/avm/applications/base/entries_spec.rb +29 -0
  220. data/sub/avm/spec/lib/avm/applications/base/entries_spec_files/config.yml +12 -0
  221. data/sub/avm/spec/lib/avm/applications/base_spec.rb +21 -0
  222. data/sub/avm/spec/lib/avm/applications/base_spec_fixture.yml +3 -0
  223. data/sub/avm/spec/lib/avm/file_formats/base_spec.rb +9 -0
  224. data/sub/avm/spec/lib/avm/instances/base/entries_spec.rb +78 -0
  225. data/sub/avm/spec/lib/avm/instances/base/entries_spec_files/config.yml +50 -0
  226. data/sub/avm/spec/lib/avm/instances/base_spec.rb +29 -0
  227. data/sub/avm/spec/lib/avm/launcher/context_spec.rb +98 -0
  228. data/sub/avm/spec/lib/avm/launcher/context_spec.yml +5 -0
  229. data/sub/avm/spec/lib/avm/launcher/context_spec_files/config.yml +9 -0
  230. data/sub/avm/spec/lib/avm/launcher/instances/base_spec.rb +39 -0
  231. data/sub/avm/spec/lib/avm/launcher/instances/base_spec_files/config.yml +5 -0
  232. data/sub/avm/spec/lib/avm/launcher/instances/base_spec_files/settings.yaml +5 -0
  233. data/sub/avm/spec/lib/avm/patches/eac_config/entry_path_spec.rb +26 -0
  234. data/sub/avm/spec/lib/avm/scms/auto_commit/file_resource_name_spec.rb +20 -0
  235. data/sub/avm/spec/lib/avm/scms/base_spec.rb +5 -0
  236. data/sub/avm/spec/lib/avm/sources/base_spec.rb +5 -0
  237. data/sub/avm/spec/lib/avm/sources/runner_spec.rb +7 -0
  238. data/sub/avm/spec/meta/rubocop_spec.rb +3 -0
  239. data/sub/avm/spec/spec_helper/launcher_context/settings.yml +6 -0
  240. data/sub/avm/spec/spec_helper.rb +7 -0
  241. data/sub/avm/template/avm/rspec/launcher_controller/dummy/avm-tools_stub/avm-tools.gemspec +29 -0
  242. data/sub/avm/template/avm/rspec/launcher_controller/dummy/avm-tools_stub/lib/avm/tools/version.rb +7 -0
  243. data/sub/avm/template/avm/rspec/launcher_controller/dummy/avm-tools_stub/lib/avm/tools.rb +6 -0
  244. data/sub/avm/template/avm/rspec/launcher_controller/dummy/ruby_gem_stub/lib/ruby_gem_stub/version.rb +5 -0
  245. data/sub/avm/template/avm/rspec/launcher_controller/dummy/ruby_gem_stub/lib/ruby_gem_stub.rb +3 -0
  246. data/sub/avm/template/avm/rspec/launcher_controller/dummy/ruby_gem_stub/ruby_gem_stub.gemspec +16 -0
  247. data/sub/avm/template/avm/rspec/launcher_controller/settings.yml +1 -0
  248. data/sub/avm/template/avm/self/docker_image/Dockerfile +17 -0
  249. data/sub/avm/template/avm/self/docker_image/entrypoint.sh +12 -0
  250. data/sub/avm-eac_ruby_base0/avm-eac_ruby_base0.gemspec +21 -0
  251. data/sub/avm-eac_ruby_base0/lib/avm/eac_ruby_base0/rspec/setup.rb +13 -0
  252. data/sub/avm-eac_ruby_base0/lib/avm/eac_ruby_base0/rspec/source_generator.rb +31 -0
  253. data/sub/avm-eac_ruby_base0/lib/avm/eac_ruby_base0/source_generators/base/application.rb +33 -0
  254. data/sub/avm-eac_ruby_base0/lib/avm/eac_ruby_base0/source_generators/base/executable.rb +29 -0
  255. data/sub/avm-eac_ruby_base0/lib/avm/eac_ruby_base0/source_generators/base/runner.rb +33 -0
  256. data/sub/avm-eac_ruby_base0/lib/avm/eac_ruby_base0/source_generators/base.rb +49 -0
  257. data/sub/avm-eac_ruby_base0/lib/avm/eac_ruby_base0/sources/base/executable.rb +59 -0
  258. data/sub/avm-eac_ruby_base0/lib/avm/eac_ruby_base0/sources/base.rb +16 -0
  259. data/sub/{avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0 → avm-eac_ruby_base0/lib/avm/eac_ruby_base0}/version.rb +2 -2
  260. data/sub/{avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0.rb → avm-eac_ruby_base0/lib/avm/eac_ruby_base0.rb} +2 -2
  261. data/sub/avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/source_generators/base_spec.rb +42 -0
  262. data/sub/avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/source_generators/base_spec_files/dashed-mygem/Gemfile +8 -0
  263. data/sub/avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/source_generators/base_spec_files/dashed-mygem/Gemfile.lock +108 -0
  264. data/sub/avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/source_generators/base_spec_files/dashed-mygem/_gitignore +2 -0
  265. data/sub/avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/source_generators/base_spec_files/dashed-mygem/dashed-mygem.gemspec +24 -0
  266. data/sub/avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/source_generators/base_spec_files/dashed-mygem/exe/dashed-mygem +6 -0
  267. data/sub/avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/source_generators/base_spec_files/dashed-mygem/lib/dashed/mygem/runner.rb +17 -0
  268. data/sub/avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/source_generators/base_spec_files/dashed-mygem/lib/dashed/mygem/self.rb +13 -0
  269. data/sub/avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/source_generators/base_spec_files/dashed-mygem/lib/dashed/mygem/version.rb +7 -0
  270. data/sub/avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/source_generators/base_spec_files/dashed-mygem/lib/dashed/mygem.rb +11 -0
  271. data/sub/avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/source_generators/base_spec_files/dashed-mygem/lib/dashed.rb +4 -0
  272. data/sub/{avm-eac_asciidoctor_base0 → avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/source_generators/base_spec_files/dashed-mygem}/spec/spec_helper.rb +1 -3
  273. data/sub/avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/source_generators/base_spec_files/mygem_underscore/Gemfile +8 -0
  274. data/sub/avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/source_generators/base_spec_files/mygem_underscore/Gemfile.lock +108 -0
  275. data/sub/avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/source_generators/base_spec_files/mygem_underscore/_gitignore +2 -0
  276. data/sub/avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/source_generators/base_spec_files/mygem_underscore/exe/mygem_underscore +6 -0
  277. data/sub/avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/source_generators/base_spec_files/mygem_underscore/lib/mygem_underscore/runner.rb +15 -0
  278. data/sub/avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/source_generators/base_spec_files/mygem_underscore/lib/mygem_underscore/self.rb +11 -0
  279. data/sub/avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/source_generators/base_spec_files/mygem_underscore/lib/mygem_underscore/version.rb +5 -0
  280. data/sub/avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/source_generators/base_spec_files/mygem_underscore/lib/mygem_underscore.rb +9 -0
  281. data/sub/avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/source_generators/base_spec_files/mygem_underscore/mygem_underscore.gemspec +24 -0
  282. data/sub/avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/source_generators/base_spec_files/mygem_underscore/spec/meta/rubocop_spec.rb +3 -0
  283. data/sub/avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/source_generators/base_spec_files/mygem_underscore/spec/spec_helper.rb +5 -0
  284. data/sub/avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/sources/base_spec.rb +13 -0
  285. data/sub/avm-eac_ruby_base0/spec/meta/rubocop_spec.rb +3 -0
  286. data/sub/avm-eac_ruby_base0/spec/spec_helper.rb +5 -0
  287. data/sub/avm-eac_ruby_base0/template/avm/eac_ruby_base0/source_generators/base/application.template +11 -0
  288. data/sub/avm-eac_ruby_base0/template/avm/eac_ruby_base0/source_generators/base/executable.template +6 -0
  289. data/sub/avm-eac_ruby_base0/template/avm/eac_ruby_base0/source_generators/base/runner.template +15 -0
  290. data/sub/avm-eac_ruby_base1/Gemfile +8 -0
  291. data/sub/avm-eac_ruby_base1/avm-eac_ruby_base1.gemspec +25 -0
  292. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/gemfile/add_or_replace_gem_line.rb +54 -0
  293. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/gemfile/dependency.rb +17 -0
  294. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/gemfile.rb +32 -0
  295. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/incompatible_parser/depends_on.rb +22 -0
  296. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/incompatible_parser/gem_conflict.rb +41 -0
  297. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/incompatible_parser/in_gemfile.rb +14 -0
  298. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/incompatible_parser/line_buffer.rb +73 -0
  299. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/incompatible_parser/line_factory.rb +26 -0
  300. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/incompatible_parser/line_parser_base.rb +17 -0
  301. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/incompatible_parser/ruby_requirement.rb +13 -0
  302. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/incompatible_parser/version_requirement.rb +23 -0
  303. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/bundler/incompatible_parser.rb +21 -0
  304. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/file_formats/base/file_resource_name.rb +44 -0
  305. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/file_formats/base.rb +19 -0
  306. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/instances/mixin.rb +24 -0
  307. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/launcher/gem/build.rb +120 -0
  308. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/launcher/gem/specification.rb +61 -0
  309. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/launcher_stereotypes/base/local_project_mixin.rb +24 -0
  310. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/launcher_stereotypes/base/publish/internal_check.rb +70 -0
  311. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/launcher_stereotypes/base/publish/local_gem.rb +31 -0
  312. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/launcher_stereotypes/base/publish/remote_gem.rb +45 -0
  313. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/launcher_stereotypes/base/publish.rb +32 -0
  314. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/launcher_stereotypes/base.rb +32 -0
  315. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/preferred_version_requirements.rb +40 -0
  316. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rspec/setup.rb +13 -0
  317. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rspec/source_generator.rb +20 -0
  318. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubocop/configured.rb +29 -0
  319. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubocop/envvar.rb +15 -0
  320. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubocop/gemfile.rb +39 -0
  321. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubocop.rb +54 -0
  322. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubygems/gem_search_parser.rb +34 -0
  323. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubygems/gemspec/add_or_replace_gem_line.rb +69 -0
  324. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubygems/gemspec/dependency.rb +23 -0
  325. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubygems/gemspec.rb +57 -0
  326. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubygems/providers/base.rb +46 -0
  327. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubygems/providers/nexus.rb +29 -0
  328. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubygems/providers/rubygems_org.rb +37 -0
  329. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubygems/remote.rb +31 -0
  330. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubygems/version_file.rb +43 -0
  331. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/runners/base/lib_rename.rb +74 -0
  332. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/runners/base/rubocop.rb +27 -0
  333. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/runners/base.rb +14 -0
  334. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/runners.rb +8 -0
  335. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/source_generators/base/dependencies.rb +59 -0
  336. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/source_generators/base/gemfile_lock.rb +23 -0
  337. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/source_generators/base/gemspec.rb +81 -0
  338. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/source_generators/base/options.rb +32 -0
  339. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/source_generators/base/root_module.rb +46 -0
  340. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/source_generators/base/version_builder.rb +58 -0
  341. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/source_generators/base.rb +48 -0
  342. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base/bundle_command.rb +35 -0
  343. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base/bundler.rb +62 -0
  344. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base/gem_provider.rb +46 -0
  345. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base/rake.rb +39 -0
  346. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base/rubocop.rb +23 -0
  347. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base/rubocop_command.rb +70 -0
  348. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base/rubygems.rb +50 -0
  349. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base/update.rb +29 -0
  350. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base/version.rb +30 -0
  351. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base/version_bump.rb +16 -0
  352. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base.rb +55 -0
  353. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/bundle_update.rb +21 -0
  354. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/gemfile_local/sibling.rb +51 -0
  355. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/gemfile_local.rb +65 -0
  356. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/namespace_replacer.rb +66 -0
  357. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/runners/bundle.rb +26 -0
  358. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/runners/bundler/gemfile_local.rb +55 -0
  359. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/runners/bundler/gemfile_lock/git.rb +58 -0
  360. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/runners/bundler/gemfile_lock.rb +87 -0
  361. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/runners/bundler/incompatible.rb +73 -0
  362. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/runners/bundler.rb +16 -0
  363. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/runners/update_dependencies_requirements.rb +64 -0
  364. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/tests/base.rb +57 -0
  365. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/tests/minitest.rb +27 -0
  366. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/tests/multiple/decorated_gem.rb +50 -0
  367. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/tests/multiple/result.rb +29 -0
  368. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/tests/multiple.rb +85 -0
  369. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/tests/rspec.rb +23 -0
  370. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/update/sub_update.rb +57 -0
  371. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/update_dependency_requirements.rb +61 -0
  372. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/version.rb +7 -0
  373. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1.rb +15 -0
  374. data/sub/avm-eac_ruby_base1/locale/en.yml +16 -0
  375. data/sub/avm-eac_ruby_base1/locale/pt-BR.yml +16 -0
  376. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/bundler/incompatible_parser_spec.rb +5 -0
  377. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/bundler/incompatible_parser_spec_files/1.source.out +192 -0
  378. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/bundler/incompatible_parser_spec_files/1.target.yaml +300 -0
  379. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/bundler/incompatible_parser_spec_files/2.source.out +245 -0
  380. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/bundler/incompatible_parser_spec_files/2.target.yaml +355 -0
  381. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/bundler/incompatible_parser_spec_files/3.source.out +0 -0
  382. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/bundler/incompatible_parser_spec_files/3.target.yaml +305 -0
  383. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/file_formats/base_spec.rb +13 -0
  384. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/file_formats/base_spec_files/Gemfile.source +6 -0
  385. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/file_formats/base_spec_files/Gemfile.target +3 -0
  386. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/file_formats/base_spec_files/ruby_code.rb.source +6 -0
  387. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/file_formats/base_spec_files/ruby_code.rb.target +5 -0
  388. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/launcher/gem/build_spec.rb +43 -0
  389. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/launcher/gem/specification_spec.rb +57 -0
  390. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/launcher_stereotypes/base/publish_spec.rb +25 -0
  391. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/launcher_stereotypes/base_spec.rb +21 -0
  392. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/preferred_version_requirements_spec.rb +21 -0
  393. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/rubygems/gem_search_parser_spec.rb +5 -0
  394. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/rubygems/gem_search_parser_spec_files/empty.source +1 -0
  395. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/rubygems/gem_search_parser_spec_files/empty.target.yaml +1 -0
  396. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/rubygems/gem_search_parser_spec_files/many_versions.source +1 -0
  397. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/rubygems/gem_search_parser_spec_files/many_versions.target.yaml +123 -0
  398. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/rubygems/gemspec_spec.rb +35 -0
  399. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/rubygems/gemspec_spec_files/changes1.source.yaml +5 -0
  400. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/rubygems/gemspec_spec_files/changes1.target.txt +15 -0
  401. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/rubygems/gemspec_spec_files/the_gem.gemspec +15 -0
  402. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/rubygems/version_file_spec.rb +13 -0
  403. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/rubygems/version_file_spec_files/a_version_file.rb +7 -0
  404. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/runners/base/rubocop_spec.rb +33 -0
  405. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/runners/base/rubocop_spec_files/dir1/dir3/Gemfile +5 -0
  406. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/runners/base/rubocop_spec_files/dir1/dir3/Gemfile.lock +27 -0
  407. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/runners/base/rubocop_spec_files/dir2/empty.rb +1 -0
  408. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/runners/base/rubocop_spec_files/dir4/false_command.rb +4 -0
  409. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec.rb +16 -0
  410. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/dashed-mygem/Gemfile +8 -0
  411. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/dashed-mygem/Gemfile.lock +1 -0
  412. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/dashed-mygem/_gitignore +2 -0
  413. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/dashed-mygem/dashed-mygem.gemspec +20 -0
  414. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/dashed-mygem/lib/dashed/mygem/version.rb +7 -0
  415. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/dashed-mygem/lib/dashed/mygem.rb +9 -0
  416. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/dashed-mygem/spec/meta/rubocop_spec.rb +3 -0
  417. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/dashed-mygem/spec/spec_helper.rb +5 -0
  418. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/mygem/Gemfile +8 -0
  419. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/mygem/Gemfile.lock +1 -0
  420. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/mygem/_gitignore +2 -0
  421. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/mygem/lib/mygem/version.rb +5 -0
  422. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/mygem/lib/mygem.rb +7 -0
  423. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/mygem/mygem.gemspec +20 -0
  424. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/mygem/spec/meta/rubocop_spec.rb +3 -0
  425. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/source_generators/base_spec_files/mygem/spec/spec_helper.rb +5 -0
  426. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/sources/base/bundler_spec.rb +28 -0
  427. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/sources/base/bundler_spec_files/mygem/Gemfile +5 -0
  428. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/sources/base/bundler_spec_files/mygem/Gemfile.lock +19 -0
  429. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/sources/base/bundler_spec_files/mygem/Rakefile +14 -0
  430. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/sources/base/bundler_spec_files/mygem/exe/myrunner +5 -0
  431. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/sources/base/bundler_spec_files/mygem/lib/mygem/version.rb +5 -0
  432. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/sources/base/bundler_spec_files/mygem/lib/mygem.rb +7 -0
  433. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/sources/base/bundler_spec_files/mygem/mygem.gemspec +17 -0
  434. data/sub/avm-eac_ruby_base1/spec/lib/avm/eac_ruby_base1/sources/base_spec.rb +13 -0
  435. data/sub/avm-eac_ruby_base1/spec/meta/rubocop_spec.rb +3 -0
  436. data/sub/avm-eac_ruby_base1/spec/spec_helper.rb +5 -0
  437. data/sub/avm-eac_ruby_base1/template/avm/eac_ruby_base1/source_generators/base/gemspec.template +19 -0
  438. data/sub/avm-eac_ruby_base1/template/avm/eac_ruby_base1/source_generators/base/root_lib.template +8 -0
  439. data/sub/avm-eac_ruby_base1/template/avm/eac_ruby_base1/source_generators/base/static/Gemfile +8 -0
  440. data/sub/avm-eac_ruby_base1/template/avm/eac_ruby_base1/source_generators/base/static/spec/meta/rubocop_spec.rb +3 -0
  441. data/sub/avm-eac_ruby_base1/template/avm/eac_ruby_base1/source_generators/base/static/spec/spec_helper.rb.template +5 -0
  442. data/sub/avm-eac_ruby_base1/template/avm/eac_ruby_base1/source_generators/base/version.template +5 -0
  443. metadata +448 -87
  444. data/sub/avm-eac_asciidoctor_base0/avm-eac_asciidoctor_base0.gemspec +0 -24
  445. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/documents_owner.rb +0 -27
  446. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/file_formats/base/file_resource_name.rb +0 -34
  447. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/file_formats/base.rb +0 -14
  448. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/apache_host.rb +0 -17
  449. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/apache_path.rb +0 -10
  450. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/base.rb +0 -28
  451. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/build/document/body_source.rb +0 -49
  452. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/build/document/body_target.rb +0 -35
  453. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/build/document/children.rb +0 -47
  454. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/build/document/header_lines.rb +0 -90
  455. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/build/document/media.rb +0 -27
  456. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/build/document/pre_process_line.rb +0 -62
  457. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/build/document.rb +0 -49
  458. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/build/theme.rb +0 -38
  459. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/build.rb +0 -61
  460. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/deploy.rb +0 -24
  461. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/macros/base.rb +0 -19
  462. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/macros/breadcrumbs.rb +0 -52
  463. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/macros/child_docs/document_builder.rb +0 -60
  464. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/macros/child_docs.rb +0 -30
  465. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/macros/default_body.rb +0 -18
  466. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/macros/todo.rb +0 -18
  467. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/logging/catcher.rb +0 -44
  468. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/logging/error.rb +0 -16
  469. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/source_generators/base.rb +0 -24
  470. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/base/instance_to_build.rb +0 -44
  471. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/base/theme.rb +0 -45
  472. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/base.rb +0 -42
  473. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/document/media.rb +0 -27
  474. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/document/title.rb +0 -30
  475. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/document.rb +0 -55
  476. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/runners/build.rb +0 -55
  477. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/runners/document/build.rb +0 -49
  478. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/runners/document.rb +0 -26
  479. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/runners/documents.rb +0 -26
  480. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/runners/ignore_errors_option.rb +0 -42
  481. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/runners.rb +0 -11
  482. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/file_formats/base_spec.rb +0 -11
  483. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build/document_spec.rb +0 -79
  484. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build/document_spec_files/pre_processed_root_body.adoc +0 -25
  485. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec.rb +0 -19
  486. 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
  487. 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
  488. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.source/content/doc1/body.adoc +0 -11
  489. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.source/content/doc1/title +0 -1
  490. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.source/content/doc2/body.adoc +0 -11
  491. 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
  492. 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
  493. 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
  494. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.source/content/doc2/title +0 -1
  495. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.target/_media/a_media_file +0 -1
  496. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.target/_theme/main.css +0 -1
  497. 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
  498. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.target/doc1/index.html +0 -1
  499. 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
  500. 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
  501. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.target/doc2/index.html +0 -1
  502. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.target/index.html +0 -1
  503. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/source_generators/base_spec.rb +0 -5
  504. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/source_generators/base_spec_files/no_options/content/body.adoc +0 -11
  505. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/source_generators/base_spec_files/no_options/content/title +0 -1
  506. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/source_generators/base_spec_files/no_options/theme/main.css +0 -1
  507. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/sources/base_spec.rb +0 -13
  508. data/sub/avm-eac_asciidoctor_base0/spec/spec_helper/eac_asciidoctor_base0_stubs.rb +0 -55
  509. data/sub/avm-eac_asciidoctor_base0/template/avm/eac_asciidoctor_base0/source_generators/base/content/body.adoc +0 -11
  510. data/sub/avm-eac_asciidoctor_base0/template/avm/eac_asciidoctor_base0/source_generators/base/content/title +0 -1
  511. data/sub/avm-eac_asciidoctor_base0/template/avm/eac_asciidoctor_base0/source_generators/base/theme/main.css +0 -1
  512. /data/sub/{avm-eac_asciidoctor_base0 → avm-eac_ruby_base0}/Gemfile +0 -0
  513. /data/sub/{avm-eac_asciidoctor_base0/spec → avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/source_generators/base_spec_files/dashed-mygem/spec/meta}/rubocop_spec.rb +0 -0
@@ -0,0 +1,70 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module Docker
5
+ class Image < ::EacDocker::Images::Templatized
6
+ prepend ::Avm::Entries::Jobs::WithVariablesSource
7
+
8
+ DEFAULT_REGISTRY_NAME = 'local'
9
+
10
+ class << self
11
+ # @return [EacDocker::Registry]
12
+ def default_registry
13
+ ::EacDocker::Registry.new(DEFAULT_REGISTRY_NAME)
14
+ end
15
+ end
16
+
17
+ attr_reader :registry
18
+ attr_accessor :snapshot, :version
19
+
20
+ def initialize(registry = nil)
21
+ super()
22
+ @registry = registry || self.class.default_registry
23
+ self.snapshot = true
24
+ self.version = true
25
+ end
26
+
27
+ def build(extra_args = [])
28
+ nyi "Extra args: #{extra_args}" if extra_args.any?
29
+
30
+ provide
31
+ end
32
+
33
+ def generator_version
34
+ ::Avm::VERSION
35
+ end
36
+
37
+ def push
38
+ ::EacDocker::Executables.docker.command.append(['push', tag]).system!
39
+ end
40
+
41
+ def run(instance)
42
+ run_run(instance) if container_exist?(instance)
43
+ end
44
+
45
+ def tag
46
+ r = tag_name
47
+ r += ":#{tag_version}" if tag_version.present?
48
+ r
49
+ end
50
+
51
+ def tag_name
52
+ return registry.name if registry.name.present?
53
+
54
+ raise 'Registry name is blank'
55
+ end
56
+
57
+ def tag_version
58
+ [tag_version_version, stereotype_tag].compact_blank.join('_')
59
+ end
60
+
61
+ def tag_version_version
62
+ return nil unless version
63
+
64
+ r = generator_version
65
+ r += '-snapshot' if snapshot
66
+ r
67
+ end
68
+ end
69
+ end
70
+ end
@@ -0,0 +1,129 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module Docker
5
+ class Runner
6
+ DOCKER_DEFAULT_REGISTRY_METHOD = :docker_default_registry
7
+ DOCKER_DEFAULT_REGISTRY_NAME = 'local'
8
+
9
+ enable_speaker
10
+ enable_simple_cache
11
+
12
+ runner_with :help do
13
+ desc 'Manipulate Docker images.'
14
+ bool_opt '-I', '--image-name', 'Output image name.'
15
+ arg_opt '-n', '--registry-name', 'Docker registry\'s name.'
16
+ bool_opt '-p', '--push', 'Push the image to Docker registry.'
17
+ bool_opt '-r', '--run', 'Run or start a container with builded image.'
18
+ arg_opt '-B', '--build-arg', 'Argument for "docker build".', repeat: true
19
+ arg_opt '-E', '--entrypoint-arg', 'Argument for entrypoint on "docker run"', repeat: true
20
+ bool_opt '-c', '--clear', 'Remove container if exist before run.'
21
+ bool_opt '-S', '--no-snapshot', 'Does not add "-snapshot" to image tag.'
22
+ bool_opt '-V', '--no-version', 'Does not add version to image tag.'
23
+ end
24
+
25
+ def run
26
+ setup
27
+ banner
28
+ build
29
+ output_image_name
30
+ push
31
+ container_run
32
+ end
33
+
34
+ # @return [EacDocker::Registry, nil]
35
+ def docker_default_registry
36
+ ::EacDocker::Registry.new(default_docker_registry_name)
37
+ end
38
+
39
+ private
40
+
41
+ def setup
42
+ instance.docker_image_options = {
43
+ registry: registry,
44
+ snapshot: snapshot?,
45
+ version: version?
46
+ }
47
+ end
48
+
49
+ def banner
50
+ infov 'Registry name', registry
51
+ infov 'Version?', version?
52
+ infov 'Snapshot?', snapshot?
53
+ infov 'Image name', docker_image.tag
54
+ infov 'Build arguments', build_args
55
+ infov 'Entrypoint arguments', entrypoint_args
56
+ end
57
+
58
+ def build
59
+ docker_image.build(build_args)
60
+ success 'Docker image builded'
61
+ end
62
+
63
+ def build_args
64
+ parsed.build_arg
65
+ end
66
+
67
+ def docker_container
68
+ instance.docker_container
69
+ end
70
+
71
+ # @return [String]
72
+ def default_docker_registry_name
73
+ DOCKER_DEFAULT_REGISTRY_NAME
74
+ end
75
+
76
+ def docker_image
77
+ instance.docker_image
78
+ end
79
+
80
+ def entrypoint_args
81
+ parsed.entrypoint_arg
82
+ end
83
+
84
+ def push
85
+ docker_image.push if parsed.push?
86
+ end
87
+
88
+ def container_run
89
+ return unless parsed.run?
90
+
91
+ docker_container.run(
92
+ entrypoint_args: entrypoint_args,
93
+ clear: parsed.clear?
94
+ )
95
+ end
96
+
97
+ def output_image_name
98
+ return unless parsed.image_name
99
+
100
+ out("#{docker_image.tag.to_s.strip}\n")
101
+ end
102
+
103
+ def registry_uncached
104
+ registry_from_option || registry_from_instance || registry_from_default ||
105
+ fatal_error('No registry defined')
106
+ end
107
+
108
+ def registry_from_option
109
+ parsed.registry_name.if_present { |v| ::EacDocker::Registry.new(v) }
110
+ end
111
+
112
+ def registry_from_instance
113
+ instance.docker_registry_optional.if_present { |v| ::EacDocker::Registry.new(v) }
114
+ end
115
+
116
+ def registry_from_default
117
+ if_respond(DOCKER_DEFAULT_REGISTRY_METHOD, nil)
118
+ end
119
+
120
+ def snapshot?
121
+ !parsed.no_snapshot?
122
+ end
123
+
124
+ def version?
125
+ !parsed.no_version?
126
+ end
127
+ end
128
+ end
129
+ end
@@ -0,0 +1,36 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module Entries
5
+ module AutoValues
6
+ class Entry
7
+ class << self
8
+ # @param path [EacConfig::EntryPath]
9
+ # @return String
10
+ def auto_value_method_name(path)
11
+ "auto_#{::EacConfig::EntryPath.assert(path).to_string.gsub('.', '_')}"
12
+ end
13
+ end
14
+
15
+ # @!method initialize(entries_provider, path)
16
+ # @param entries_provider
17
+ # @param path [EacConfig::EntryPath]
18
+ common_constructor :entries_provider, :path do
19
+ self.path = ::EacConfig::EntryPath.assert(path)
20
+ end
21
+
22
+ def auto_value_method
23
+ self.class.auto_value_method_name(path)
24
+ end
25
+
26
+ def found?
27
+ entries_provider.respond_to?(auto_value_method, true)
28
+ end
29
+
30
+ def value
31
+ entries_provider.if_respond(auto_value_method)
32
+ end
33
+ end
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module Entries
5
+ module AutoValues
6
+ class UriEntry
7
+ common_constructor :entries_provider, :suffix
8
+
9
+ def found?
10
+ value.present?
11
+ end
12
+
13
+ def value
14
+ ::Avm::Entries::UriBuilder.from_all_fields do |field_name|
15
+ entries_provider.entry([suffix, field_name]).optional_value
16
+ end.to_uri.to_s
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,42 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module Entries
5
+ module Base
6
+ class InheritedEntryValue
7
+ enable_method_class
8
+ common_constructor :entries_provider, :source_entry_suffix, :target_entry_suffix, :block,
9
+ block_arg: true
10
+
11
+ def result
12
+ self_entry_value.if_present do |instance_id|
13
+ other_entry_value(instance_id).if_present(&block)
14
+ end
15
+ end
16
+
17
+ # @param provider_id [String]
18
+ # @return [Avm::Entries::Base]
19
+ def other_entries_provider(provider_id)
20
+ other_entries_provider_class.by_id(provider_id)
21
+ end
22
+
23
+ # @return [Class]
24
+ def other_entries_provider_class
25
+ [::Avm::Instances::Base, ::Avm::Applications::Base].each do |klass|
26
+ return klass if entries_provider.is_a?(klass)
27
+ end
28
+
29
+ raise "No provider class found for \"#{entries_provider}\""
30
+ end
31
+
32
+ def other_entry_value(instance_id)
33
+ other_entries_provider(instance_id).read_entry_optional(target_entry_suffix)
34
+ end
35
+
36
+ def self_entry_value
37
+ entries_provider.read_entry_optional(source_entry_suffix)
38
+ end
39
+ end
40
+ end
41
+ end
42
+ end
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module Entries
5
+ module Base
6
+ class UriComponentEntryValue
7
+ class DefaultValue
8
+ enable_method_class
9
+ common_constructor :uri_component_entry_value
10
+ delegate :component_entry_path, :entries_provider, to: :uri_component_entry_value
11
+
12
+ # @return [Symbol]
13
+ def default_value_method_name
14
+ component_entry_path.default_method_name
15
+ end
16
+
17
+ def result
18
+ entries_provider.if_respond(default_value_method_name)
19
+ end
20
+ end
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,35 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module Entries
5
+ module Base
6
+ class UriComponentEntryValue
7
+ class InheritedValue
8
+ enable_method_class
9
+ common_constructor :uri_component_entry_value
10
+ delegate :entries_provider, :id_entry_path, :component_entry_path,
11
+ to: :uri_component_entry_value
12
+
13
+ def result
14
+ entries_provider.inherited_entry_value(
15
+ id_entry_path.to_string,
16
+ component_entry_path.to_string,
17
+ &inherited_value_block
18
+ )
19
+ end
20
+
21
+ def inherited_value_block
22
+ return nil unless entries_provider.respond_to?(inherited_value_block_method_name)
23
+
24
+ ->(value) { entries_provider.send(inherited_value_block_method_name, value) }
25
+ end
26
+
27
+ # @return [Symbol]
28
+ def inherited_value_block_method_name
29
+ component_entry_path.inherited_block_method_name
30
+ end
31
+ end
32
+ end
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,27 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module Entries
5
+ module Base
6
+ class UriComponentEntryValue
7
+ class UrlEntryValue
8
+ enable_method_class
9
+ common_constructor :uri_component_entry_value
10
+ delegate :component, :entries_provider, :root_entry_path, to: :uri_component_entry_value
11
+
12
+ def result
13
+ return unless url_entry.context_found?
14
+
15
+ ::Avm::Entries::UriBuilder.from_source(url_entry.value.to_uri)
16
+ .avm_field_get(component)
17
+ end
18
+
19
+ # @return [Avm::Entries::Entry]
20
+ def url_entry
21
+ entries_provider.entry((root_entry_path + %w[url]).to_string)
22
+ end
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,40 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module Entries
5
+ module Base
6
+ class UriComponentEntryValue
7
+ enable_method_class
8
+ require_sub __FILE__, require_dependency: true
9
+
10
+ enable_listable
11
+ lists.add_symbol :option
12
+
13
+ common_constructor :entries_provider, :component_entry_path, :options, default: [{}] do
14
+ self.component_entry_path = ::EacConfig::EntryPath.assert(component_entry_path)
15
+ self.options = self.class.lists.option.hash_keys_validate!(options)
16
+ end
17
+
18
+ # @return [EacConfig::EntryPath]
19
+ def id_entry_path
20
+ root_entry_path + %w[id]
21
+ end
22
+
23
+ # @return [String, nil]
24
+ def result
25
+ url_entry_value || inherited_value || default_value
26
+ end
27
+
28
+ # @return [EacConfig::EntryPath]
29
+ def root_entry_path
30
+ component_entry_path[0..-2]
31
+ end
32
+
33
+ # @return [String]
34
+ def component
35
+ component_entry_path.last
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,40 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module Entries
5
+ module Base
6
+ class UriComponentsEntriesValues
7
+ class ComponentFactory
8
+ enable_method_class
9
+ common_constructor :owner, :component
10
+
11
+ def result
12
+ component_class.new(owner, component)
13
+ end
14
+
15
+ def component_class
16
+ specific_class || generic_class
17
+ end
18
+
19
+ def generic_class
20
+ parent_class.const_get('GenericComponent')
21
+ end
22
+
23
+ def parent_class
24
+ ::Avm::Entries::Base::UriComponentsEntriesValues
25
+ end
26
+
27
+ def specific_class
28
+ return nil unless parent_class.const_defined?(specific_class_basename)
29
+
30
+ parent_class.const_get(specific_class_basename)
31
+ end
32
+
33
+ def specific_class_basename
34
+ [component, 'component'].join('_').camelize
35
+ end
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,59 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module Entries
5
+ module Base
6
+ class UriComponentsEntriesValues
7
+ class GenericComponent
8
+ common_constructor :owner, :component
9
+ delegate :entries_provider_class, :prefix, to: :owner
10
+ delegate :auto_method_name, :get_method_name, :get_optional_method_name,
11
+ to: :entry_key_path
12
+
13
+ def define_auto_method
14
+ outer_self = self
15
+ entries_provider_class.define_method(auto_method_name) do
16
+ uri_component_entry_value(outer_self.entry_key_path.to_string)
17
+ end
18
+ end
19
+
20
+ def define_get_method
21
+ outer_self = self
22
+ entries_provider_class.define_method(get_method_name) do
23
+ read_entry(outer_self.entry_key_path.to_string)
24
+ end
25
+ end
26
+
27
+ def define_get_optional_method
28
+ outer_self = self
29
+ entries_provider_class.define_method(get_optional_method_name) do
30
+ read_entry_optional(outer_self.entry_key_path.to_string)
31
+ end
32
+ end
33
+
34
+ def define_inherited_value_proc_method(&block)
35
+ entries_provider_class.define_method(inherited_value_proc_name, &block)
36
+ end
37
+
38
+ def entry_key_path
39
+ ::EacConfig::EntryPath.assert([prefix, component])
40
+ end
41
+
42
+ def id_component
43
+ @id_component ||= owner.component_factory('id')
44
+ end
45
+
46
+ def inherited_value_proc_name
47
+ entry_key_path.inherited_block_method_name
48
+ end
49
+
50
+ def setup
51
+ define_auto_method
52
+ define_get_method
53
+ define_get_optional_method
54
+ end
55
+ end
56
+ end
57
+ end
58
+ end
59
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module Entries
5
+ module Base
6
+ class UriComponentsEntriesValues
7
+ class PathComponent < ::Avm::Entries::Base::UriComponentsEntriesValues::GenericComponent
8
+ def setup
9
+ super
10
+ define_inherited_value_proc_method { |value| "#{value}/#{id}" }
11
+ end
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module Entries
5
+ module Base
6
+ class UriComponentsEntriesValues
7
+ class UrlComponent < ::Avm::Entries::Base::UriComponentsEntriesValues::GenericComponent
8
+ def define_auto_method
9
+ outer_self = self
10
+ entries_provider_class.define_method(auto_method_name) do
11
+ outer_self.auto_by_paths(self)
12
+ end
13
+ end
14
+
15
+ def auto_by_paths(entries_provider)
16
+ ::Avm::Entries::AutoValues::UriEntry.new(entries_provider, owner.prefix).value
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module Entries
5
+ module Base
6
+ class UriComponentsEntriesValues
7
+ common_constructor :entries_provider_class, :prefix, :extra_fields
8
+
9
+ ENTRIES_FIELDS = ::Avm::Entries::UriBuilder::ENTRIES_FIELDS + %w[url]
10
+
11
+ def fields
12
+ ENTRIES_FIELDS + extra_fields
13
+ end
14
+
15
+ def result
16
+ fields.map { |field| component_factory(field).setup }
17
+ end
18
+
19
+ require_sub __FILE__, require_mode: :kernel
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,53 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module Entries
5
+ module Base
6
+ require_sub __FILE__, require_mode: :kernel
7
+ common_concern
8
+
9
+ module ClassMethods
10
+ def uri_components_entries_values(prefix, extra_fields = [])
11
+ ::Avm::Entries::Base::UriComponentsEntriesValues.new(self, prefix, extra_fields).result
12
+ end
13
+ end
14
+
15
+ def entries_provider_id
16
+ id
17
+ end
18
+
19
+ # @raise
20
+ # @return [void]
21
+ def entries_provider_id!
22
+ return entries_provider_id unless
23
+ entries_provider_id.include?(::EacConfig::EntryPath::PART_SEPARATOR)
24
+
25
+ raise ".entries_provider_id \"#{entries_provider_id}\" cannot have " \
26
+ "\"#{::EacConfig::EntryPath::PART_SEPARATOR}\" (EacConfig::EntryPath::PART_SEPARATOR)"
27
+ end
28
+
29
+ def entry(suffix, options = {})
30
+ ::Avm::Entries::Entry.new(self, suffix, options)
31
+ end
32
+
33
+ def path_prefix
34
+ @path_prefix ||= [entries_provider_id!].freeze
35
+ end
36
+
37
+ def read_entry(entry_suffix, options = {})
38
+ entry(entry_suffix, options).value
39
+ end
40
+
41
+ def read_entry_optional(entry_suffix, options = {})
42
+ entry(entry_suffix, options).optional_value
43
+ end
44
+
45
+ def full_entry_path(entry_suffix)
46
+ unless entry_suffix.is_a?(::Array)
47
+ entry_suffix = ::EacConfig::PathsHash.parse_entry_key(entry_suffix.to_s)
48
+ end
49
+ (path_prefix + entry_suffix).join('.')
50
+ end
51
+ end
52
+ end
53
+ end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module Entries
5
+ class Entry
6
+ class NoContextEntry
7
+ def found?
8
+ false
9
+ end
10
+
11
+ def value
12
+ nil
13
+ end
14
+
15
+ def value!
16
+ raise('No context entry - there is no value')
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end