eac_tools 0.88.0 → 0.89.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (316) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +24 -24
  3. data/lib/eac_tools/version.rb +1 -1
  4. data/sub/avm/avm.gemspec +28 -0
  5. data/sub/avm/lib/avm/application_scms/base.rb +39 -0
  6. data/sub/{avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0.rb → avm/lib/avm/application_scms.rb} +1 -1
  7. data/sub/avm/lib/avm/application_stereotypes/base.rb +31 -0
  8. data/sub/avm/lib/avm/application_stereotypes.rb +9 -0
  9. data/sub/avm/lib/avm/applications/base/auto_local_source_path.rb +24 -0
  10. data/sub/avm/lib/avm/applications/base/local_instance.rb +31 -0
  11. data/sub/avm/lib/avm/applications/base/local_source.rb +35 -0
  12. data/sub/avm/lib/avm/applications/base/naming.rb +28 -0
  13. data/sub/avm/lib/avm/applications/base/organization.rb +29 -0
  14. data/sub/avm/lib/avm/applications/base/publishing.rb +43 -0
  15. data/sub/avm/lib/avm/applications/base/scm.rb +27 -0
  16. data/sub/avm/lib/avm/applications/base/stereotype.rb +31 -0
  17. data/sub/avm/lib/avm/applications/base.rb +37 -0
  18. data/sub/avm/lib/avm/applications.rb +9 -0
  19. data/sub/avm/lib/avm/data/callbacks.rb +37 -0
  20. data/sub/avm/lib/avm/data/clearer.rb +20 -0
  21. data/sub/avm/lib/avm/data/dumper.rb +142 -0
  22. data/sub/avm/lib/avm/data/loader.rb +28 -0
  23. data/sub/avm/lib/avm/data/package/base_performer.rb +38 -0
  24. data/sub/avm/lib/avm/data/package/build_directory.rb +28 -0
  25. data/sub/avm/lib/avm/data/package/clear.rb +22 -0
  26. data/sub/avm/lib/avm/data/package/dump.rb +45 -0
  27. data/sub/avm/lib/avm/data/package/load.rb +36 -0
  28. data/sub/avm/lib/avm/data/package.rb +67 -0
  29. data/sub/avm/lib/avm/data/performer.rb +49 -0
  30. data/sub/avm/lib/avm/data/rotate.rb +107 -0
  31. data/sub/avm/lib/avm/data/unit.rb +49 -0
  32. data/sub/avm/lib/avm/data/unit_with_commands.rb +52 -0
  33. data/sub/avm/lib/avm/docker/container.rb +50 -0
  34. data/sub/avm/lib/avm/docker/image.rb +76 -0
  35. data/sub/avm/lib/avm/docker/runner.rb +121 -0
  36. data/sub/avm/lib/avm/docker.rb +9 -0
  37. data/sub/avm/lib/avm/entries/auto_values/entry.rb +39 -0
  38. data/sub/avm/lib/avm/entries/auto_values/uri_entry.rb +24 -0
  39. data/sub/{avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources.rb → avm/lib/avm/entries/auto_values.rb} +2 -2
  40. data/sub/avm/lib/avm/entries/base/inherited_entry_value.rb +46 -0
  41. data/sub/avm/lib/avm/entries/base/uri_component_entry_value/default_value.rb +28 -0
  42. data/sub/avm/lib/avm/entries/base/uri_component_entry_value/inherited_value.rb +39 -0
  43. data/sub/avm/lib/avm/entries/base/uri_component_entry_value/url_entry_value.rb +31 -0
  44. data/sub/avm/lib/avm/entries/base/uri_component_entry_value.rb +44 -0
  45. data/sub/avm/lib/avm/entries/base/uri_components_entries_values/component_factory.rb +42 -0
  46. data/sub/avm/lib/avm/entries/base/uri_components_entries_values/generic_component.rb +63 -0
  47. data/sub/avm/lib/avm/entries/base/uri_components_entries_values/path_component.rb +19 -0
  48. data/sub/avm/lib/avm/entries/base/uri_components_entries_values/url_component.rb +28 -0
  49. data/sub/avm/lib/avm/entries/base/uri_components_entries_values.rb +25 -0
  50. data/sub/avm/lib/avm/entries/base.rb +57 -0
  51. data/sub/avm/lib/avm/entries/entry/no_context_entry.rb +23 -0
  52. data/sub/avm/lib/avm/entries/entry.rb +70 -0
  53. data/sub/avm/lib/avm/entries/jobs/base.rb +62 -0
  54. data/sub/avm/lib/avm/entries/jobs/variables_source/read_entry.rb +50 -0
  55. data/sub/avm/lib/avm/entries/jobs/variables_source.rb +15 -0
  56. data/sub/avm/lib/avm/entries/jobs/with_variables_source.rb +15 -0
  57. data/sub/{avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/source_generators.rb → avm/lib/avm/entries/jobs.rb} +2 -2
  58. data/sub/avm/lib/avm/entries/keys_constants_set.rb +43 -0
  59. data/sub/avm/lib/avm/entries/uri_builder.rb +91 -0
  60. data/sub/avm/lib/avm/entries.rb +9 -0
  61. data/sub/avm/lib/avm/executables.rb +24 -0
  62. data/sub/avm/lib/avm/file_formats/base.rb +35 -0
  63. data/sub/avm/lib/avm/file_formats/file_result.rb +13 -0
  64. data/sub/avm/lib/avm/file_formats/search_formatter.rb +87 -0
  65. data/sub/avm/lib/avm/file_formats/unknown.rb +18 -0
  66. data/sub/avm/lib/avm/file_formats/utf8_assert.rb +72 -0
  67. data/sub/avm/lib/avm/file_formats.rb +9 -0
  68. data/sub/avm/lib/avm/instances/base/auto_values/data.rb +25 -0
  69. data/sub/avm/lib/avm/instances/base/auto_values/database.rb +62 -0
  70. data/sub/avm/lib/avm/instances/base/auto_values/mailer.rb +35 -0
  71. data/sub/avm/lib/avm/instances/base/auto_values/source.rb +15 -0
  72. data/sub/avm/lib/avm/instances/base/auto_values.rb +14 -0
  73. data/sub/avm/lib/avm/instances/base/dockerizable.rb +45 -0
  74. data/sub/avm/lib/avm/instances/base/entry_keys.rb +27 -0
  75. data/sub/avm/lib/avm/instances/base/install.rb +31 -0
  76. data/sub/avm/lib/avm/instances/base/processes.rb +27 -0
  77. data/sub/avm/lib/avm/instances/base/subcommand_parent.rb +25 -0
  78. data/sub/avm/lib/avm/instances/base/web.rb +16 -0
  79. data/sub/avm/lib/avm/instances/base.rb +71 -0
  80. data/sub/avm/lib/avm/instances/data/files_unit.rb +59 -0
  81. data/sub/avm/lib/avm/instances/data/package.rb +27 -0
  82. data/sub/avm/lib/avm/instances/data/unit.rb +30 -0
  83. data/sub/avm/lib/avm/instances/data.rb +11 -0
  84. data/sub/avm/lib/avm/instances/docker_image.rb +15 -0
  85. data/sub/avm/lib/avm/instances/entry_keys.rb +43 -0
  86. data/sub/avm/lib/avm/instances/ids.rb +30 -0
  87. data/sub/avm/lib/avm/instances/process.rb +31 -0
  88. data/sub/avm/lib/avm/instances/runner.rb +37 -0
  89. data/sub/avm/lib/avm/instances.rb +9 -0
  90. data/sub/avm/lib/avm/launcher/context/instance_collector.rb +46 -0
  91. data/sub/avm/lib/avm/launcher/context/instance_discovery/root_instance_paths.rb +53 -0
  92. data/sub/avm/lib/avm/launcher/context/instance_discovery.rb +75 -0
  93. data/sub/avm/lib/avm/launcher/context/instance_manager/cached_instance.rb +37 -0
  94. data/sub/avm/lib/avm/launcher/context/instance_manager/cached_instances.rb +35 -0
  95. data/sub/avm/lib/avm/launcher/context/instance_manager.rb +77 -0
  96. data/sub/avm/lib/avm/launcher/context/settings.rb +53 -0
  97. data/sub/avm/lib/avm/launcher/context.rb +100 -0
  98. data/sub/avm/lib/avm/launcher/errors/base.rb +10 -0
  99. data/sub/avm/lib/avm/launcher/errors/non_project.rb +15 -0
  100. data/sub/avm/lib/avm/launcher/errors.rb +11 -0
  101. data/sub/avm/lib/avm/launcher/instances/base/cache.rb +43 -0
  102. data/sub/avm/lib/avm/launcher/instances/base/publishing.rb +53 -0
  103. data/sub/avm/lib/avm/launcher/instances/base.rb +78 -0
  104. data/sub/avm/lib/avm/launcher/instances/error.rb +10 -0
  105. data/sub/avm/lib/avm/launcher/instances/runner_helper.rb +47 -0
  106. data/sub/avm/lib/avm/launcher/instances/settings.rb +26 -0
  107. data/sub/{avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0 → avm/lib/avm/launcher}/instances.rb +1 -1
  108. data/sub/avm/lib/avm/launcher/paths/logical.rb +80 -0
  109. data/sub/avm/lib/avm/launcher/paths/real.rb +44 -0
  110. data/sub/avm/lib/avm/launcher/paths.rb +11 -0
  111. data/sub/avm/lib/avm/launcher/project.rb +17 -0
  112. data/sub/avm/lib/avm/launcher/publish/base.rb +47 -0
  113. data/sub/avm/lib/avm/launcher/publish/check_result.rb +65 -0
  114. data/sub/avm/lib/avm/launcher/publish.rb +11 -0
  115. data/sub/avm/lib/avm/launcher/stereotype.rb +63 -0
  116. data/sub/avm/lib/avm/launcher.rb +9 -0
  117. data/sub/avm/lib/avm/launcher_stereotypes.rb +9 -0
  118. data/sub/avm/lib/avm/patches/eac_config/entry_path.rb +46 -0
  119. data/sub/avm/lib/avm/path_string.rb +27 -0
  120. data/sub/avm/lib/avm/registry/application_scms.rb +15 -0
  121. data/sub/avm/lib/avm/registry/application_stereotypes/build_available.rb +49 -0
  122. data/sub/avm/lib/avm/registry/application_stereotypes/stereotype_builder.rb +33 -0
  123. data/sub/avm/lib/avm/registry/application_stereotypes.rb +52 -0
  124. data/sub/avm/lib/avm/registry/applications.rb +38 -0
  125. data/sub/avm/lib/avm/registry/config_objects.rb +18 -0
  126. data/sub/avm/lib/avm/registry/file_formats.rb +20 -0
  127. data/sub/avm/lib/avm/registry/from_gems.rb +80 -0
  128. data/sub/avm/lib/avm/registry/instances.rb +16 -0
  129. data/sub/avm/lib/avm/registry/launcher_stereotypes.rb +11 -0
  130. data/sub/avm/lib/avm/registry/runners.rb +10 -0
  131. data/sub/avm/lib/avm/registry/scms.rb +10 -0
  132. data/sub/avm/lib/avm/registry/source_generators.rb +17 -0
  133. data/sub/avm/lib/avm/registry/sources.rb +40 -0
  134. data/sub/avm/lib/avm/registry/with_path/cache.rb +31 -0
  135. data/sub/avm/lib/avm/registry/with_path.rb +49 -0
  136. data/sub/avm/lib/avm/registry.rb +35 -0
  137. data/sub/avm/lib/avm/result.rb +82 -0
  138. data/sub/avm/lib/avm/rspec/setup/launcher.rb +20 -0
  139. data/sub/avm/lib/avm/rspec/setup/source_generator.rb +22 -0
  140. data/sub/avm/lib/avm/rspec/setup.rb +36 -0
  141. data/sub/avm/lib/avm/rspec/shared_examples/avm_file_format_file_resource_name.rb +15 -0
  142. data/sub/avm/lib/avm/rspec/shared_examples/avm_file_formats_with_fixtures.rb +31 -0
  143. data/sub/avm/lib/avm/rspec/shared_examples/avm_source_generated.rb +23 -0
  144. data/sub/avm/lib/avm/rspec/shared_examples/entries_values.rb +21 -0
  145. data/sub/avm/lib/avm/rspec/shared_examples/in_avm_registry.rb +11 -0
  146. data/sub/avm/lib/avm/rspec/shared_examples/not_in_avm_registry.rb +14 -0
  147. data/sub/avm/lib/avm/rspec/shared_examples/with_config.rb +11 -0
  148. data/sub/avm/lib/avm/rspec.rb +9 -0
  149. data/sub/avm/lib/avm/runners/base.rb +27 -0
  150. data/sub/avm/lib/avm/scms/auto_commit/file_resource_name.rb +39 -0
  151. data/sub/avm/lib/avm/scms/auto_commit/for_file.rb +82 -0
  152. data/sub/avm/lib/avm/scms/auto_commit/rules/base.rb +40 -0
  153. data/sub/avm/lib/avm/scms/auto_commit/rules/last.rb +19 -0
  154. data/sub/avm/lib/avm/scms/auto_commit/rules/manual.rb +40 -0
  155. data/sub/avm/lib/avm/scms/auto_commit/rules/new.rb +24 -0
  156. data/sub/avm/lib/avm/scms/auto_commit/rules/nth.rb +31 -0
  157. data/sub/avm/lib/avm/scms/auto_commit/rules/unique.rb +21 -0
  158. data/sub/avm/lib/avm/scms/auto_commit/rules.rb +36 -0
  159. data/sub/avm/lib/avm/scms/auto_commit.rb +11 -0
  160. data/sub/avm/lib/avm/scms/base/branches.rb +22 -0
  161. data/sub/avm/lib/avm/scms/base/commits.rb +34 -0
  162. data/sub/avm/lib/avm/scms/base/milestones.rb +21 -0
  163. data/sub/avm/lib/avm/scms/base/remotes.rb +22 -0
  164. data/sub/avm/lib/avm/scms/base.rb +61 -0
  165. data/sub/avm/lib/avm/scms/branch.rb +26 -0
  166. data/sub/avm/lib/avm/scms/changed_file.rb +26 -0
  167. data/sub/avm/lib/avm/scms/commit.rb +66 -0
  168. data/sub/avm/lib/avm/scms/commit_info.rb +39 -0
  169. data/sub/avm/lib/avm/scms/inflector.rb +22 -0
  170. data/sub/avm/lib/avm/scms/interval.rb +18 -0
  171. data/sub/avm/lib/avm/scms/null/commit.rb +15 -0
  172. data/sub/avm/lib/avm/scms/null.rb +21 -0
  173. data/sub/avm/lib/avm/scms/remote.rb +11 -0
  174. data/sub/avm/lib/avm/scms.rb +9 -0
  175. data/sub/avm/lib/avm/self/docker_image.rb +14 -0
  176. data/sub/avm/lib/avm/self/instance/entry_keys.rb +12 -0
  177. data/sub/avm/lib/avm/self/instance.rb +31 -0
  178. data/sub/avm/lib/avm/source_generators/base.rb +45 -0
  179. data/sub/avm/lib/avm/source_generators/option.rb +11 -0
  180. data/sub/avm/lib/avm/source_generators/option_list.rb +32 -0
  181. data/sub/avm/lib/avm/source_generators/runner.rb +58 -0
  182. data/sub/avm/lib/avm/source_generators.rb +9 -0
  183. data/sub/avm/lib/avm/sources/auto_commit/for_file.rb +31 -0
  184. data/sub/avm/lib/avm/sources/auto_commit.rb +11 -0
  185. data/sub/avm/lib/avm/sources/base/application.rb +36 -0
  186. data/sub/avm/lib/avm/sources/base/configuration.rb +92 -0
  187. data/sub/avm/lib/avm/sources/base/instance.rb +16 -0
  188. data/sub/avm/lib/avm/sources/base/locale.rb +33 -0
  189. data/sub/avm/lib/avm/sources/base/organizational.rb +32 -0
  190. data/sub/avm/lib/avm/sources/base/parent.rb +28 -0
  191. data/sub/avm/lib/avm/sources/base/stereotype.rb +18 -0
  192. data/sub/avm/lib/avm/sources/base/sub/remove.rb +38 -0
  193. data/sub/avm/lib/avm/sources/base/sub.rb +26 -0
  194. data/sub/avm/lib/avm/sources/base/subs.rb +67 -0
  195. data/sub/avm/lib/avm/sources/base/subs_paths.rb +32 -0
  196. data/sub/avm/lib/avm/sources/base/testing.rb +70 -0
  197. data/sub/avm/lib/avm/sources/base/update.rb +39 -0
  198. data/sub/avm/lib/avm/sources/base/update_sub.rb +57 -0
  199. data/sub/avm/lib/avm/sources/base/update_subs.rb +19 -0
  200. data/sub/avm/lib/avm/sources/base/version_bump.rb +29 -0
  201. data/sub/avm/lib/avm/sources/base.rb +61 -0
  202. data/sub/avm/lib/avm/sources/configuration/rubocop.rb +26 -0
  203. data/sub/avm/lib/avm/sources/configuration.rb +59 -0
  204. data/sub/avm/lib/avm/sources/issues/deliver.rb +52 -0
  205. data/sub/avm/lib/avm/sources/issues.rb +11 -0
  206. data/sub/avm/lib/avm/sources/runner.rb +40 -0
  207. data/sub/avm/lib/avm/sources/tests/builder.rb +96 -0
  208. data/sub/avm/lib/avm/sources/tests/performer.rb +35 -0
  209. data/sub/avm/lib/avm/sources/tests/result.rb +15 -0
  210. data/sub/avm/lib/avm/sources/tests/single.rb +75 -0
  211. data/sub/avm/lib/avm/sources/tests.rb +11 -0
  212. data/sub/avm/lib/avm/sources/update_error.rb +8 -0
  213. data/sub/avm/lib/avm/sources.rb +9 -0
  214. data/sub/avm/lib/avm/sync.rb +92 -0
  215. data/sub/avm/lib/avm/version.rb +5 -0
  216. data/sub/avm/lib/avm/version_number.rb +45 -0
  217. data/sub/avm/lib/avm/with/application_stereotype.rb +33 -0
  218. data/sub/avm/lib/avm/with/extra_subcommands.rb +44 -0
  219. data/sub/avm/lib/avm.rb +7 -0
  220. data/sub/avm/locale/en.yml +6 -0
  221. data/sub/avm/locale/pt-BR.yml +6 -0
  222. data/sub/avm/spec/dummy/avm-tools_stub/avm-tools.gemspec +29 -0
  223. data/sub/{avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0 → avm/spec/dummy/avm-tools_stub/lib/avm/tools}/version.rb +2 -2
  224. data/sub/avm/spec/dummy/avm-tools_stub/lib/avm/tools.rb +6 -0
  225. data/sub/avm/spec/dummy/ruby_gem_stub/lib/ruby_gem_stub/version.rb +5 -0
  226. data/sub/avm/spec/dummy/ruby_gem_stub/lib/ruby_gem_stub.rb +3 -0
  227. data/sub/avm/spec/dummy/ruby_gem_stub/ruby_gem_stub.gemspec +16 -0
  228. data/sub/avm/spec/lib/avm/applications/base/entries_spec.rb +31 -0
  229. data/sub/avm/spec/lib/avm/applications/base/entries_spec_files/config.yml +12 -0
  230. data/sub/avm/spec/lib/avm/applications/base_spec.rb +23 -0
  231. data/sub/avm/spec/lib/avm/applications/base_spec_fixture.yml +3 -0
  232. data/sub/avm/spec/lib/avm/file_formats/base_spec.rb +11 -0
  233. data/sub/avm/spec/lib/avm/instances/base_spec.rb +107 -0
  234. data/sub/avm/spec/lib/avm/instances/base_spec_files/config.yml +50 -0
  235. data/sub/avm/spec/lib/avm/launcher/context_spec.rb +139 -0
  236. data/sub/avm/spec/lib/avm/launcher/context_spec.yml +5 -0
  237. data/sub/avm/spec/lib/avm/launcher/context_spec_files/config.yml +9 -0
  238. data/sub/avm/spec/lib/avm/launcher/instances/base_spec.rb +42 -0
  239. data/sub/avm/spec/lib/avm/launcher/instances/base_spec_files/config.yml +5 -0
  240. data/sub/avm/spec/lib/avm/launcher/instances/base_spec_files/settings.yaml +5 -0
  241. data/sub/avm/spec/lib/avm/patches/eac_config/entry_path_spec.rb +28 -0
  242. data/sub/avm/spec/lib/avm/scms/auto_commit/file_resource_name_spec.rb +21 -0
  243. data/sub/avm/spec/lib/avm/scms/base_spec.rb +7 -0
  244. data/sub/avm/spec/lib/avm/sources/base_spec.rb +7 -0
  245. data/sub/avm/spec/lib/avm/sources/runner_spec.rb +9 -0
  246. data/sub/avm/spec/spec_helper/launcher_context/settings.yml +6 -0
  247. data/sub/avm/spec/spec_helper/launcher_context.rb +75 -0
  248. data/sub/{avm-eac_asciidoctor_base0 → avm}/spec/spec_helper.rb +2 -5
  249. data/sub/avm/template/avm/self/docker_image/Dockerfile +17 -0
  250. data/sub/avm/template/avm/self/docker_image/entrypoint.sh +12 -0
  251. metadata +253 -81
  252. data/sub/avm-eac_asciidoctor_base0/avm-eac_asciidoctor_base0.gemspec +0 -24
  253. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/documents_owner.rb +0 -30
  254. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/file_formats/base/file_resource_name.rb +0 -37
  255. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/file_formats/base.rb +0 -17
  256. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/apache_host.rb +0 -19
  257. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/apache_path.rb +0 -12
  258. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/base.rb +0 -33
  259. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/build/document/body_target.rb +0 -37
  260. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/build/document/header_lines.rb +0 -92
  261. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/build/document/media.rb +0 -28
  262. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/build/document/pre_process_line.rb +0 -64
  263. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/build/document.rb +0 -101
  264. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/build/theme.rb +0 -41
  265. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/build.rb +0 -59
  266. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/deploy.rb +0 -28
  267. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/macros/base.rb +0 -21
  268. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/macros/breadcrumbs.rb +0 -55
  269. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/macros/child_docs/document_builder.rb +0 -63
  270. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/macros/child_docs.rb +0 -35
  271. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/macros/default_body.rb +0 -21
  272. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/macros.rb +0 -13
  273. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/source_generators/base.rb +0 -28
  274. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/base/instance_to_build.rb +0 -45
  275. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/base/theme.rb +0 -46
  276. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/base.rb +0 -49
  277. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/document/media.rb +0 -28
  278. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/document/title.rb +0 -31
  279. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/document.rb +0 -56
  280. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/runners/build.rb +0 -54
  281. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/runners/document/build.rb +0 -46
  282. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/runners/document.rb +0 -30
  283. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/runners/documents.rb +0 -28
  284. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/runners.rb +0 -13
  285. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/file_formats/base_spec.rb +0 -13
  286. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build/document_spec.rb +0 -81
  287. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build/document_spec_files/pre_processed_root_body.adoc +0 -25
  288. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec.rb +0 -22
  289. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.source/content/_media/a_media_file +0 -1
  290. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.source/content/doc1/_media/a_media_file +0 -1
  291. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.source/content/doc1/body.adoc +0 -11
  292. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.source/content/doc1/title +0 -1
  293. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.source/content/doc2/body.adoc +0 -11
  294. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.source/content/doc2/doc2_1/_media/a_media_file +0 -1
  295. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.source/content/doc2/doc2_1/body.adoc +0 -11
  296. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.source/content/doc2/doc2_1/title +0 -1
  297. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.source/content/doc2/title +0 -1
  298. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.target/_media/a_media_file +0 -1
  299. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.target/_theme/main.css +0 -1
  300. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.target/doc1/_media/a_media_file +0 -1
  301. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.target/doc1/index.html +0 -1
  302. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.target/doc2/doc2_1/_media/a_media_file +0 -1
  303. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.target/doc2/doc2_1/index.html +0 -1
  304. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.target/doc2/index.html +0 -1
  305. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.target/index.html +0 -1
  306. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/source_generators/base_spec.rb +0 -8
  307. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/source_generators/base_spec_files/no_options/content/body.adoc +0 -11
  308. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/source_generators/base_spec_files/no_options/content/title +0 -1
  309. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/source_generators/base_spec_files/no_options/theme/main.css +0 -1
  310. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/sources/base_spec.rb +0 -16
  311. data/sub/avm-eac_asciidoctor_base0/spec/spec_helper/eac_asciidoctor_base0_stubs.rb +0 -55
  312. data/sub/avm-eac_asciidoctor_base0/template/avm/eac_asciidoctor_base0/source_generators/base/content/body.adoc +0 -11
  313. data/sub/avm-eac_asciidoctor_base0/template/avm/eac_asciidoctor_base0/source_generators/base/content/title +0 -1
  314. data/sub/avm-eac_asciidoctor_base0/template/avm/eac_asciidoctor_base0/source_generators/base/theme/main.css +0 -1
  315. /data/sub/{avm-eac_asciidoctor_base0 → avm}/Gemfile +0 -0
  316. /data/sub/{avm-eac_asciidoctor_base0 → avm}/spec/rubocop_spec.rb +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9265f04b7e93de5298e85230f877408831a90e29f98e283cb8e34e59fccfa753
4
- data.tar.gz: 7ef8d84e342637f04f601e0e7cd24b5467aef94a312c1089f21f5175a60dcaeb
3
+ metadata.gz: 8cb76604a2a0b5232d376cefac3d315c957d4e87b8b6b2580f2c7972f4a88aeb
4
+ data.tar.gz: 17ca5dc90d086d88446991053485c45c9e5a720ab74b1301ee2ff2019aa6cba5
5
5
  SHA512:
6
- metadata.gz: 901958c5e2a18cb40c1f7972aeb27c6f6d1a808650401babca74abef1be0acff0782a60e8ba02607dc670b7f51bb55e6bfa2a054a409f4bcf531328609a57729
7
- data.tar.gz: ccaf49462bc9e1de20dc17f80d61f188da7259da6526a0fce62ba258963f20a961c0f10f2295470ae8132bf1eb6c0954c869190e09ba03556fec99df4b2087bf
6
+ metadata.gz: 5c9ba6396b64568f48744e4cf59e7d6bcb16c8b1004ad8d079958d44b59828a9333a0add9f36d066ae9aef52f6133ce406bd2efc666105366d2cb102d0b78576
7
+ data.tar.gz: 60f4f4677b47dda6630a9006b1c5467a097cbc7afa7940cba95d5f81311fe60656f9475f6e9d8f9b290c37fdc9790ecbcfb1163c3fe8805d281a3c6501733337
data/Gemfile.lock CHANGED
@@ -1,8 +1,8 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- eac_tools (0.88.0)
5
- avm (~> 0.90, >= 0.90.1)
4
+ eac_tools (0.89.0)
5
+ avm (~> 0.91)
6
6
  avm-eac_asciidoctor_base0 (~> 0.23)
7
7
  avm-eac_generic_base0 (~> 0.13)
8
8
  avm-eac_github_base0 (~> 0.3)
@@ -23,14 +23,17 @@ PATH
23
23
  eac_ruby_utils (~> 0.121)
24
24
 
25
25
  PATH
26
- remote: sub/avm-eac_asciidoctor_base0
26
+ remote: sub/avm
27
27
  specs:
28
- avm-eac_asciidoctor_base0 (0.23.0)
29
- asciidoctor (~> 2.0, >= 2.0.22)
30
- avm-eac_webapp_base0 (~> 0.19)
28
+ avm (0.91.0)
29
+ eac_cli (~> 0.40, >= 0.40.1)
30
+ eac_config (~> 0.14, >= 0.14.2)
31
+ eac_docker (~> 0.7)
32
+ eac_fs (~> 0.17)
31
33
  eac_ruby_utils (~> 0.121)
32
- os (~> 1.1, >= 1.1.4)
33
- rouge (~> 3.30)
34
+ eac_templates (~> 0.5, >= 0.5.1)
35
+ minitar (~> 0.9)
36
+ ruby-progressbar (~> 1.13)
34
37
 
35
38
  GEM
36
39
  remote: https://rubygems.org/
@@ -52,15 +55,12 @@ GEM
52
55
  ofx-parser (~> 1.1)
53
56
  asciidoctor (2.0.22)
54
57
  ast (2.4.2)
55
- avm (0.90.1)
56
- eac_cli (~> 0.40, >= 0.40.1)
57
- eac_config (~> 0.14, >= 0.14.2)
58
- eac_docker (~> 0.7)
59
- eac_fs (~> 0.17)
58
+ avm-eac_asciidoctor_base0 (0.23.0)
59
+ asciidoctor (~> 2.0, >= 2.0.22)
60
+ avm-eac_webapp_base0 (~> 0.19)
60
61
  eac_ruby_utils (~> 0.121)
61
- eac_templates (~> 0.5, >= 0.5.1)
62
- minitar (~> 0.9)
63
- ruby-progressbar (~> 1.13)
62
+ os (~> 1.1, >= 1.1.4)
63
+ rouge (~> 3.30)
64
64
  avm-eac_generic_base0 (0.13.0)
65
65
  avm (~> 0.90)
66
66
  eac_ruby_utils (~> 0.121)
@@ -222,13 +222,13 @@ GEM
222
222
  rchardet (~> 1.8)
223
223
  hpricot (0.8.6)
224
224
  htmlbeautifier (1.4.3)
225
- i18n (1.14.4)
225
+ i18n (1.14.5)
226
226
  concurrent-ruby (~> 1.0)
227
227
  json (2.7.2)
228
228
  language_server-protocol (3.17.0.3)
229
229
  minitar (0.9)
230
230
  minitest (5.22.3)
231
- multipart-post (2.4.0)
231
+ multipart-post (2.4.1)
232
232
  net-ssh (4.2.0)
233
233
  nokogiri (1.15.6-x86_64-linux)
234
234
  racc (~> 1.4)
@@ -245,10 +245,10 @@ GEM
245
245
  tty-color (~> 0.5)
246
246
  public_suffix (5.0.5)
247
247
  racc (1.7.3)
248
- rack (3.0.10)
248
+ rack (3.0.11)
249
249
  rainbow (3.1.1)
250
250
  rchardet (1.8.0)
251
- regexp_parser (2.9.0)
251
+ regexp_parser (2.9.1)
252
252
  rexml (3.2.6)
253
253
  rouge (3.30.0)
254
254
  rspec (3.13.0)
@@ -260,11 +260,11 @@ GEM
260
260
  rspec-expectations (3.13.0)
261
261
  diff-lcs (>= 1.2.0, < 2.0)
262
262
  rspec-support (~> 3.13.0)
263
- rspec-mocks (3.13.0)
263
+ rspec-mocks (3.13.1)
264
264
  diff-lcs (>= 1.2.0, < 2.0)
265
265
  rspec-support (~> 3.13.0)
266
266
  rspec-support (3.13.1)
267
- rubocop (1.63.4)
267
+ rubocop (1.63.5)
268
268
  json (~> 2.3)
269
269
  language_server-protocol (>= 3.17.0)
270
270
  parallel (~> 1.10)
@@ -286,7 +286,7 @@ GEM
286
286
  rack (>= 1.1)
287
287
  rubocop (>= 1.33.0, < 2.0)
288
288
  rubocop-ast (>= 1.31.1, < 2.0)
289
- rubocop-rspec (2.29.1)
289
+ rubocop-rspec (2.29.2)
290
290
  rubocop (~> 1.40)
291
291
  rubocop-capybara (~> 2.17)
292
292
  rubocop-factory_bot (~> 2.22)
@@ -318,7 +318,7 @@ PLATFORMS
318
318
  x86_64-linux
319
319
 
320
320
  DEPENDENCIES
321
- avm-eac_asciidoctor_base0!
321
+ avm!
322
322
  eac_ruby_gem_support (~> 0.10)
323
323
  eac_tools!
324
324
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module EacTools
4
- VERSION = '0.88.0'
4
+ VERSION = '0.89.0'
5
5
  end
@@ -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['{lib,locale,template}/**/*']
14
+ s.required_ruby_version = '>= 2.7'
15
+
16
+ s.add_dependency 'eac_cli', '~> 0.40', '>= 0.40.1'
17
+ s.add_dependency 'eac_config', '~> 0.14', '>= 0.14.2'
18
+ s.add_dependency 'eac_docker', '~> 0.7'
19
+ s.add_dependency 'eac_fs', '~> 0.17'
20
+ s.add_dependency 'eac_ruby_utils', '~> 0.121'
21
+ s.add_dependency 'eac_templates', '~> 0.5', '>= 0.5.1'
22
+ s.add_dependency 'minitar', '~> 0.9'
23
+ s.add_dependency 'ruby-progressbar', '~> 1.13'
24
+
25
+ s.add_development_dependency 'avm-eac_ruby_base1', '~> 0.33', '>= 0.33.1'
26
+ s.add_development_dependency 'avm-git', '~> 0.17'
27
+ s.add_development_dependency 'eac_ruby_gem_support', '~> 0.10'
28
+ end
@@ -0,0 +1,39 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/core_ext'
4
+
5
+ module Avm
6
+ module ApplicationScms
7
+ class Base
8
+ acts_as_abstract
9
+
10
+ class << self
11
+ # @return [String]
12
+ def type_name
13
+ name.gsub(/#{Regexp.quote('::ApplicationScms::Base')}$/, '').demodulize
14
+ end
15
+ end
16
+
17
+ # !method initialize(application)
18
+ # @param application [Avm::Application::Base]
19
+ common_constructor :application
20
+ delegate :type_name, to: :class
21
+
22
+ # @param path [Pathname]
23
+ # @return [Pathname]
24
+ def assert_main_at(path) # rubocop:disable Lint/UnusedMethodArgument
25
+ raise_abstract_method __method__
26
+ end
27
+
28
+ # @return [String]
29
+ def to_s
30
+ "#{type_name}[#{to_s_type_specific}]"
31
+ end
32
+
33
+ # @return [String]
34
+ def to_s_type_specific
35
+ ''
36
+ end
37
+ end
38
+ end
39
+ end
@@ -3,7 +3,7 @@
3
3
  require 'eac_ruby_utils/core_ext'
4
4
 
5
5
  module Avm
6
- module EacAsciidoctorBase0
6
+ module ApplicationScms
7
7
  require_sub __FILE__
8
8
  end
9
9
  end
@@ -0,0 +1,31 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/core_ext'
4
+
5
+ module Avm
6
+ module ApplicationStereotypes
7
+ class Base
8
+ enable_listable
9
+ lists.add_symbol :resource, :instance, :source, :source_generator
10
+ common_constructor :namespace_module, :resources do
11
+ self.resources = self.class.lists.resource.hash_keys_validate!(resources)
12
+ end
13
+
14
+ # @return [String]
15
+ def name
16
+ namespace_module.name.demodulize
17
+ end
18
+
19
+ # @return [String]
20
+ def to_s
21
+ name
22
+ end
23
+
24
+ lists.resource.each_value do |resource|
25
+ define_method "#{resource}_class" do
26
+ resources[resource]
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/core_ext'
4
+
5
+ module Avm
6
+ module ApplicationStereotypes
7
+ require_sub __FILE__
8
+ end
9
+ end
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_fs/core_ext'
4
+
5
+ module Avm
6
+ module Applications
7
+ class Base
8
+ class AutoLocalSourcePath
9
+ acts_as_instance_method
10
+ common_constructor :application
11
+
12
+ # @return [Pathname]
13
+ def result
14
+ application.scm.assert_main_at(fs_cache.path.to_pathname)
15
+ end
16
+
17
+ # @return [String]
18
+ def fs_object_id
19
+ application.id.to_s.parameterize
20
+ end
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,31 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/instances/ids'
4
+ require 'eac_ruby_utils/core_ext'
5
+
6
+ module Avm
7
+ module Applications
8
+ class Base
9
+ module LocalInstance
10
+ LOCAL_INSTANCE_SUFFIX = 'dev'
11
+
12
+ # @return [String]
13
+ def local_instance_id
14
+ ::Avm::Instances::Ids.build(id, local_instance_suffix)
15
+ end
16
+
17
+ # @return [String]
18
+ def local_instance_suffix
19
+ LOCAL_INSTANCE_SUFFIX
20
+ end
21
+
22
+ private
23
+
24
+ # @return [Avm::Instances::Base]
25
+ def local_instance_uncached
26
+ instance(local_instance_suffix)
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,35 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/registry'
4
+ require 'eac_config/node'
5
+ require 'eac_ruby_utils/core_ext'
6
+
7
+ module Avm
8
+ module Applications
9
+ class Base
10
+ module LocalSource
11
+ # @return [Pathname]
12
+ def local_source_path
13
+ user_local_source_path || auto_local_source_path
14
+ end
15
+
16
+ # @return [EacConfig::Entry]
17
+ def local_source_path_entry
18
+ ::EacConfig::Node.context.current.entry([local_instance_id, 'install', 'path'])
19
+ end
20
+
21
+ # @return [Path, nil]
22
+ def user_local_source_path
23
+ local_source_path_entry.value.if_present(&:to_pathname)
24
+ end
25
+
26
+ private
27
+
28
+ # @return [Avm::Sources::Base]
29
+ def local_source_uncached
30
+ ::Avm::Registry.sources.detect(local_source_path)
31
+ end
32
+ end
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/core_ext'
4
+
5
+ module Avm
6
+ module Applications
7
+ class Base
8
+ module Naming
9
+ DEFAULT_NAME = '_Undefined_'
10
+
11
+ # @return [String]
12
+ def default_name
13
+ DEFAULT_NAME
14
+ end
15
+
16
+ # @return [String]
17
+ def name
18
+ name_from_configuration || default_name
19
+ end
20
+
21
+ # @return [String]
22
+ def name_from_configuration
23
+ entry(::Avm::Instances::EntryKeys::NAME).optional_value
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,29 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/registry'
4
+
5
+ module Avm
6
+ module Applications
7
+ class Base
8
+ module Organization
9
+ DEFAULT_ORGANIZATION = '_undefined_'
10
+ ORGANIZATION_CONFIG_KEY = 'organization'
11
+
12
+ # @return [String]
13
+ def default_organization
14
+ DEFAULT_ORGANIZATION
15
+ end
16
+
17
+ # @return [String, nil]
18
+ def organization_by_configuration
19
+ entry(ORGANIZATION_CONFIG_KEY).optional_value
20
+ end
21
+
22
+ # @return [String]
23
+ def organization
24
+ organization_by_configuration || default_organization
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,43 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/registry'
4
+ require 'eac_ruby_utils/blank_not_blank'
5
+ require 'eac_ruby_utils/core_ext'
6
+
7
+ module Avm
8
+ module Applications
9
+ class Base
10
+ module Publishing
11
+ PUBLISHABLE_KEY = 'publishable'
12
+
13
+ def publishable?
14
+ publishable_value ? true : false
15
+ end
16
+
17
+ def stereotype_publishable?(stereotype)
18
+ return publishable? unless publishable_value.is_a?(::Hash)
19
+
20
+ parse_publishable_value(publishable_value[stereotype.stereotype_name], true)
21
+ end
22
+
23
+ private
24
+
25
+ def publishable_value
26
+ parse_publishable_value(entry(PUBLISHABLE_KEY).optional_value, false)
27
+ end
28
+
29
+ def parse_publishable_value(value, hash_to_true)
30
+ return value.with_indifferent_access if parse_publishable_value_hash?(value, hash_to_true)
31
+ return true if value.nil? || value == true
32
+ return false if value == false || value.is_a?(::EacRubyUtils::BlankNotBlank)
33
+
34
+ value ? true : false
35
+ end
36
+
37
+ def parse_publishable_value_hash?(value, hash_to_true)
38
+ !hash_to_true && value.is_a?(::Hash)
39
+ end
40
+ end
41
+ end
42
+ end
43
+ end
@@ -0,0 +1,27 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/registry'
4
+ require 'eac_ruby_utils/core_ext'
5
+
6
+ module Avm
7
+ module Applications
8
+ class Base
9
+ module Scm
10
+ common_concern do
11
+ uri_components_entries_values 'scm', %w[repos_path ssh_username type]
12
+ end
13
+
14
+ # @return [Avm::ApplicationScms::Base]
15
+ def scm
16
+ @scm ||= ::Avm::Registry.application_scms.detect(self)
17
+ end
18
+
19
+ # @param value [String]
20
+ # @return [String]
21
+ def scm_repos_path_inherited_value_proc(value)
22
+ value.to_pathname.join(id).to_path
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,31 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/registry'
4
+
5
+ module Avm
6
+ module Applications
7
+ class Base
8
+ module Stereotype
9
+ # @return [Avm::ApplicationStereotypes::Base, nil]
10
+ def stereotype_by_configuration
11
+ entry('stereotype').optional_value.if_present do |v|
12
+ ::Avm::Registry.application_stereotypes.detect(v)
13
+ end
14
+ end
15
+
16
+ # @return [Avm::ApplicationStereotypes::Base, nil]
17
+ def stereotype_by_source
18
+ ::Avm::Registry.application_stereotypes.detect_optional(local_source.class)
19
+ end
20
+
21
+ private
22
+
23
+ # @return [Avm::ApplicationStereotypes::Base]
24
+ def stereotype_uncached
25
+ stereotype_by_configuration || stereotype_by_source ||
26
+ raise("Could not find stereotype for application \"#{self}\"")
27
+ end
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,37 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/entries/base'
4
+ require 'eac_ruby_utils/core_ext'
5
+
6
+ module Avm
7
+ module Applications
8
+ class Base
9
+ enable_simple_cache
10
+ include ::Avm::Entries::Base
11
+
12
+ AVM_TYPE = 'Application'
13
+
14
+ class << self
15
+ # @param id [String]
16
+ # @return [Avm::Applications::Base]
17
+ def by_id(id)
18
+ new(id)
19
+ end
20
+ end
21
+
22
+ common_constructor :id do
23
+ self.id = id.to_s
24
+ end
25
+
26
+ def to_s
27
+ id
28
+ end
29
+
30
+ def instance(suffix)
31
+ stereotype.instance_class.new(self, suffix)
32
+ end
33
+
34
+ require_sub __FILE__, include_modules: true
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/core_ext'
4
+
5
+ module Avm
6
+ module Applications
7
+ require_sub __FILE__
8
+ end
9
+ end
@@ -0,0 +1,37 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'active_support/callbacks'
4
+ require 'eac_ruby_utils/core_ext'
5
+
6
+ module Avm
7
+ module Data
8
+ module Callbacks
9
+ common_concern do
10
+ include ::ActiveSupport::Callbacks
11
+
12
+ %i[dump load].each do |action|
13
+ define_callbacks action
14
+
15
+ %i[before after].each do |callback|
16
+ method_name = "#{callback}_#{action}"
17
+ singleton_class.class_eval do
18
+ define_method method_name do |callback_method = nil, &block|
19
+ if callback_method
20
+ set_callback action, callback, callback_method
21
+ else
22
+ set_callback action, callback, &block
23
+ end
24
+ self
25
+ end
26
+ end
27
+
28
+ define_method method_name do |callback_method = nil, &block|
29
+ singleton_class.send(method_name, callback_method, &block)
30
+ self
31
+ end
32
+ end
33
+ end
34
+ end
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/data/performer'
4
+ require 'eac_ruby_utils/core_ext'
5
+
6
+ module Avm
7
+ module Data
8
+ class Clearer < ::Avm::Data::Performer
9
+ def cannot_perform_reason
10
+ nil
11
+ end
12
+
13
+ protected
14
+
15
+ def internal_perform
16
+ data_owner.clear(*include_excludes_arguments)
17
+ end
18
+ end
19
+ end
20
+ end