eac_tools 0.88.0 → 0.89.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 (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