eac_tools 0.115.1 → 0.116.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 (333) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +27 -22
  3. data/eac_tools.gemspec +2 -2
  4. data/lib/eac_tools/version.rb +1 -1
  5. data/sub/avm/.gitignore +2 -0
  6. data/sub/avm/.gitrepo +12 -0
  7. data/sub/avm/.rspec +1 -0
  8. data/sub/avm/.rubocop.yml +3 -0
  9. data/sub/avm/Gemfile +8 -0
  10. data/sub/avm/avm.gemspec +28 -0
  11. data/sub/avm/lib/avm/application_scms/base.rb +37 -0
  12. data/sub/avm/lib/avm/application_stereotypes/base.rb +29 -0
  13. data/sub/avm/lib/avm/applications/base/auto_local_source_path.rb +22 -0
  14. data/sub/avm/lib/avm/applications/base/local_instance.rb +28 -0
  15. data/sub/avm/lib/avm/applications/base/local_source.rb +31 -0
  16. data/sub/avm/lib/avm/applications/base/naming.rb +26 -0
  17. data/sub/avm/lib/avm/applications/base/organization.rb +27 -0
  18. data/sub/avm/lib/avm/applications/base/publishing.rb +39 -0
  19. data/sub/avm/lib/avm/applications/base/scm.rb +24 -0
  20. data/sub/avm/lib/avm/applications/base/stereotype.rb +29 -0
  21. data/sub/avm/lib/avm/applications/base.rb +34 -0
  22. data/sub/avm/lib/avm/data/callbacks.rb +36 -0
  23. data/sub/avm/lib/avm/data/clearer.rb +17 -0
  24. data/sub/avm/lib/avm/data/dumper.rb +137 -0
  25. data/sub/avm/lib/avm/data/loader.rb +23 -0
  26. data/sub/avm/lib/avm/data/package/base_performer.rb +36 -0
  27. data/sub/avm/lib/avm/data/package/build_directory.rb +25 -0
  28. data/sub/avm/lib/avm/data/package/clear.rb +19 -0
  29. data/sub/avm/lib/avm/data/package/dump.rb +42 -0
  30. data/sub/avm/lib/avm/data/package/load.rb +33 -0
  31. data/sub/avm/lib/avm/data/package.rb +64 -0
  32. data/sub/avm/lib/avm/data/performer.rb +45 -0
  33. data/sub/avm/lib/avm/data/rotate.rb +106 -0
  34. data/sub/avm/lib/avm/data/unit.rb +44 -0
  35. data/sub/avm/lib/avm/data/unit_with_commands.rb +48 -0
  36. data/sub/avm/lib/avm/docker/container.rb +47 -0
  37. data/sub/avm/lib/avm/docker/image.rb +70 -0
  38. data/sub/avm/lib/avm/docker/runner.rb +129 -0
  39. data/sub/avm/lib/avm/entries/auto_values/entry.rb +36 -0
  40. data/sub/avm/lib/avm/entries/auto_values/uri_entry.rb +21 -0
  41. data/sub/avm/lib/avm/entries/base/inherited_entry_value.rb +42 -0
  42. data/sub/avm/lib/avm/entries/base/uri_component_entry_value/default_value.rb +24 -0
  43. data/sub/avm/lib/avm/entries/base/uri_component_entry_value/inherited_value.rb +35 -0
  44. data/sub/avm/lib/avm/entries/base/uri_component_entry_value/url_entry_value.rb +27 -0
  45. data/sub/avm/lib/avm/entries/base/uri_component_entry_value.rb +40 -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 +22 -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 +53 -0
  52. data/sub/avm/lib/avm/entries/entry/no_context_entry.rb +21 -0
  53. data/sub/avm/lib/avm/entries/entry.rb +69 -0
  54. data/sub/avm/lib/avm/entries/jobs/base.rb +58 -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/keys_constants_set.rb +41 -0
  59. data/sub/avm/lib/avm/entries/uri_builder.rb +87 -0
  60. data/sub/avm/lib/avm/executables.rb +21 -0
  61. data/sub/avm/lib/avm/file_formats/base.rb +34 -0
  62. data/sub/avm/lib/avm/file_formats/file_result.rb +11 -0
  63. data/sub/avm/lib/avm/file_formats/search_formatter.rb +83 -0
  64. data/sub/avm/lib/avm/file_formats/unknown.rb +15 -0
  65. data/sub/avm/lib/avm/file_formats/utf8_assert.rb +72 -0
  66. data/sub/avm/lib/avm/files/appendable/file_content.rb +28 -0
  67. data/sub/avm/lib/avm/files/appendable/plain_directory.rb +27 -0
  68. data/sub/avm/lib/avm/files/appendable/resource_base.rb +17 -0
  69. data/sub/avm/lib/avm/files/appendable/tar_output_command.rb +27 -0
  70. data/sub/avm/lib/avm/files/appendable/templatized_directory.rb +36 -0
  71. data/sub/avm/lib/avm/files/appendable.rb +51 -0
  72. data/sub/avm/lib/avm/files/appender.rb +9 -0
  73. data/sub/avm/lib/avm/files/deploy.rb +70 -0
  74. data/sub/avm/lib/avm/files/text_replacer/gsub.rb +22 -0
  75. data/sub/avm/lib/avm/files/text_replacer.rb +29 -0
  76. data/sub/avm/lib/avm/instances/base/auto_values/data.rb +28 -0
  77. data/sub/avm/lib/avm/instances/base/auto_values/database.rb +60 -0
  78. data/sub/avm/lib/avm/instances/base/auto_values/mailer.rb +31 -0
  79. data/sub/avm/lib/avm/instances/base/auto_values/source.rb +16 -0
  80. data/sub/avm/lib/avm/instances/base/auto_values.rb +12 -0
  81. data/sub/avm/lib/avm/instances/base/dockerizable.rb +41 -0
  82. data/sub/avm/lib/avm/instances/base/entry_keys.rb +25 -0
  83. data/sub/avm/lib/avm/instances/base/install.rb +28 -0
  84. data/sub/avm/lib/avm/instances/base/processes.rb +25 -0
  85. data/sub/avm/lib/avm/instances/base/production.rb +33 -0
  86. data/sub/avm/lib/avm/instances/base/subcommand_parent.rb +23 -0
  87. data/sub/avm/lib/avm/instances/base/web.rb +15 -0
  88. data/sub/avm/lib/avm/instances/base.rb +70 -0
  89. data/sub/avm/lib/avm/instances/data/files_unit.rb +57 -0
  90. data/sub/avm/lib/avm/instances/data/loading_denied_error.rb +10 -0
  91. data/sub/avm/lib/avm/instances/data/package.rb +25 -0
  92. data/sub/avm/lib/avm/instances/data/unit.rb +36 -0
  93. data/sub/avm/lib/avm/instances/docker_image.rb +13 -0
  94. data/sub/avm/lib/avm/instances/entry_keys.rb +39 -0
  95. data/sub/avm/lib/avm/instances/ids.rb +28 -0
  96. data/sub/avm/lib/avm/instances/process.rb +29 -0
  97. data/sub/avm/lib/avm/instances/runner.rb +34 -0
  98. data/sub/avm/lib/avm/launcher/context/instance_collector.rb +44 -0
  99. data/sub/avm/lib/avm/launcher/context/instance_discovery/root_source_wrappers.rb +31 -0
  100. data/sub/avm/lib/avm/launcher/context/instance_discovery/root_sources.rb +48 -0
  101. data/sub/avm/lib/avm/launcher/context/instance_discovery/source_wrapper.rb +62 -0
  102. data/sub/avm/lib/avm/launcher/context/instance_discovery.rb +27 -0
  103. data/sub/avm/lib/avm/launcher/context/instance_manager/cached_instance.rb +34 -0
  104. data/sub/avm/lib/avm/launcher/context/instance_manager/cached_instances.rb +32 -0
  105. data/sub/avm/lib/avm/launcher/context/instance_manager.rb +74 -0
  106. data/sub/avm/lib/avm/launcher/context/settings.rb +51 -0
  107. data/sub/avm/lib/avm/launcher/context.rb +83 -0
  108. data/sub/avm/lib/avm/launcher/errors/base.rb +10 -0
  109. data/sub/avm/lib/avm/launcher/errors/non_project.rb +13 -0
  110. data/sub/avm/lib/avm/launcher/instances/base/cache.rb +43 -0
  111. data/sub/avm/lib/avm/launcher/instances/base/publishing.rb +53 -0
  112. data/sub/avm/lib/avm/launcher/instances/base.rb +77 -0
  113. data/sub/avm/lib/avm/launcher/instances/error.rb +10 -0
  114. data/sub/avm/lib/avm/launcher/instances/runner_helper.rb +43 -0
  115. data/sub/avm/lib/avm/launcher/instances/settings.rb +24 -0
  116. data/sub/avm/lib/avm/launcher/paths/logical.rb +78 -0
  117. data/sub/avm/lib/avm/launcher/paths/real.rb +44 -0
  118. data/sub/avm/lib/avm/launcher/project.rb +15 -0
  119. data/sub/avm/lib/avm/launcher/publish/base.rb +44 -0
  120. data/sub/avm/lib/avm/launcher/publish/check_result.rb +64 -0
  121. data/sub/avm/lib/avm/launcher/stereotype.rb +63 -0
  122. data/sub/avm/lib/avm/patches/eac_config/entry_path.rb +44 -0
  123. data/sub/avm/lib/avm/path_string.rb +27 -0
  124. data/sub/avm/lib/avm/registry/application_scms.rb +13 -0
  125. data/sub/avm/lib/avm/registry/application_stereotypes/build_available.rb +45 -0
  126. data/sub/avm/lib/avm/registry/application_stereotypes/stereotype_builder.rb +30 -0
  127. data/sub/avm/lib/avm/registry/application_stereotypes.rb +42 -0
  128. data/sub/avm/lib/avm/registry/applications.rb +35 -0
  129. data/sub/avm/lib/avm/registry/base.rb +26 -0
  130. data/sub/avm/lib/avm/registry/config_objects.rb +15 -0
  131. data/sub/avm/lib/avm/registry/detection_error.rb +8 -0
  132. data/sub/avm/lib/avm/registry/file_formats.rb +17 -0
  133. data/sub/avm/lib/avm/registry/from_gems.rb +67 -0
  134. data/sub/avm/lib/avm/registry/instances.rb +13 -0
  135. data/sub/avm/lib/avm/registry/launcher_stereotypes.rb +8 -0
  136. data/sub/avm/lib/avm/registry/runners.rb +8 -0
  137. data/sub/avm/lib/avm/registry/scms.rb +8 -0
  138. data/sub/avm/lib/avm/registry/source_generators.rb +14 -0
  139. data/sub/avm/lib/avm/registry/sources.rb +38 -0
  140. data/sub/avm/lib/avm/registry/with_path/cache.rb +28 -0
  141. data/sub/avm/lib/avm/registry/with_path.rb +44 -0
  142. data/sub/avm/lib/avm/registry.rb +31 -0
  143. data/sub/avm/lib/avm/result.rb +80 -0
  144. data/sub/avm/lib/avm/rspec/launcher_controller.rb +102 -0
  145. data/sub/avm/lib/avm/rspec/setup/launcher.rb +18 -0
  146. data/sub/avm/lib/avm/rspec/setup/source_generator.rb +20 -0
  147. data/sub/avm/lib/avm/rspec/setup.rb +32 -0
  148. data/sub/avm/lib/avm/rspec/shared_examples/avm_file_format_file_resource_name.rb +13 -0
  149. data/sub/avm/lib/avm/rspec/shared_examples/avm_file_formats_with_fixtures.rb +28 -0
  150. data/sub/avm/lib/avm/rspec/shared_examples/avm_source_generated.rb +27 -0
  151. data/sub/avm/lib/avm/rspec/shared_examples/entries_values.rb +19 -0
  152. data/sub/avm/lib/avm/rspec/shared_examples/in_avm_registry.rb +9 -0
  153. data/sub/avm/lib/avm/rspec/shared_examples/not_in_avm_registry.rb +12 -0
  154. data/sub/avm/lib/avm/rspec/shared_examples/with_config.rb +9 -0
  155. data/sub/avm/lib/avm/rspec/shared_examples/with_launcher.rb +13 -0
  156. data/sub/avm/lib/avm/runner_with/file_replacer.rb +28 -0
  157. data/sub/avm/lib/avm/runner_with/filesystem_renamer.rb +99 -0
  158. data/sub/avm/lib/avm/runner_with/filesystem_traverser.rb +49 -0
  159. data/sub/avm/lib/avm/runners/base.rb +25 -0
  160. data/sub/avm/lib/avm/scms/auto_commit/file_resource_name.rb +47 -0
  161. data/sub/avm/lib/avm/scms/auto_commit/for_file.rb +79 -0
  162. data/sub/avm/lib/avm/scms/auto_commit/rules/base.rb +37 -0
  163. data/sub/avm/lib/avm/scms/auto_commit/rules/last.rb +17 -0
  164. data/sub/avm/lib/avm/scms/auto_commit/rules/manual.rb +38 -0
  165. data/sub/avm/lib/avm/scms/auto_commit/rules/new.rb +21 -0
  166. data/sub/avm/lib/avm/scms/auto_commit/rules/nth.rb +29 -0
  167. data/sub/avm/lib/avm/scms/auto_commit/rules/unique.rb +19 -0
  168. data/sub/avm/lib/avm/scms/auto_commit/rules.rb +32 -0
  169. data/sub/avm/lib/avm/scms/base/branches.rb +20 -0
  170. data/sub/avm/lib/avm/scms/base/commits.rb +32 -0
  171. data/sub/avm/lib/avm/scms/base/milestones.rb +19 -0
  172. data/sub/avm/lib/avm/scms/base/remotes.rb +20 -0
  173. data/sub/avm/lib/avm/scms/base.rb +59 -0
  174. data/sub/avm/lib/avm/scms/branch.rb +24 -0
  175. data/sub/avm/lib/avm/scms/changed_file.rb +46 -0
  176. data/sub/avm/lib/avm/scms/commit.rb +64 -0
  177. data/sub/avm/lib/avm/scms/commit_info.rb +37 -0
  178. data/sub/avm/lib/avm/scms/inflector.rb +22 -0
  179. data/sub/avm/lib/avm/scms/interval.rb +16 -0
  180. data/sub/avm/lib/avm/scms/null/commit.rb +11 -0
  181. data/sub/avm/lib/avm/scms/null.rb +16 -0
  182. data/sub/avm/lib/avm/scms/remote.rb +9 -0
  183. data/sub/avm/lib/avm/self/docker_image.rb +11 -0
  184. data/sub/avm/lib/avm/self/instance/entry_keys.rb +12 -0
  185. data/sub/avm/lib/avm/self/instance.rb +27 -0
  186. data/sub/avm/lib/avm/source_generators/base.rb +69 -0
  187. data/sub/avm/lib/avm/source_generators/option.rb +11 -0
  188. data/sub/avm/lib/avm/source_generators/option_list.rb +29 -0
  189. data/sub/avm/lib/avm/source_generators/runner.rb +55 -0
  190. data/sub/avm/lib/avm/sources/auto_commit/for_file.rb +29 -0
  191. data/sub/avm/lib/avm/sources/base/application.rb +32 -0
  192. data/sub/avm/lib/avm/sources/base/configuration.rb +89 -0
  193. data/sub/avm/lib/avm/sources/base/instance.rb +13 -0
  194. data/sub/avm/lib/avm/sources/base/locale.rb +30 -0
  195. data/sub/avm/lib/avm/sources/base/organizational.rb +30 -0
  196. data/sub/avm/lib/avm/sources/base/parent.rb +26 -0
  197. data/sub/avm/lib/avm/sources/base/stereotype.rb +16 -0
  198. data/sub/avm/lib/avm/sources/base/sub/remove.rb +36 -0
  199. data/sub/avm/lib/avm/sources/base/sub.rb +23 -0
  200. data/sub/avm/lib/avm/sources/base/subs.rb +63 -0
  201. data/sub/avm/lib/avm/sources/base/subs_paths.rb +30 -0
  202. data/sub/avm/lib/avm/sources/base/testing.rb +67 -0
  203. data/sub/avm/lib/avm/sources/base/update.rb +37 -0
  204. data/sub/avm/lib/avm/sources/base/update_sub.rb +55 -0
  205. data/sub/avm/lib/avm/sources/base/update_subs.rb +17 -0
  206. data/sub/avm/lib/avm/sources/base/version_bump.rb +26 -0
  207. data/sub/avm/lib/avm/sources/base.rb +56 -0
  208. data/sub/avm/lib/avm/sources/configuration/rubocop.rb +26 -0
  209. data/sub/avm/lib/avm/sources/configuration.rb +57 -0
  210. data/sub/avm/lib/avm/sources/issues/deliver.rb +51 -0
  211. data/sub/avm/lib/avm/sources/runner.rb +38 -0
  212. data/sub/avm/lib/avm/sources/tests/builder.rb +94 -0
  213. data/sub/avm/lib/avm/sources/tests/performer.rb +32 -0
  214. data/sub/avm/lib/avm/sources/tests/result.rb +13 -0
  215. data/sub/avm/lib/avm/sources/tests/single.rb +71 -0
  216. data/sub/avm/lib/avm/sources/update_error.rb +8 -0
  217. data/sub/avm/lib/avm/sync.rb +90 -0
  218. data/sub/avm/lib/avm/version.rb +5 -0
  219. data/sub/avm/lib/avm/version_number.rb +45 -0
  220. data/sub/avm/lib/avm/with/application_stereotype.rb +29 -0
  221. data/sub/avm/lib/avm/with/extra_subcommands.rb +41 -0
  222. data/sub/avm/lib/avm.rb +18 -0
  223. data/sub/avm/locale/en.yml +6 -0
  224. data/sub/avm/locale/pt-BR.yml +6 -0
  225. data/sub/avm/spec/lib/avm/applications/base/entries_spec.rb +29 -0
  226. data/sub/avm/spec/lib/avm/applications/base/entries_spec_files/config.yml +12 -0
  227. data/sub/avm/spec/lib/avm/applications/base_spec.rb +21 -0
  228. data/sub/avm/spec/lib/avm/applications/base_spec_fixture.yml +3 -0
  229. data/sub/avm/spec/lib/avm/file_formats/base_spec.rb +9 -0
  230. data/sub/avm/spec/lib/avm/instances/base/entries_spec.rb +78 -0
  231. data/sub/avm/spec/lib/avm/instances/base/entries_spec_files/config.yml +50 -0
  232. data/sub/avm/spec/lib/avm/instances/base_spec.rb +29 -0
  233. data/sub/avm/spec/lib/avm/launcher/context_spec.rb +102 -0
  234. data/sub/avm/spec/lib/avm/launcher/context_spec.yml +5 -0
  235. data/sub/avm/spec/lib/avm/launcher/context_spec_files/config.yml +9 -0
  236. data/sub/avm/spec/lib/avm/launcher/instances/base_spec.rb +39 -0
  237. data/sub/avm/spec/lib/avm/launcher/instances/base_spec_files/config.yml +5 -0
  238. data/sub/avm/spec/lib/avm/launcher/instances/base_spec_files/settings.yaml +5 -0
  239. data/sub/avm/spec/lib/avm/patches/eac_config/entry_path_spec.rb +26 -0
  240. data/sub/avm/spec/lib/avm/scms/auto_commit/file_resource_name_spec.rb +20 -0
  241. data/sub/avm/spec/lib/avm/scms/base_spec.rb +5 -0
  242. data/sub/avm/spec/lib/avm/sources/base_spec.rb +5 -0
  243. data/sub/avm/spec/lib/avm/sources/runner_spec.rb +7 -0
  244. data/sub/avm/spec/meta/rubocop_spec.rb +3 -0
  245. data/sub/avm/spec/spec_helper/launcher_context/settings.yml +6 -0
  246. data/sub/{avm-eac_webapp_base0 → avm}/spec/spec_helper.rb +3 -1
  247. data/sub/avm/template/avm/rspec/launcher_controller/dummy/avm-tools_stub/avm-tools.gemspec +29 -0
  248. data/sub/{avm-eac_webapp_base0/lib/avm/eac_webapp_base0 → avm/template/avm/rspec/launcher_controller/dummy/avm-tools_stub/lib/avm/tools}/version.rb +2 -2
  249. data/sub/avm/template/avm/rspec/launcher_controller/dummy/avm-tools_stub/lib/avm/tools.rb +6 -0
  250. data/sub/avm/template/avm/rspec/launcher_controller/dummy/ruby_gem_stub/lib/ruby_gem_stub/version.rb +5 -0
  251. data/sub/avm/template/avm/rspec/launcher_controller/dummy/ruby_gem_stub/lib/ruby_gem_stub.rb +3 -0
  252. data/sub/avm/template/avm/rspec/launcher_controller/dummy/ruby_gem_stub/ruby_gem_stub.gemspec +16 -0
  253. data/sub/avm/template/avm/rspec/launcher_controller/settings.yml +1 -0
  254. data/sub/avm/template/avm/self/docker_image/Dockerfile +17 -0
  255. data/sub/avm/template/avm/self/docker_image/entrypoint.sh +12 -0
  256. data/sub/avm-eac_generic_base0/.gitrepo +7 -0
  257. data/sub/avm-eac_generic_base0/avm-eac_generic_base0.gemspec +21 -0
  258. data/sub/avm-eac_generic_base0/lib/avm/eac_generic_base0/file_formats/base/apply.rb +29 -0
  259. data/sub/avm-eac_generic_base0/lib/avm/eac_generic_base0/file_formats/base/file_resource_name_helper.rb +21 -0
  260. data/sub/avm-eac_generic_base0/lib/avm/eac_generic_base0/file_formats/base/match.rb +65 -0
  261. data/sub/avm-eac_generic_base0/lib/avm/eac_generic_base0/file_formats/base.rb +38 -0
  262. data/sub/avm-eac_generic_base0/lib/avm/eac_generic_base0/instances/base.rb +10 -0
  263. data/sub/avm-eac_generic_base0/lib/avm/eac_generic_base0/sources/base.rb +40 -0
  264. data/sub/avm-eac_generic_base0/lib/avm/eac_generic_base0/sources/docker/runner.rb +59 -0
  265. data/sub/avm-eac_generic_base0/lib/avm/eac_generic_base0/version.rb +7 -0
  266. data/sub/{avm-eac_webapp_base0/lib/avm/eac_webapp_base0.rb → avm-eac_generic_base0/lib/avm/eac_generic_base0.rb} +1 -4
  267. data/sub/avm-eac_generic_base0/locale/en.yml +6 -0
  268. data/sub/avm-eac_generic_base0/locale/pt-BR.yml +6 -0
  269. data/sub/avm-eac_generic_base0/spec/lib/avm/eac_generic_base0/file_formats/base_spec.rb +5 -0
  270. data/sub/avm-eac_generic_base0/spec/lib/avm/eac_generic_base0/file_formats/base_spec_files/plain_text.source +3 -0
  271. data/sub/avm-eac_generic_base0/spec/lib/avm/eac_generic_base0/file_formats/base_spec_files/plain_text.target +3 -0
  272. data/sub/avm-eac_generic_base0/spec/lib/avm/eac_generic_base0/sources/base_spec.rb +5 -0
  273. data/sub/avm-eac_generic_base0/spec/spec_helper.rb +5 -0
  274. metadata +280 -68
  275. data/sub/avm-eac_webapp_base0/.gitrepo +0 -7
  276. data/sub/avm-eac_webapp_base0/avm-eac_webapp_base0.gemspec +0 -24
  277. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/executables.rb +0 -23
  278. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/file_formats/css/file_apply.rb +0 -44
  279. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/file_formats/css.rb +0 -17
  280. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/file_formats/html.rb +0 -42
  281. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/file_formats/javascript.rb +0 -19
  282. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/file_formats/json.rb +0 -25
  283. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/file_formats/provider.rb +0 -17
  284. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/file_formats/xml.rb +0 -23
  285. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/apache_base.rb +0 -28
  286. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/apache_host.rb +0 -72
  287. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/apache_path.rb +0 -37
  288. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/base/apache.rb +0 -42
  289. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/base/deploy.rb +0 -24
  290. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/base/deploy_info.rb +0 -27
  291. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/base/install.rb +0 -24
  292. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/base.rb +0 -37
  293. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/deploy/appended_directories.rb +0 -25
  294. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/deploy/build.rb +0 -45
  295. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/deploy/info.rb +0 -44
  296. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/deploy/scm.rb +0 -88
  297. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/deploy/setup_files_unit.rb +0 -53
  298. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/deploy/write_on_target.rb +0 -18
  299. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/deploy.rb +0 -70
  300. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/deploy_info.rb +0 -35
  301. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/processes/web_server.rb +0 -34
  302. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/runners/apache_host.rb +0 -34
  303. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/runners/apache_path.rb +0 -38
  304. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/runners/deploy.rb +0 -47
  305. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/runners/deploy_info.rb +0 -24
  306. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/sources/base.rb +0 -13
  307. data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/css_spec.rb +0 -7
  308. data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/css_spec_files/css1.source.css +0 -11
  309. data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/css_spec_files/css1.target.css +0 -11
  310. data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/html_spec.rb +0 -7
  311. data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/html_spec_files/html_code.html.erb.source +0 -8
  312. data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/html_spec_files/html_code.html.erb.target +0 -8
  313. data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/html_spec_files/html_code.html.source +0 -5
  314. data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/html_spec_files/html_code.html.target +0 -5
  315. data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/javascript_spec.rb +0 -7
  316. data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/javascript_spec_files/javascript_code1.js.source +0 -29
  317. data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/javascript_spec_files/javascript_code1.js.target +0 -21
  318. data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/json_spec.rb +0 -7
  319. data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/json_spec_files/json_code.json.source +0 -8
  320. data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/json_spec_files/json_code.json.target +0 -7
  321. data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/xml_spec.rb +0 -7
  322. data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/xml_spec_files/xml_code.xml.source +0 -11
  323. data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/xml_spec_files/xml_code.xml.target +0 -9
  324. data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/instances/base_spec.rb +0 -11
  325. data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/sources/base_spec.rb +0 -7
  326. data/sub/avm-eac_webapp_base0/template/avm/eac_webapp_base0/instances/apache_host/no_ssl.conf +0 -11
  327. data/sub/avm-eac_webapp_base0/template/avm/eac_webapp_base0/instances/apache_path/default.conf +0 -7
  328. data/sub/avm-eac_webapp_base0/template/avm/eac_webapp_base0/instances/deploy/.keep +0 -1
  329. /data/sub/{avm-eac_webapp_base0 → avm-eac_generic_base0}/.gitignore +0 -0
  330. /data/sub/{avm-eac_webapp_base0 → avm-eac_generic_base0}/.rspec +0 -0
  331. /data/sub/{avm-eac_webapp_base0 → avm-eac_generic_base0}/.rubocop.yml +0 -0
  332. /data/sub/{avm-eac_webapp_base0 → avm-eac_generic_base0}/Gemfile +0 -0
  333. /data/sub/{avm-eac_webapp_base0/spec/meta → avm-eac_generic_base0/spec}/rubocop_spec.rb +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 41194e1d0ff33c126e03d3af8d789b95ac501a67adb484d105f70d1b9b118105
4
- data.tar.gz: 6d45397f36f7eeb1602304e8bb335962792ad2dbecab475e1d12145d18703ded
3
+ metadata.gz: 12cba04d2fca4d8decd2065f615918155947c6f0b9d08b52ac3d55d12f189dc2
4
+ data.tar.gz: ac8a37832d991d81e8dd685d95fb2ec2a844275ef555c54da5df40c0f43b9739
5
5
  SHA512:
6
- metadata.gz: 57155ae140f992e274941a7728db642211d81edfc55f0e56dc5f5836b9cc56324716e9de644d0224da258095e7d4e2e0f980a34e0fa84afada7ca5c97f605bd9
7
- data.tar.gz: 562fcfd270372eb6fbfdb72ffea3389d149a3ca30d871115c64ea30cf617969f4e03d86163259e47566187404158693bb1556195af22e15a64aa6bd5ffb9d573
6
+ metadata.gz: 39eb9e006d4a8fa38366e5164c4dab73aac8f8345a66aa8f80fdca15ce0f43ac01428ebae510ce6e8132e1875289497d24fc8f84ba29f8c0bfa1058da08825b0
7
+ data.tar.gz: 97fa9487da030ebcf7ddc6ec3970c4f7d3c69302309e2c0867951e8f04aa5b0acef5132a2012c60711910b07a33c45e9b102a379a9db10159ab0d00f5b097f93
data/Gemfile.lock CHANGED
@@ -1,10 +1,10 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- eac_tools (0.115.1)
5
- avm (~> 0.100)
4
+ eac_tools (0.116.0)
5
+ avm (~> 0.101)
6
6
  avm-eac_asciidoctor_base0 (~> 0.27)
7
- avm-eac_generic_base0 (~> 0.15, >= 0.15.2)
7
+ avm-eac_generic_base0 (~> 0.15, >= 0.15.3)
8
8
  avm-eac_github_base0 (~> 0.4, >= 0.4.1)
9
9
  avm-eac_gitlab_base0 (~> 0.6)
10
10
  avm-eac_latex_base0 (~> 0.3, >= 0.3.2)
@@ -24,15 +24,23 @@ PATH
24
24
  eac_ruby_utils (~> 0.131)
25
25
 
26
26
  PATH
27
- remote: sub/avm-eac_webapp_base0
27
+ remote: sub/avm-eac_generic_base0
28
28
  specs:
29
- avm-eac_webapp_base0 (0.22.2)
29
+ avm-eac_generic_base0 (0.15.3)
30
30
  avm (~> 0.100)
31
- avm-eac_generic_base0 (~> 0.15, >= 0.15.2)
32
- avm-eac_postgresql_base0 (~> 0.6)
33
- avm-eac_ubuntu_base0 (~> 0.7)
34
31
  eac_ruby_utils (~> 0.131)
35
- htmlbeautifier (~> 1.4, >= 1.4.3)
32
+
33
+ PATH
34
+ remote: sub/avm
35
+ specs:
36
+ avm (0.101.0)
37
+ eac_cli (~> 0.47)
38
+ eac_config (~> 0.15)
39
+ eac_docker (~> 0.8)
40
+ eac_fs (~> 0.20, >= 0.20.2)
41
+ eac_ruby_utils (~> 0.131)
42
+ eac_templates (~> 0.8, >= 0.8.3)
43
+ minitar (~> 0.12, >= 0.12.1)
36
44
 
37
45
  GEM
38
46
  remote: https://rubygems.org/
@@ -57,14 +65,6 @@ GEM
57
65
  asciidoctor (2.0.26)
58
66
  ast (2.4.3)
59
67
  attr_extras (7.1.0)
60
- avm (0.100.0)
61
- eac_cli (~> 0.46)
62
- eac_config (~> 0.15)
63
- eac_docker (~> 0.8)
64
- eac_fs (~> 0.20, >= 0.20.1)
65
- eac_ruby_utils (~> 0.130)
66
- eac_templates (~> 0.8, >= 0.8.3)
67
- minitar (~> 0.12, >= 0.12.1)
68
68
  avm-eac_asciidoctor_base0 (0.27.0)
69
69
  asciidoctor (~> 2.0, >= 2.0.26)
70
70
  avm-eac_webapp_base0 (~> 0.22, >= 0.22.1)
@@ -72,9 +72,6 @@ GEM
72
72
  eac_ruby_utils (~> 0.130)
73
73
  os (~> 1.1, >= 1.1.4)
74
74
  rouge (~> 3.30)
75
- avm-eac_generic_base0 (0.15.2)
76
- avm (~> 0.98, >= 0.98.2)
77
- eac_ruby_utils (~> 0.128, >= 0.128.6)
78
75
  avm-eac_github_base0 (0.4.1)
79
76
  avm (~> 0.98, >= 0.98.5)
80
77
  avm-git (~> 0.21, >= 0.21.2)
@@ -129,6 +126,13 @@ GEM
129
126
  avm (~> 0.98, >= 0.98.2)
130
127
  eac_ruby_utils (~> 0.128, >= 0.128.6)
131
128
  eac_templates (~> 0.8, >= 0.8.3)
129
+ avm-eac_webapp_base0 (0.22.2)
130
+ avm (~> 0.100)
131
+ avm-eac_generic_base0 (~> 0.15, >= 0.15.2)
132
+ avm-eac_postgresql_base0 (~> 0.6)
133
+ avm-eac_ubuntu_base0 (~> 0.7)
134
+ eac_ruby_utils (~> 0.131)
135
+ htmlbeautifier (~> 1.4, >= 1.4.3)
132
136
  avm-eac_wordpress_base0 (0.3.2)
133
137
  avm (~> 0.86, >= 0.86.2)
134
138
  avm-eac_webapp_base0 (~> 0.18, >= 0.18.4)
@@ -227,7 +231,7 @@ GEM
227
231
  htmlbeautifier (1.4.3)
228
232
  i18n (1.15.2)
229
233
  concurrent-ruby (~> 1.0)
230
- json (2.19.9)
234
+ json (2.20.0)
231
235
  language_server-protocol (3.17.0.5)
232
236
  lint_roller (1.1.0)
233
237
  logger (1.7.0)
@@ -332,7 +336,8 @@ PLATFORMS
332
336
  x86_64-linux-gnu
333
337
 
334
338
  DEPENDENCIES
335
- avm-eac_webapp_base0!
339
+ avm!
340
+ avm-eac_generic_base0!
336
341
  eac_ruby_gem_support (~> 0.13)
337
342
  eac_tools!
338
343
 
data/eac_tools.gemspec CHANGED
@@ -18,9 +18,9 @@ Gem::Specification.new do |s|
18
18
 
19
19
  s.required_ruby_version = '>= 3.2'
20
20
 
21
- s.add_dependency 'avm', '~> 0.100'
21
+ s.add_dependency 'avm', '~> 0.101'
22
22
  s.add_dependency 'avm-eac_asciidoctor_base0', '~> 0.27'
23
- s.add_dependency 'avm-eac_generic_base0', '~> 0.15', '>= 0.15.2'
23
+ s.add_dependency 'avm-eac_generic_base0', '~> 0.15', '>= 0.15.3'
24
24
  s.add_dependency 'avm-eac_github_base0', '~> 0.4', '>= 0.4.1'
25
25
  s.add_dependency 'avm-eac_gitlab_base0', '~> 0.6'
26
26
  s.add_dependency 'avm-eac_latex_base0', '~> 0.3', '>= 0.3.2'
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module EacTools
4
- VERSION = '0.115.1'
4
+ VERSION = '0.116.0'
5
5
  end
@@ -0,0 +1,2 @@
1
+ Gemfile.local
2
+ Gemfile.lock
data/sub/avm/.gitrepo ADDED
@@ -0,0 +1,12 @@
1
+ ; DO NOT EDIT (unless you know what you are doing)
2
+ ;
3
+ ; This subdirectory is a git "subrepo", and this file is maintained by the
4
+ ; git-subrepo command. See https://github.com/ingydotnet/git-subrepo#readme
5
+ ;
6
+ [subrepo]
7
+ remote = https://github.com/esquilo-azul/avm.git
8
+ branch = master
9
+ commit = 2fdb79634e3a29fe46f66434dea79eb503695c58
10
+ parent = 74262a07ae841ac6f23462c7fe2e7fce27eb8a6c
11
+ method = merge
12
+ cmdver = 0.4.9
data/sub/avm/.rspec ADDED
@@ -0,0 +1 @@
1
+ --require spec_helper
@@ -0,0 +1,3 @@
1
+ ---
2
+ inherit_gem:
3
+ eac_ruby_gem_support: ".rubocop.yml"
data/sub/avm/Gemfile ADDED
@@ -0,0 +1,8 @@
1
+ # frozen_string_literal: true
2
+
3
+ source 'https://rubygems.org'
4
+
5
+ gemspec
6
+
7
+ local_gemfile = File.join(File.dirname(__FILE__), 'Gemfile.local')
8
+ eval_gemfile local_gemfile if File.exist?(local_gemfile)
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ $LOAD_PATH.push File.expand_path('lib', __dir__)
4
+
5
+ require 'avm/version'
6
+
7
+ Gem::Specification.new do |s|
8
+ s.name = 'avm'
9
+ s.version = Avm::VERSION
10
+ s.authors = ['Eduardo H. Bogoni']
11
+ s.summary = 'Ruby base library for Agora Vai! Methodology (https://avm.esquiloazul.tech).'
12
+
13
+ s.files = Dir.glob('{lib,locale,template}/**/*', File::FNM_DOTMATCH)
14
+ .reject { |f| ['.', '..'].include?(File.basename(f)) }
15
+ s.required_ruby_version = '>= 3.2'
16
+
17
+ s.add_dependency 'eac_cli', '~> 0.47'
18
+ s.add_dependency 'eac_config', '~> 0.15'
19
+ s.add_dependency 'eac_docker', '~> 0.8'
20
+ s.add_dependency 'eac_fs', '~> 0.20', '>= 0.20.2'
21
+ s.add_dependency 'eac_ruby_utils', '~> 0.131'
22
+ s.add_dependency 'eac_templates', '~> 0.8', '>= 0.8.3'
23
+ s.add_dependency 'minitar', '~> 0.12', '>= 0.12.1'
24
+
25
+ s.add_development_dependency 'avm-eac_ruby_base1', '~> 0.41', '>= 0.41.1'
26
+ s.add_development_dependency 'avm-git', '~> 0.21', '>= 0.21.2'
27
+ s.add_development_dependency 'eac_ruby_gem_support', '~> 0.13'
28
+ end
@@ -0,0 +1,37 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module ApplicationScms
5
+ class Base
6
+ acts_as_abstract
7
+
8
+ class << self
9
+ # @return [String]
10
+ def type_name
11
+ name.gsub(/#{Regexp.quote('::ApplicationScms::Base')}$/, '').demodulize
12
+ end
13
+ end
14
+
15
+ # !method initialize(application)
16
+ # @param application [Avm::Application::Base]
17
+ common_constructor :application
18
+ delegate :type_name, to: :class
19
+
20
+ # @param path [Pathname]
21
+ # @return [Pathname]
22
+ def assert_main_at(path) # rubocop:disable Lint/UnusedMethodArgument
23
+ raise_abstract_method __method__
24
+ end
25
+
26
+ # @return [String]
27
+ def to_s
28
+ "#{type_name}[#{to_s_type_specific}]"
29
+ end
30
+
31
+ # @return [String]
32
+ def to_s_type_specific
33
+ ''
34
+ end
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,29 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module ApplicationStereotypes
5
+ class Base
6
+ enable_listable
7
+ lists.add_symbol :resource, :instance, :source, :source_generator
8
+ common_constructor :namespace_module, :resources do
9
+ self.resources = self.class.lists.resource.hash_keys_validate!(resources)
10
+ end
11
+
12
+ # @return [String]
13
+ def name
14
+ namespace_module.name.demodulize
15
+ end
16
+
17
+ # @return [String]
18
+ def to_s
19
+ name
20
+ end
21
+
22
+ lists.resource.each_value do |resource|
23
+ define_method "#{resource}_class" do
24
+ resources[resource]
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module Applications
5
+ class Base
6
+ class AutoLocalSourcePath
7
+ acts_as_instance_method
8
+ common_constructor :application
9
+
10
+ # @return [Pathname]
11
+ def result
12
+ application.scm.assert_main_at(fs_cache.path.to_pathname)
13
+ end
14
+
15
+ # @return [String]
16
+ def fs_object_id
17
+ application.id.to_s.parameterize
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module Applications
5
+ class Base
6
+ module LocalInstance
7
+ LOCAL_INSTANCE_SUFFIX = 'dev'
8
+
9
+ # @return [String]
10
+ def local_instance_id
11
+ ::Avm::Instances::Ids.build(id, local_instance_suffix)
12
+ end
13
+
14
+ # @return [String]
15
+ def local_instance_suffix
16
+ LOCAL_INSTANCE_SUFFIX
17
+ end
18
+
19
+ private
20
+
21
+ # @return [Avm::Instances::Base]
22
+ def local_instance_uncached
23
+ instance(local_instance_suffix)
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,31 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module Applications
5
+ class Base
6
+ module LocalSource
7
+ # @return [Pathname]
8
+ def local_source_path
9
+ user_local_source_path || auto_local_source_path
10
+ end
11
+
12
+ # @return [EacConfig::Entry]
13
+ def local_source_path_entry
14
+ ::EacConfig::Node.context.current.entry([local_instance_id, 'install', 'path'])
15
+ end
16
+
17
+ # @return [Path, nil]
18
+ def user_local_source_path
19
+ local_source_path_entry.value.if_present(&:to_pathname)
20
+ end
21
+
22
+ private
23
+
24
+ # @return [Avm::Sources::Base]
25
+ def local_source_uncached
26
+ ::Avm::Registry.sources.detect(local_source_path)
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module Applications
5
+ class Base
6
+ module Naming
7
+ DEFAULT_NAME = '_Undefined_'
8
+
9
+ # @return [String]
10
+ def default_name
11
+ DEFAULT_NAME
12
+ end
13
+
14
+ # @return [String]
15
+ def name
16
+ name_from_configuration || default_name
17
+ end
18
+
19
+ # @return [String]
20
+ def name_from_configuration
21
+ entry(::Avm::Instances::EntryKeys::NAME).optional_value
22
+ end
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,27 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module Applications
5
+ class Base
6
+ module Organization
7
+ DEFAULT_ORGANIZATION = '_undefined_'
8
+ ORGANIZATION_CONFIG_KEY = 'organization'
9
+
10
+ # @return [String]
11
+ def default_organization
12
+ DEFAULT_ORGANIZATION
13
+ end
14
+
15
+ # @return [String, nil]
16
+ def organization_by_configuration
17
+ entry(ORGANIZATION_CONFIG_KEY).optional_value
18
+ end
19
+
20
+ # @return [String]
21
+ def organization
22
+ organization_by_configuration || default_organization
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,39 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module Applications
5
+ class Base
6
+ module Publishing
7
+ PUBLISHABLE_KEY = 'publishable'
8
+
9
+ def publishable?
10
+ publishable_value ? true : false
11
+ end
12
+
13
+ def stereotype_publishable?(stereotype)
14
+ return publishable? unless publishable_value.is_a?(::Hash)
15
+
16
+ parse_publishable_value(publishable_value[stereotype.stereotype_name], true)
17
+ end
18
+
19
+ private
20
+
21
+ def publishable_value
22
+ parse_publishable_value(entry(PUBLISHABLE_KEY).optional_value, false)
23
+ end
24
+
25
+ def parse_publishable_value(value, hash_to_true)
26
+ return value.with_indifferent_access if parse_publishable_value_hash?(value, hash_to_true)
27
+ return true if value.nil? || value == true
28
+ return false if value == false || value.is_a?(::EacRubyUtils::BlankNotBlank)
29
+
30
+ value ? true : false
31
+ end
32
+
33
+ def parse_publishable_value_hash?(value, hash_to_true)
34
+ !hash_to_true && value.is_a?(::Hash)
35
+ end
36
+ end
37
+ end
38
+ end
39
+ end
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module Applications
5
+ class Base
6
+ module Scm
7
+ common_concern do
8
+ uri_components_entries_values 'scm', %w[repos_path ssh_username type]
9
+ end
10
+
11
+ # @return [Avm::ApplicationScms::Base]
12
+ def scm
13
+ @scm ||= ::Avm::Registry.application_scms.detect(self)
14
+ end
15
+
16
+ # @param value [String]
17
+ # @return [String]
18
+ def scm_repos_path_inherited_value_proc(value)
19
+ value.to_pathname.join(id).to_path
20
+ end
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,29 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module Applications
5
+ class Base
6
+ module Stereotype
7
+ # @return [Avm::ApplicationStereotypes::Base, nil]
8
+ def stereotype_by_configuration
9
+ entry('stereotype').optional_value.if_present do |v|
10
+ ::Avm::Registry.application_stereotypes.detect(v)
11
+ end
12
+ end
13
+
14
+ # @return [Avm::ApplicationStereotypes::Base, nil]
15
+ def stereotype_by_source
16
+ ::Avm::Registry.application_stereotypes.detect_optional(local_source.class)
17
+ end
18
+
19
+ private
20
+
21
+ # @return [Avm::ApplicationStereotypes::Base]
22
+ def stereotype_uncached
23
+ stereotype_by_configuration || stereotype_by_source ||
24
+ raise("Could not find stereotype for application \"#{self}\"")
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,34 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module Applications
5
+ class Base
6
+ enable_simple_cache
7
+ include ::Avm::Entries::Base
8
+
9
+ AVM_TYPE = 'Application'
10
+
11
+ class << self
12
+ # @param id [String]
13
+ # @return [Avm::Applications::Base]
14
+ def by_id(id)
15
+ new(id)
16
+ end
17
+ end
18
+
19
+ common_constructor :id do
20
+ self.id = id.to_s
21
+ end
22
+
23
+ def to_s
24
+ id
25
+ end
26
+
27
+ def instance(suffix)
28
+ stereotype.instance_class.new(self, suffix)
29
+ end
30
+
31
+ require_sub __FILE__, include_modules: true, require_mode: :kernel
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,36 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'active_support/callbacks'
4
+
5
+ module Avm
6
+ module Data
7
+ module Callbacks
8
+ common_concern do
9
+ include ::ActiveSupport::Callbacks
10
+
11
+ %i[dump load].each do |action|
12
+ define_callbacks action
13
+
14
+ %i[before after].each do |callback|
15
+ method_name = "#{callback}_#{action}"
16
+ singleton_class.class_eval do
17
+ define_method method_name do |callback_method = nil, &block|
18
+ if callback_method
19
+ set_callback action, callback, callback_method
20
+ else
21
+ set_callback action, callback, &block
22
+ end
23
+ self
24
+ end
25
+ end
26
+
27
+ define_method method_name do |callback_method = nil, &block|
28
+ singleton_class.send(method_name, callback_method, &block)
29
+ self
30
+ end
31
+ end
32
+ end
33
+ end
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avm
4
+ module Data
5
+ class Clearer < ::Avm::Data::Performer
6
+ def cannot_perform_reason
7
+ nil
8
+ end
9
+
10
+ protected
11
+
12
+ def internal_perform
13
+ data_owner.clear(*include_excludes_arguments)
14
+ end
15
+ end
16
+ end
17
+ end