eac_tools 0.97.1 → 0.98.0

Sign up to get free protection for your applications and to get access to all the features.
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