eac_tools 0.97.1 → 0.98.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 (305) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +42 -37
  3. data/lib/eac_tools/version.rb +1 -1
  4. data/sub/avm/Gemfile +8 -0
  5. data/sub/avm/avm.gemspec +28 -0
  6. data/sub/avm/lib/avm/application_scms/base.rb +39 -0
  7. data/sub/avm/lib/avm/application_scms.rb +9 -0
  8. data/sub/avm/lib/avm/application_stereotypes/base.rb +31 -0
  9. data/sub/avm/lib/avm/application_stereotypes.rb +9 -0
  10. data/sub/avm/lib/avm/applications/base/auto_local_source_path.rb +24 -0
  11. data/sub/avm/lib/avm/applications/base/local_instance.rb +31 -0
  12. data/sub/avm/lib/avm/applications/base/local_source.rb +35 -0
  13. data/sub/avm/lib/avm/applications/base/naming.rb +28 -0
  14. data/sub/avm/lib/avm/applications/base/organization.rb +29 -0
  15. data/sub/avm/lib/avm/applications/base/publishing.rb +43 -0
  16. data/sub/avm/lib/avm/applications/base/scm.rb +27 -0
  17. data/sub/avm/lib/avm/applications/base/stereotype.rb +31 -0
  18. data/sub/avm/lib/avm/applications/base.rb +37 -0
  19. data/sub/{avm-eac_rails_base1/lib/avm/eac_rails_base1.rb → avm/lib/avm/applications.rb} +1 -1
  20. data/sub/avm/lib/avm/data/callbacks.rb +37 -0
  21. data/sub/avm/lib/avm/data/clearer.rb +20 -0
  22. data/sub/avm/lib/avm/data/dumper.rb +142 -0
  23. data/sub/avm/lib/avm/data/loader.rb +28 -0
  24. data/sub/avm/lib/avm/data/package/base_performer.rb +38 -0
  25. data/sub/avm/lib/avm/data/package/build_directory.rb +28 -0
  26. data/sub/avm/lib/avm/data/package/clear.rb +22 -0
  27. data/sub/avm/lib/avm/data/package/dump.rb +45 -0
  28. data/sub/avm/lib/avm/data/package/load.rb +36 -0
  29. data/sub/avm/lib/avm/data/package.rb +67 -0
  30. data/sub/avm/lib/avm/data/performer.rb +49 -0
  31. data/sub/avm/lib/avm/data/rotate.rb +107 -0
  32. data/sub/avm/lib/avm/data/unit.rb +49 -0
  33. data/sub/avm/lib/avm/data/unit_with_commands.rb +52 -0
  34. data/sub/avm/lib/avm/docker/container.rb +50 -0
  35. data/sub/avm/lib/avm/docker/image.rb +76 -0
  36. data/sub/avm/lib/avm/docker/runner.rb +132 -0
  37. data/sub/avm/lib/avm/docker.rb +9 -0
  38. data/sub/avm/lib/avm/entries/auto_values/entry.rb +39 -0
  39. data/sub/avm/lib/avm/entries/auto_values/uri_entry.rb +24 -0
  40. data/sub/avm/lib/avm/entries/auto_values.rb +11 -0
  41. data/sub/avm/lib/avm/entries/base/inherited_entry_value.rb +46 -0
  42. data/sub/avm/lib/avm/entries/base/uri_component_entry_value/default_value.rb +28 -0
  43. data/sub/avm/lib/avm/entries/base/uri_component_entry_value/inherited_value.rb +39 -0
  44. data/sub/avm/lib/avm/entries/base/uri_component_entry_value/url_entry_value.rb +31 -0
  45. data/sub/avm/lib/avm/entries/base/uri_component_entry_value.rb +44 -0
  46. data/sub/avm/lib/avm/entries/base/uri_components_entries_values/component_factory.rb +42 -0
  47. data/sub/avm/lib/avm/entries/base/uri_components_entries_values/generic_component.rb +63 -0
  48. data/sub/avm/lib/avm/entries/base/uri_components_entries_values/path_component.rb +19 -0
  49. data/sub/avm/lib/avm/entries/base/uri_components_entries_values/url_component.rb +28 -0
  50. data/sub/avm/lib/avm/entries/base/uri_components_entries_values.rb +25 -0
  51. data/sub/avm/lib/avm/entries/base.rb +57 -0
  52. data/sub/avm/lib/avm/entries/entry/no_context_entry.rb +23 -0
  53. data/sub/avm/lib/avm/entries/entry.rb +75 -0
  54. data/sub/avm/lib/avm/entries/jobs/base.rb +62 -0
  55. data/sub/avm/lib/avm/entries/jobs/variables_source/read_entry.rb +50 -0
  56. data/sub/avm/lib/avm/entries/jobs/variables_source.rb +15 -0
  57. data/sub/avm/lib/avm/entries/jobs/with_variables_source.rb +15 -0
  58. data/sub/avm/lib/avm/entries/jobs.rb +11 -0
  59. data/sub/avm/lib/avm/entries/keys_constants_set.rb +43 -0
  60. data/sub/avm/lib/avm/entries/uri_builder.rb +91 -0
  61. data/sub/avm/lib/avm/entries.rb +9 -0
  62. data/sub/avm/lib/avm/executables.rb +24 -0
  63. data/sub/avm/lib/avm/file_formats/base.rb +35 -0
  64. data/sub/avm/lib/avm/file_formats/file_result.rb +13 -0
  65. data/sub/avm/lib/avm/file_formats/search_formatter.rb +87 -0
  66. data/sub/avm/lib/avm/file_formats/unknown.rb +18 -0
  67. data/sub/avm/lib/avm/file_formats/utf8_assert.rb +72 -0
  68. data/sub/avm/lib/avm/file_formats.rb +9 -0
  69. data/sub/avm/lib/avm/instances/base/auto_values/data.rb +30 -0
  70. data/sub/avm/lib/avm/instances/base/auto_values/database.rb +62 -0
  71. data/sub/avm/lib/avm/instances/base/auto_values/mailer.rb +35 -0
  72. data/sub/avm/lib/avm/instances/base/auto_values/source.rb +18 -0
  73. data/sub/avm/lib/avm/instances/base/auto_values.rb +14 -0
  74. data/sub/avm/lib/avm/instances/base/dockerizable.rb +45 -0
  75. data/sub/avm/lib/avm/instances/base/entry_keys.rb +27 -0
  76. data/sub/avm/lib/avm/instances/base/install.rb +31 -0
  77. data/sub/avm/lib/avm/instances/base/processes.rb +27 -0
  78. data/sub/avm/lib/avm/instances/base/production.rb +34 -0
  79. data/sub/avm/lib/avm/instances/base/subcommand_parent.rb +25 -0
  80. data/sub/avm/lib/avm/instances/base/web.rb +16 -0
  81. data/sub/avm/lib/avm/instances/base.rb +77 -0
  82. data/sub/avm/lib/avm/instances/data/files_unit.rb +59 -0
  83. data/sub/avm/lib/avm/instances/data/loading_denied_error.rb +10 -0
  84. data/sub/avm/lib/avm/instances/data/package.rb +27 -0
  85. data/sub/avm/lib/avm/instances/data/unit.rb +40 -0
  86. data/sub/avm/lib/avm/instances/data.rb +11 -0
  87. data/sub/avm/lib/avm/instances/docker_image.rb +15 -0
  88. data/sub/avm/lib/avm/instances/entry_keys.rb +43 -0
  89. data/sub/avm/lib/avm/instances/ids.rb +30 -0
  90. data/sub/avm/lib/avm/instances/process.rb +31 -0
  91. data/sub/avm/lib/avm/instances/runner.rb +37 -0
  92. data/sub/avm/lib/avm/instances.rb +9 -0
  93. data/sub/avm/lib/avm/launcher/context/instance_collector.rb +46 -0
  94. data/sub/avm/lib/avm/launcher/context/instance_discovery/root_instance_paths.rb +53 -0
  95. data/sub/avm/lib/avm/launcher/context/instance_discovery.rb +75 -0
  96. data/sub/avm/lib/avm/launcher/context/instance_manager/cached_instance.rb +37 -0
  97. data/sub/avm/lib/avm/launcher/context/instance_manager/cached_instances.rb +35 -0
  98. data/sub/avm/lib/avm/launcher/context/instance_manager.rb +77 -0
  99. data/sub/avm/lib/avm/launcher/context/settings.rb +53 -0
  100. data/sub/avm/lib/avm/launcher/context.rb +95 -0
  101. data/sub/avm/lib/avm/launcher/errors/base.rb +10 -0
  102. data/sub/avm/lib/avm/launcher/errors/non_project.rb +15 -0
  103. data/sub/avm/lib/avm/launcher/errors.rb +11 -0
  104. data/sub/avm/lib/avm/launcher/instances/base/cache.rb +43 -0
  105. data/sub/avm/lib/avm/launcher/instances/base/publishing.rb +53 -0
  106. data/sub/avm/lib/avm/launcher/instances/base.rb +78 -0
  107. data/sub/avm/lib/avm/launcher/instances/error.rb +10 -0
  108. data/sub/avm/lib/avm/launcher/instances/runner_helper.rb +47 -0
  109. data/sub/avm/lib/avm/launcher/instances/settings.rb +26 -0
  110. data/sub/{avm-eac_rails_base1/lib/avm/eac_rails_base1 → avm/lib/avm/launcher}/instances.rb +1 -1
  111. data/sub/avm/lib/avm/launcher/paths/logical.rb +80 -0
  112. data/sub/avm/lib/avm/launcher/paths/real.rb +44 -0
  113. data/sub/avm/lib/avm/launcher/paths.rb +11 -0
  114. data/sub/avm/lib/avm/launcher/project.rb +17 -0
  115. data/sub/avm/lib/avm/launcher/publish/base.rb +47 -0
  116. data/sub/avm/lib/avm/launcher/publish/check_result.rb +65 -0
  117. data/sub/avm/lib/avm/launcher/publish.rb +11 -0
  118. data/sub/avm/lib/avm/launcher/stereotype.rb +63 -0
  119. data/sub/avm/lib/avm/launcher.rb +9 -0
  120. data/sub/avm/lib/avm/launcher_stereotypes.rb +9 -0
  121. data/sub/avm/lib/avm/patches/eac_config/entry_path.rb +46 -0
  122. data/sub/avm/lib/avm/path_string.rb +27 -0
  123. data/sub/avm/lib/avm/registry/application_scms.rb +15 -0
  124. data/sub/avm/lib/avm/registry/application_stereotypes/build_available.rb +49 -0
  125. data/sub/avm/lib/avm/registry/application_stereotypes/stereotype_builder.rb +33 -0
  126. data/sub/avm/lib/avm/registry/application_stereotypes.rb +52 -0
  127. data/sub/avm/lib/avm/registry/applications.rb +38 -0
  128. data/sub/avm/lib/avm/registry/config_objects.rb +18 -0
  129. data/sub/avm/lib/avm/registry/file_formats.rb +20 -0
  130. data/sub/avm/lib/avm/registry/from_gems.rb +80 -0
  131. data/sub/avm/lib/avm/registry/instances.rb +16 -0
  132. data/sub/avm/lib/avm/registry/launcher_stereotypes.rb +11 -0
  133. data/sub/avm/lib/avm/registry/runners.rb +10 -0
  134. data/sub/avm/lib/avm/registry/scms.rb +10 -0
  135. data/sub/avm/lib/avm/registry/source_generators.rb +17 -0
  136. data/sub/avm/lib/avm/registry/sources.rb +40 -0
  137. data/sub/avm/lib/avm/registry/with_path/cache.rb +31 -0
  138. data/sub/avm/lib/avm/registry/with_path.rb +49 -0
  139. data/sub/avm/lib/avm/registry.rb +35 -0
  140. data/sub/avm/lib/avm/result.rb +82 -0
  141. data/sub/avm/lib/avm/rspec/launcher_controller.rb +96 -0
  142. data/sub/avm/lib/avm/rspec/setup/launcher.rb +20 -0
  143. data/sub/avm/lib/avm/rspec/setup/source_generator.rb +22 -0
  144. data/sub/avm/lib/avm/rspec/setup.rb +36 -0
  145. data/sub/avm/lib/avm/rspec/shared_examples/avm_file_format_file_resource_name.rb +15 -0
  146. data/sub/avm/lib/avm/rspec/shared_examples/avm_file_formats_with_fixtures.rb +31 -0
  147. data/sub/avm/lib/avm/rspec/shared_examples/avm_source_generated.rb +26 -0
  148. data/sub/avm/lib/avm/rspec/shared_examples/entries_values.rb +21 -0
  149. data/sub/avm/lib/avm/rspec/shared_examples/in_avm_registry.rb +11 -0
  150. data/sub/avm/lib/avm/rspec/shared_examples/not_in_avm_registry.rb +14 -0
  151. data/sub/avm/lib/avm/rspec/shared_examples/with_config.rb +11 -0
  152. data/sub/avm/lib/avm/rspec/shared_examples/with_launcher.rb +16 -0
  153. data/sub/avm/lib/avm/rspec.rb +9 -0
  154. data/sub/avm/lib/avm/runners/base.rb +27 -0
  155. data/sub/avm/lib/avm/scms/auto_commit/file_resource_name.rb +39 -0
  156. data/sub/avm/lib/avm/scms/auto_commit/for_file.rb +82 -0
  157. data/sub/avm/lib/avm/scms/auto_commit/rules/base.rb +40 -0
  158. data/sub/avm/lib/avm/scms/auto_commit/rules/last.rb +19 -0
  159. data/sub/avm/lib/avm/scms/auto_commit/rules/manual.rb +40 -0
  160. data/sub/avm/lib/avm/scms/auto_commit/rules/new.rb +24 -0
  161. data/sub/avm/lib/avm/scms/auto_commit/rules/nth.rb +31 -0
  162. data/sub/avm/lib/avm/scms/auto_commit/rules/unique.rb +21 -0
  163. data/sub/avm/lib/avm/scms/auto_commit/rules.rb +36 -0
  164. data/sub/avm/lib/avm/scms/auto_commit.rb +11 -0
  165. data/sub/avm/lib/avm/scms/base/branches.rb +22 -0
  166. data/sub/avm/lib/avm/scms/base/commits.rb +34 -0
  167. data/sub/avm/lib/avm/scms/base/milestones.rb +21 -0
  168. data/sub/avm/lib/avm/scms/base/remotes.rb +22 -0
  169. data/sub/avm/lib/avm/scms/base.rb +61 -0
  170. data/sub/avm/lib/avm/scms/branch.rb +26 -0
  171. data/sub/avm/lib/avm/scms/changed_file.rb +26 -0
  172. data/sub/avm/lib/avm/scms/commit.rb +66 -0
  173. data/sub/avm/lib/avm/scms/commit_info.rb +39 -0
  174. data/sub/avm/lib/avm/scms/inflector.rb +22 -0
  175. data/sub/avm/lib/avm/scms/interval.rb +18 -0
  176. data/sub/avm/lib/avm/scms/null/commit.rb +15 -0
  177. data/sub/avm/lib/avm/scms/null.rb +21 -0
  178. data/sub/avm/lib/avm/scms/remote.rb +11 -0
  179. data/sub/avm/lib/avm/scms.rb +9 -0
  180. data/sub/avm/lib/avm/self/docker_image.rb +14 -0
  181. data/sub/avm/lib/avm/self/instance/entry_keys.rb +12 -0
  182. data/sub/avm/lib/avm/self/instance.rb +31 -0
  183. data/sub/avm/lib/avm/source_generators/base.rb +75 -0
  184. data/sub/avm/lib/avm/source_generators/option.rb +11 -0
  185. data/sub/avm/lib/avm/source_generators/option_list.rb +32 -0
  186. data/sub/avm/lib/avm/source_generators/runner.rb +58 -0
  187. data/sub/avm/lib/avm/source_generators.rb +9 -0
  188. data/sub/avm/lib/avm/sources/auto_commit/for_file.rb +31 -0
  189. data/sub/avm/lib/avm/sources/auto_commit.rb +11 -0
  190. data/sub/avm/lib/avm/sources/base/application.rb +36 -0
  191. data/sub/avm/lib/avm/sources/base/configuration.rb +92 -0
  192. data/sub/avm/lib/avm/sources/base/instance.rb +16 -0
  193. data/sub/avm/lib/avm/sources/base/locale.rb +33 -0
  194. data/sub/avm/lib/avm/sources/base/organizational.rb +32 -0
  195. data/sub/avm/lib/avm/sources/base/parent.rb +28 -0
  196. data/sub/avm/lib/avm/sources/base/stereotype.rb +18 -0
  197. data/sub/avm/lib/avm/sources/base/sub/remove.rb +38 -0
  198. data/sub/avm/lib/avm/sources/base/sub.rb +26 -0
  199. data/sub/avm/lib/avm/sources/base/subs.rb +67 -0
  200. data/sub/avm/lib/avm/sources/base/subs_paths.rb +32 -0
  201. data/sub/avm/lib/avm/sources/base/testing.rb +70 -0
  202. data/sub/avm/lib/avm/sources/base/update.rb +39 -0
  203. data/sub/avm/lib/avm/sources/base/update_sub.rb +57 -0
  204. data/sub/avm/lib/avm/sources/base/update_subs.rb +19 -0
  205. data/sub/avm/lib/avm/sources/base/version_bump.rb +29 -0
  206. data/sub/avm/lib/avm/sources/base.rb +61 -0
  207. data/sub/avm/lib/avm/sources/configuration/rubocop.rb +26 -0
  208. data/sub/avm/lib/avm/sources/configuration.rb +59 -0
  209. data/sub/avm/lib/avm/sources/issues/deliver.rb +52 -0
  210. data/sub/avm/lib/avm/sources/issues.rb +11 -0
  211. data/sub/avm/lib/avm/sources/runner.rb +40 -0
  212. data/sub/avm/lib/avm/sources/tests/builder.rb +96 -0
  213. data/sub/avm/lib/avm/sources/tests/performer.rb +35 -0
  214. data/sub/avm/lib/avm/sources/tests/result.rb +15 -0
  215. data/sub/avm/lib/avm/sources/tests/single.rb +75 -0
  216. data/sub/avm/lib/avm/sources/tests.rb +11 -0
  217. data/sub/avm/lib/avm/sources/update_error.rb +8 -0
  218. data/sub/avm/lib/avm/sources.rb +9 -0
  219. data/sub/avm/lib/avm/sync.rb +92 -0
  220. data/sub/avm/lib/avm/version.rb +5 -0
  221. data/sub/avm/lib/avm/version_number.rb +45 -0
  222. data/sub/avm/lib/avm/with/application_stereotype.rb +33 -0
  223. data/sub/avm/lib/avm/with/extra_subcommands.rb +44 -0
  224. data/sub/avm/lib/avm.rb +7 -0
  225. data/sub/avm/locale/en.yml +6 -0
  226. data/sub/avm/locale/pt-BR.yml +6 -0
  227. data/sub/avm/spec/lib/avm/applications/base/entries_spec.rb +31 -0
  228. data/sub/avm/spec/lib/avm/applications/base/entries_spec_files/config.yml +12 -0
  229. data/sub/avm/spec/lib/avm/applications/base_spec.rb +23 -0
  230. data/sub/avm/spec/lib/avm/applications/base_spec_fixture.yml +3 -0
  231. data/sub/avm/spec/lib/avm/file_formats/base_spec.rb +11 -0
  232. data/sub/avm/spec/lib/avm/instances/base_spec.rb +107 -0
  233. data/sub/avm/spec/lib/avm/instances/base_spec_files/config.yml +50 -0
  234. data/sub/avm/spec/lib/avm/launcher/context_spec.rb +139 -0
  235. data/sub/avm/spec/lib/avm/launcher/context_spec.yml +5 -0
  236. data/sub/avm/spec/lib/avm/launcher/context_spec_files/config.yml +9 -0
  237. data/sub/avm/spec/lib/avm/launcher/instances/base_spec.rb +42 -0
  238. data/sub/avm/spec/lib/avm/launcher/instances/base_spec_files/config.yml +5 -0
  239. data/sub/avm/spec/lib/avm/launcher/instances/base_spec_files/settings.yaml +5 -0
  240. data/sub/avm/spec/lib/avm/patches/eac_config/entry_path_spec.rb +28 -0
  241. data/sub/avm/spec/lib/avm/scms/auto_commit/file_resource_name_spec.rb +21 -0
  242. data/sub/avm/spec/lib/avm/scms/base_spec.rb +7 -0
  243. data/sub/avm/spec/lib/avm/sources/base_spec.rb +7 -0
  244. data/sub/avm/spec/lib/avm/sources/runner_spec.rb +9 -0
  245. data/sub/avm/spec/rubocop_spec.rb +3 -0
  246. data/sub/avm/spec/spec_helper/launcher_context/settings.yml +6 -0
  247. data/sub/avm/spec/spec_helper.rb +5 -0
  248. data/sub/avm/template/avm/rspec/launcher_controller/dummy/avm-tools_stub/avm-tools.gemspec +29 -0
  249. data/sub/{avm-eac_rails_base1/lib/avm/eac_rails_base1 → avm/template/avm/rspec/launcher_controller/dummy/avm-tools_stub/lib/avm/tools}/version.rb +2 -2
  250. data/sub/avm/template/avm/rspec/launcher_controller/dummy/avm-tools_stub/lib/avm/tools.rb +6 -0
  251. data/sub/avm/template/avm/rspec/launcher_controller/dummy/ruby_gem_stub/lib/ruby_gem_stub/version.rb +5 -0
  252. data/sub/avm/template/avm/rspec/launcher_controller/dummy/ruby_gem_stub/lib/ruby_gem_stub.rb +3 -0
  253. data/sub/avm/template/avm/rspec/launcher_controller/dummy/ruby_gem_stub/ruby_gem_stub.gemspec +16 -0
  254. data/sub/avm/template/avm/rspec/launcher_controller/settings.yml +1 -0
  255. data/sub/avm/template/avm/self/docker_image/Dockerfile +17 -0
  256. data/sub/avm/template/avm/self/docker_image/entrypoint.sh +12 -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 +34 -0
  259. data/sub/avm-eac_generic_base0/lib/avm/eac_generic_base0/file_formats/base/file_resource_name_helper.rb +23 -0
  260. data/sub/avm-eac_generic_base0/lib/avm/eac_generic_base0/file_formats/base/match.rb +69 -0
  261. data/sub/avm-eac_generic_base0/lib/avm/eac_generic_base0/file_formats/base.rb +41 -0
  262. data/sub/avm-eac_generic_base0/lib/avm/eac_generic_base0/file_formats.rb +11 -0
  263. data/sub/avm-eac_generic_base0/lib/avm/eac_generic_base0/instances/base.rb +12 -0
  264. data/sub/{avm-eac_rails_base1/lib/avm/eac_rails_base1/instances/processes.rb → avm-eac_generic_base0/lib/avm/eac_generic_base0/instances.rb} +2 -4
  265. data/sub/avm-eac_generic_base0/lib/avm/eac_generic_base0/sources/base.rb +43 -0
  266. data/sub/avm-eac_generic_base0/lib/avm/eac_generic_base0/sources/docker/runner.rb +61 -0
  267. data/sub/{avm-eac_rails_base1/lib/avm/eac_rails_base1/instances/runners.rb → avm-eac_generic_base0/lib/avm/eac_generic_base0/sources/docker.rb} +3 -3
  268. data/sub/avm-eac_generic_base0/lib/avm/eac_generic_base0/sources.rb +11 -0
  269. data/sub/avm-eac_generic_base0/lib/avm/eac_generic_base0/version.rb +7 -0
  270. data/sub/avm-eac_generic_base0/lib/avm/eac_generic_base0.rb +9 -0
  271. data/sub/avm-eac_generic_base0/locale/en.yml +6 -0
  272. data/sub/avm-eac_generic_base0/locale/pt-BR.yml +6 -0
  273. data/sub/avm-eac_generic_base0/spec/lib/avm/eac_generic_base0/file_formats/base_spec.rb +7 -0
  274. data/sub/avm-eac_generic_base0/spec/lib/avm/eac_generic_base0/file_formats/base_spec_files/plain_text.source +3 -0
  275. data/sub/avm-eac_generic_base0/spec/lib/avm/eac_generic_base0/file_formats/base_spec_files/plain_text.target +3 -0
  276. data/sub/avm-eac_generic_base0/spec/lib/avm/eac_generic_base0/sources/base_spec.rb +7 -0
  277. metadata +288 -39
  278. data/sub/avm-eac_rails_base1/avm-eac_rails_base1.gemspec +0 -22
  279. data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/instances/apache_base.rb +0 -16
  280. data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/instances/apache_host.rb +0 -18
  281. data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/instances/apache_path.rb +0 -21
  282. data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/instances/base.rb +0 -50
  283. data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/instances/deploy.rb +0 -23
  284. data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/instances/processes/daemon.rb +0 -39
  285. data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/instances/processes/tasks_scheduler.rb +0 -27
  286. data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/instances/runners/bundle.rb +0 -28
  287. data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/instances/runners/code_runner.rb +0 -28
  288. data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/instances/runners/log.rb +0 -45
  289. data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/instances/runners/logs/clear.rb +0 -27
  290. data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/instances/runners/logs.rb +0 -19
  291. data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/instances/runners/rails_server.rb +0 -34
  292. data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/instances/runners/tasks_scheduler/systemd_unit.rb +0 -48
  293. data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/instances/runners/tasks_scheduler.rb +0 -19
  294. data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/instances/systemd_unit/service.rb +0 -72
  295. data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/instances/systemd_unit/tasks_scheduler_command.rb +0 -31
  296. data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/instances/systemd_unit.rb +0 -59
  297. data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/runner_with/bundle.rb +0 -27
  298. data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/runner_with/rails_environment.rb +0 -47
  299. data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/sources/base.rb +0 -43
  300. data/sub/avm-eac_rails_base1/template/avm/eac_rails_base1/instances/apache_path/extra_content.conf +0 -5
  301. data/sub/avm-eac_rails_base1/template/avm/eac_rails_base1/instances/systemd_unit/tasks_scheduler.service +0 -12
  302. data/sub/avm-eac_rails_base1/template/avm/eac_rails_base1/instances/systemd_unit/tasks_scheduler_command.sh +0 -6
  303. /data/sub/{avm-eac_rails_base1 → avm-eac_generic_base0}/Gemfile +0 -0
  304. /data/sub/{avm-eac_rails_base1 → avm-eac_generic_base0}/spec/rubocop_spec.rb +0 -0
  305. /data/sub/{avm-eac_rails_base1 → avm-eac_generic_base0}/spec/spec_helper.rb +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c0dc56d7a88a3a1fd5cb8efd27325816b4cf1b5fafb2260e7cbb6a6b68433336
4
- data.tar.gz: bccb162a86dc9fdf69a58d2f1479a936e36b0e5072217472a342afd0d147899d
3
+ metadata.gz: 4df32aab250bd6d20feda05e52e4b12253d77f8f708f6c038128a7ca4f2680eb
4
+ data.tar.gz: 047c8d86ad2986f9e5cd23d0e01f723f1706685854da70d92836a44a780117df
5
5
  SHA512:
6
- metadata.gz: 12ccbcc6f9bbba861c6b2181e196d3027bf2b26a8666257111726d6eae65f0989ae04f7d21f0f92253fc56aa98f442f5c367dcc8f4f42261f6188bf38353edb4
7
- data.tar.gz: 036deadc4dffcccaaae3eab04490ef3f18fbecaffa745b0b10ed91219351a2a6bb963bf11a9b1f28de6e9ee2e76a0c31e53c7ced46332a114ff8c7b6643a3aad
6
+ metadata.gz: 56873d8653c882bff93baa751c98127c3e32237338b0843225abb4242f88caa310cfa2506897537959c2cca3fe6eec28b36d986e7193b654c36b5770d75ba93c
7
+ data.tar.gz: 17d9b6c16f224f38b82cb03bc4d4fd5b1c8305b19c855980aa78693797a656aa189cd20183b4a1522fe6f86653e1898f199d75133e11a66756f8280963be1a10
data/Gemfile.lock CHANGED
@@ -1,10 +1,10 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- eac_tools (0.97.1)
5
- avm (~> 0.94)
4
+ eac_tools (0.98.0)
5
+ avm (~> 0.94, >= 0.94.1)
6
6
  avm-eac_asciidoctor_base0 (~> 0.25)
7
- avm-eac_generic_base0 (~> 0.13)
7
+ avm-eac_generic_base0 (~> 0.14)
8
8
  avm-eac_github_base0 (~> 0.3)
9
9
  avm-eac_gitlab_base0 (~> 0.4)
10
10
  avm-eac_latex_base0 (~> 0.3, >= 0.3.2)
@@ -21,16 +21,27 @@ PATH
21
21
  avm-eac_wordpress_base0 (~> 0.3, >= 0.3.2)
22
22
  avm-git (~> 0.18)
23
23
  avm-tools (~> 0.162)
24
- eac_ruby_utils (~> 0.123)
24
+ eac_ruby_utils (~> 0.124)
25
25
 
26
26
  PATH
27
- remote: sub/avm-eac_rails_base1
27
+ remote: sub/avm-eac_generic_base0
28
28
  specs:
29
- avm-eac_rails_base1 (0.10.2)
30
- avm (~> 0.94)
31
- avm-eac_ruby_base1 (~> 0.35, >= 0.35.1)
32
- avm-eac_webapp_base0 (~> 0.20, >= 0.20.1)
33
- eac_ruby_utils (~> 0.123)
29
+ avm-eac_generic_base0 (0.14.0)
30
+ avm (~> 0.94, >= 0.94.1)
31
+ eac_ruby_utils (~> 0.124)
32
+
33
+ PATH
34
+ remote: sub/avm
35
+ specs:
36
+ avm (0.94.1)
37
+ eac_cli (~> 0.42)
38
+ eac_config (~> 0.14, >= 0.14.3)
39
+ eac_docker (~> 0.7)
40
+ eac_fs (~> 0.18, >= 0.18.1)
41
+ eac_ruby_utils (~> 0.124)
42
+ eac_templates (~> 0.7, >= 0.7.1)
43
+ minitar (~> 0.12, >= 0.12.1)
44
+ ruby-progressbar (~> 1.13)
34
45
 
35
46
  GEM
36
47
  remote: https://rubygems.org/
@@ -45,15 +56,6 @@ GEM
45
56
  public_suffix (>= 2.0.2, < 7.0)
46
57
  asciidoctor (2.0.23)
47
58
  ast (2.4.2)
48
- avm (0.94.0)
49
- eac_cli (~> 0.42)
50
- eac_config (~> 0.14, >= 0.14.2)
51
- eac_docker (~> 0.7)
52
- eac_fs (~> 0.18)
53
- eac_ruby_utils (~> 0.122)
54
- eac_templates (~> 0.7, >= 0.7.1)
55
- minitar (~> 0.9)
56
- ruby-progressbar (~> 1.13)
57
59
  avm-eac_asciidoctor_base0 (0.25.0)
58
60
  asciidoctor (~> 2.0, >= 2.0.23)
59
61
  avm-eac_webapp_base0 (~> 0.20, >= 0.20.1)
@@ -61,9 +63,6 @@ GEM
61
63
  eac_ruby_utils (~> 0.123)
62
64
  os (~> 1.1, >= 1.1.4)
63
65
  rouge (~> 3.30)
64
- avm-eac_generic_base0 (0.13.0)
65
- avm (~> 0.90)
66
- eac_ruby_utils (~> 0.121)
67
66
  avm-eac_github_base0 (0.3.0)
68
67
  avm (~> 0.82)
69
68
  avm-git (~> 0.14)
@@ -89,6 +88,11 @@ GEM
89
88
  avm-eac_rails_base0 (0.11.1)
90
89
  avm-eac_rails_base1 (~> 0.10)
91
90
  eac_ruby_utils (~> 0.121)
91
+ avm-eac_rails_base1 (0.10.2)
92
+ avm (~> 0.94)
93
+ avm-eac_ruby_base1 (~> 0.35, >= 0.35.1)
94
+ avm-eac_webapp_base0 (~> 0.20, >= 0.20.1)
95
+ eac_ruby_utils (~> 0.123)
92
96
  avm-eac_redmine_base0 (0.22.3)
93
97
  avm (~> 0.92)
94
98
  avm-eac_generic_base0 (~> 0.13)
@@ -154,9 +158,9 @@ GEM
154
158
  eac_config (~> 0.14, >= 0.14.2)
155
159
  eac_ruby_utils (~> 0.122)
156
160
  tty-table (~> 0.12)
157
- eac_config (0.14.2)
158
- addressable (~> 2.8, >= 2.8.6)
159
- eac_ruby_utils (~> 0.121)
161
+ eac_config (0.14.3)
162
+ addressable (~> 2.8, >= 2.8.7)
163
+ eac_ruby_utils (~> 0.124)
160
164
  eac_docker (0.7.0)
161
165
  eac_ruby_utils (~> 0.112)
162
166
  eac_templates (~> 0.3, >= 0.3.2)
@@ -191,7 +195,7 @@ GEM
191
195
  rubocop (~> 1.60, >= 1.60.1)
192
196
  rubocop-rails (~> 2.23, >= 2.23.1)
193
197
  rubocop-rspec (~> 2.26, >= 2.26.1)
194
- eac_ruby_utils (0.123.0)
198
+ eac_ruby_utils (0.124.0)
195
199
  activesupport (>= 4, < 7)
196
200
  addressable (~> 2.8, >= 2.8.7)
197
201
  bundler
@@ -221,16 +225,16 @@ GEM
221
225
  htmlbeautifier (1.4.3)
222
226
  i18n (1.14.6)
223
227
  concurrent-ruby (~> 1.0)
224
- json (2.7.6)
228
+ json (2.9.0)
225
229
  language_server-protocol (3.17.0.3)
226
230
  minitar (0.12.1)
227
- minitest (5.25.1)
231
+ minitest (5.25.4)
228
232
  multipart-post (2.4.1)
229
233
  net-ssh (4.2.0)
230
234
  os (1.1.4)
231
235
  parallel (1.26.3)
232
236
  parseconfig (1.1.2)
233
- parser (3.3.5.1)
237
+ parser (3.3.6.0)
234
238
  ast (~> 2.4.1)
235
239
  racc
236
240
  parslet (2.0.0)
@@ -242,7 +246,7 @@ GEM
242
246
  rainbow (3.1.1)
243
247
  random-port (0.7.1)
244
248
  rchardet (1.8.0)
245
- regexp_parser (2.9.2)
249
+ regexp_parser (2.9.3)
246
250
  rouge (3.30.0)
247
251
  rspec (3.13.0)
248
252
  rspec-core (~> 3.13.0)
@@ -256,18 +260,18 @@ GEM
256
260
  rspec-mocks (3.13.2)
257
261
  diff-lcs (>= 1.2.0, < 2.0)
258
262
  rspec-support (~> 3.13.0)
259
- rspec-support (3.13.1)
260
- rubocop (1.68.0)
263
+ rspec-support (3.13.2)
264
+ rubocop (1.69.1)
261
265
  json (~> 2.3)
262
266
  language_server-protocol (>= 3.17.0)
263
267
  parallel (~> 1.10)
264
268
  parser (>= 3.3.0.2)
265
269
  rainbow (>= 2.2.2, < 4.0)
266
- regexp_parser (>= 2.4, < 3.0)
267
- rubocop-ast (>= 1.32.2, < 2.0)
270
+ regexp_parser (>= 2.9.3, < 3.0)
271
+ rubocop-ast (>= 1.36.2, < 2.0)
268
272
  ruby-progressbar (~> 1.7)
269
- unicode-display_width (>= 2.4.0, < 3.0)
270
- rubocop-ast (1.33.1)
273
+ unicode-display_width (>= 2.4.0, < 4.0)
274
+ rubocop-ast (1.36.2)
271
275
  parser (>= 3.3.1.0)
272
276
  rubocop-capybara (2.21.0)
273
277
  rubocop (~> 1.41)
@@ -310,7 +314,8 @@ PLATFORMS
310
314
  x86_64-linux
311
315
 
312
316
  DEPENDENCIES
313
- avm-eac_rails_base1!
317
+ avm!
318
+ avm-eac_generic_base0!
314
319
  eac_ruby_gem_support (~> 0.10)
315
320
  eac_tools!
316
321
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module EacTools
4
- VERSION = '0.97.1'
4
+ VERSION = '0.98.0'
5
5
  end
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['{lib,locale,template}/**/{*,.*}']
14
+ s.required_ruby_version = '>= 2.7'
15
+
16
+ s.add_dependency 'eac_cli', '~> 0.42'
17
+ s.add_dependency 'eac_config', '~> 0.14', '>= 0.14.3'
18
+ s.add_dependency 'eac_docker', '~> 0.7'
19
+ s.add_dependency 'eac_fs', '~> 0.18', '>= 0.18.1'
20
+ s.add_dependency 'eac_ruby_utils', '~> 0.124'
21
+ s.add_dependency 'eac_templates', '~> 0.7', '>= 0.7.1'
22
+ s.add_dependency 'minitar', '~> 0.12', '>= 0.12.1'
23
+ s.add_dependency 'ruby-progressbar', '~> 1.13'
24
+
25
+ s.add_development_dependency 'avm-eac_ruby_base1', '~> 0.35', '>= 0.35.1'
26
+ s.add_development_dependency 'avm-git', '~> 0.18'
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
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/core_ext'
4
+
5
+ module Avm
6
+ module ApplicationScms
7
+ require_sub __FILE__
8
+ end
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
@@ -3,7 +3,7 @@
3
3
  require 'eac_ruby_utils/core_ext'
4
4
 
5
5
  module Avm
6
- module EacRailsBase1
6
+ module Applications
7
7
  require_sub __FILE__
8
8
  end
9
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