eac_tools 0.101.2 → 0.102.0

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