eac_tools 0.86.7 → 0.86.9

Sign up to get free protection for your applications and to get access to all the features.
Files changed (323) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +34 -47
  3. data/lib/eac_tools/version.rb +1 -1
  4. data/sub/avm-eac_ubuntu_base0/Gemfile +2 -2
  5. data/sub/avm-eac_ubuntu_base0/avm-eac_ubuntu_base0.gemspec +5 -5
  6. data/sub/avm-eac_ubuntu_base0/lib/avm/eac_ubuntu_base0/rspec/ssh_docker_server.rb +5 -7
  7. data/sub/avm-eac_ubuntu_base0/lib/avm/eac_ubuntu_base0/version.rb +1 -1
  8. data/sub/avm-eac_ubuntu_base0/spec/lib/avm/eac_ubuntu_base0/docker_image_spec.rb +3 -3
  9. data/sub/avm-eac_ubuntu_base0/spec/lib/avm/eac_ubuntu_base0/runners/base/docker_spec.rb +2 -2
  10. data/sub/avm-eac_ubuntu_base0/spec/lib/avm/eac_ubuntu_base0/runners/base_spec.rb +1 -1
  11. data/sub/avm-eac_ubuntu_base0/spec/rubocop_spec.rb +1 -1
  12. data/sub/avm-eac_ubuntu_base0/spec/spec_helper.rb +1 -1
  13. metadata +4 -314
  14. data/sub/avm/Gemfile +0 -8
  15. data/sub/avm/avm.gemspec +0 -28
  16. data/sub/avm/lib/avm/application_scms/base.rb +0 -39
  17. data/sub/avm/lib/avm/application_scms.rb +0 -9
  18. data/sub/avm/lib/avm/application_stereotypes/base.rb +0 -31
  19. data/sub/avm/lib/avm/application_stereotypes.rb +0 -9
  20. data/sub/avm/lib/avm/applications/base/auto_local_source_path.rb +0 -24
  21. data/sub/avm/lib/avm/applications/base/local_instance.rb +0 -31
  22. data/sub/avm/lib/avm/applications/base/local_source.rb +0 -30
  23. data/sub/avm/lib/avm/applications/base/naming.rb +0 -28
  24. data/sub/avm/lib/avm/applications/base/organization.rb +0 -29
  25. data/sub/avm/lib/avm/applications/base/publishing.rb +0 -43
  26. data/sub/avm/lib/avm/applications/base/scm.rb +0 -27
  27. data/sub/avm/lib/avm/applications/base/stereotype.rb +0 -31
  28. data/sub/avm/lib/avm/applications/base.rb +0 -37
  29. data/sub/avm/lib/avm/applications.rb +0 -9
  30. data/sub/avm/lib/avm/data/callbacks.rb +0 -37
  31. data/sub/avm/lib/avm/data/clearer.rb +0 -20
  32. data/sub/avm/lib/avm/data/dumper.rb +0 -142
  33. data/sub/avm/lib/avm/data/loader.rb +0 -28
  34. data/sub/avm/lib/avm/data/package/base_performer.rb +0 -38
  35. data/sub/avm/lib/avm/data/package/build_directory.rb +0 -28
  36. data/sub/avm/lib/avm/data/package/clear.rb +0 -22
  37. data/sub/avm/lib/avm/data/package/dump.rb +0 -45
  38. data/sub/avm/lib/avm/data/package/load.rb +0 -36
  39. data/sub/avm/lib/avm/data/package.rb +0 -67
  40. data/sub/avm/lib/avm/data/performer.rb +0 -49
  41. data/sub/avm/lib/avm/data/rotate.rb +0 -107
  42. data/sub/avm/lib/avm/data/unit.rb +0 -49
  43. data/sub/avm/lib/avm/data/unit_with_commands.rb +0 -52
  44. data/sub/avm/lib/avm/docker/container.rb +0 -50
  45. data/sub/avm/lib/avm/docker/image.rb +0 -76
  46. data/sub/avm/lib/avm/docker/runner.rb +0 -121
  47. data/sub/avm/lib/avm/docker.rb +0 -9
  48. data/sub/avm/lib/avm/entries/auto_values/entry.rb +0 -39
  49. data/sub/avm/lib/avm/entries/auto_values/uri_entry.rb +0 -24
  50. data/sub/avm/lib/avm/entries/auto_values.rb +0 -11
  51. data/sub/avm/lib/avm/entries/base/inherited_entry_value.rb +0 -46
  52. data/sub/avm/lib/avm/entries/base/uri_component_entry_value/default_value.rb +0 -28
  53. data/sub/avm/lib/avm/entries/base/uri_component_entry_value/inherited_value.rb +0 -39
  54. data/sub/avm/lib/avm/entries/base/uri_component_entry_value/url_entry_value.rb +0 -31
  55. data/sub/avm/lib/avm/entries/base/uri_component_entry_value.rb +0 -44
  56. data/sub/avm/lib/avm/entries/base/uri_components_entries_values/component_factory.rb +0 -42
  57. data/sub/avm/lib/avm/entries/base/uri_components_entries_values/generic_component.rb +0 -63
  58. data/sub/avm/lib/avm/entries/base/uri_components_entries_values/path_component.rb +0 -19
  59. data/sub/avm/lib/avm/entries/base/uri_components_entries_values/url_component.rb +0 -28
  60. data/sub/avm/lib/avm/entries/base/uri_components_entries_values.rb +0 -25
  61. data/sub/avm/lib/avm/entries/base.rb +0 -46
  62. data/sub/avm/lib/avm/entries/entry.rb +0 -65
  63. data/sub/avm/lib/avm/entries/jobs/base.rb +0 -62
  64. data/sub/avm/lib/avm/entries/jobs/variables_source/read_entry.rb +0 -50
  65. data/sub/avm/lib/avm/entries/jobs/variables_source.rb +0 -15
  66. data/sub/avm/lib/avm/entries/jobs/with_variables_source.rb +0 -15
  67. data/sub/avm/lib/avm/entries/jobs.rb +0 -11
  68. data/sub/avm/lib/avm/entries/keys_constants_set.rb +0 -43
  69. data/sub/avm/lib/avm/entries/uri_builder.rb +0 -91
  70. data/sub/avm/lib/avm/entries.rb +0 -9
  71. data/sub/avm/lib/avm/executables.rb +0 -24
  72. data/sub/avm/lib/avm/file_formats/base.rb +0 -35
  73. data/sub/avm/lib/avm/file_formats/file_result.rb +0 -13
  74. data/sub/avm/lib/avm/file_formats/search_formatter.rb +0 -87
  75. data/sub/avm/lib/avm/file_formats/unknown.rb +0 -18
  76. data/sub/avm/lib/avm/file_formats/utf8_assert.rb +0 -72
  77. data/sub/avm/lib/avm/file_formats.rb +0 -9
  78. data/sub/avm/lib/avm/instances/base/auto_values/data.rb +0 -25
  79. data/sub/avm/lib/avm/instances/base/auto_values/database.rb +0 -62
  80. data/sub/avm/lib/avm/instances/base/auto_values/mailer.rb +0 -35
  81. data/sub/avm/lib/avm/instances/base/auto_values/source.rb +0 -15
  82. data/sub/avm/lib/avm/instances/base/auto_values.rb +0 -14
  83. data/sub/avm/lib/avm/instances/base/dockerizable.rb +0 -45
  84. data/sub/avm/lib/avm/instances/base/entry_keys.rb +0 -27
  85. data/sub/avm/lib/avm/instances/base/install.rb +0 -24
  86. data/sub/avm/lib/avm/instances/base/processes.rb +0 -27
  87. data/sub/avm/lib/avm/instances/base/subcommand_parent.rb +0 -25
  88. data/sub/avm/lib/avm/instances/base/web.rb +0 -16
  89. data/sub/avm/lib/avm/instances/base.rb +0 -71
  90. data/sub/avm/lib/avm/instances/data/files_unit.rb +0 -59
  91. data/sub/avm/lib/avm/instances/data/package.rb +0 -27
  92. data/sub/avm/lib/avm/instances/data/unit.rb +0 -30
  93. data/sub/avm/lib/avm/instances/data.rb +0 -11
  94. data/sub/avm/lib/avm/instances/docker_image.rb +0 -15
  95. data/sub/avm/lib/avm/instances/entry_keys.rb +0 -43
  96. data/sub/avm/lib/avm/instances/ids.rb +0 -30
  97. data/sub/avm/lib/avm/instances/process.rb +0 -31
  98. data/sub/avm/lib/avm/instances/runner.rb +0 -37
  99. data/sub/avm/lib/avm/instances.rb +0 -9
  100. data/sub/avm/lib/avm/launcher/context/instance_collector.rb +0 -46
  101. data/sub/avm/lib/avm/launcher/context/instance_discovery.rb +0 -56
  102. data/sub/avm/lib/avm/launcher/context/instance_manager/cached_instance.rb +0 -37
  103. data/sub/avm/lib/avm/launcher/context/instance_manager/cached_instances.rb +0 -35
  104. data/sub/avm/lib/avm/launcher/context/instance_manager.rb +0 -77
  105. data/sub/avm/lib/avm/launcher/context/settings.rb +0 -53
  106. data/sub/avm/lib/avm/launcher/context.rb +0 -100
  107. data/sub/avm/lib/avm/launcher/errors/base.rb +0 -10
  108. data/sub/avm/lib/avm/launcher/errors/non_project.rb +0 -15
  109. data/sub/avm/lib/avm/launcher/errors.rb +0 -11
  110. data/sub/avm/lib/avm/launcher/instances/base/cache.rb +0 -43
  111. data/sub/avm/lib/avm/launcher/instances/base/publishing.rb +0 -53
  112. data/sub/avm/lib/avm/launcher/instances/base.rb +0 -78
  113. data/sub/avm/lib/avm/launcher/instances/error.rb +0 -10
  114. data/sub/avm/lib/avm/launcher/instances/runner_helper.rb +0 -47
  115. data/sub/avm/lib/avm/launcher/instances/settings.rb +0 -26
  116. data/sub/avm/lib/avm/launcher/instances.rb +0 -11
  117. data/sub/avm/lib/avm/launcher/paths/logical.rb +0 -80
  118. data/sub/avm/lib/avm/launcher/paths/real.rb +0 -44
  119. data/sub/avm/lib/avm/launcher/paths.rb +0 -11
  120. data/sub/avm/lib/avm/launcher/project.rb +0 -17
  121. data/sub/avm/lib/avm/launcher/publish/base.rb +0 -47
  122. data/sub/avm/lib/avm/launcher/publish/check_result.rb +0 -65
  123. data/sub/avm/lib/avm/launcher/publish.rb +0 -11
  124. data/sub/avm/lib/avm/launcher/stereotype.rb +0 -63
  125. data/sub/avm/lib/avm/launcher.rb +0 -9
  126. data/sub/avm/lib/avm/launcher_stereotypes.rb +0 -9
  127. data/sub/avm/lib/avm/patches/eac_config/entry_path.rb +0 -46
  128. data/sub/avm/lib/avm/path_string.rb +0 -27
  129. data/sub/avm/lib/avm/registry/application_scms.rb +0 -15
  130. data/sub/avm/lib/avm/registry/application_stereotypes/build_available.rb +0 -49
  131. data/sub/avm/lib/avm/registry/application_stereotypes/stereotype_builder.rb +0 -33
  132. data/sub/avm/lib/avm/registry/application_stereotypes.rb +0 -52
  133. data/sub/avm/lib/avm/registry/applications.rb +0 -38
  134. data/sub/avm/lib/avm/registry/config_objects.rb +0 -18
  135. data/sub/avm/lib/avm/registry/file_formats.rb +0 -20
  136. data/sub/avm/lib/avm/registry/from_gems.rb +0 -80
  137. data/sub/avm/lib/avm/registry/instances.rb +0 -16
  138. data/sub/avm/lib/avm/registry/launcher_stereotypes.rb +0 -11
  139. data/sub/avm/lib/avm/registry/runners.rb +0 -10
  140. data/sub/avm/lib/avm/registry/scms.rb +0 -10
  141. data/sub/avm/lib/avm/registry/source_generators.rb +0 -17
  142. data/sub/avm/lib/avm/registry/sources.rb +0 -40
  143. data/sub/avm/lib/avm/registry/with_path/cache.rb +0 -31
  144. data/sub/avm/lib/avm/registry/with_path.rb +0 -49
  145. data/sub/avm/lib/avm/registry.rb +0 -35
  146. data/sub/avm/lib/avm/result.rb +0 -82
  147. data/sub/avm/lib/avm/rspec/setup/launcher.rb +0 -20
  148. data/sub/avm/lib/avm/rspec/setup/source_generator.rb +0 -22
  149. data/sub/avm/lib/avm/rspec/setup.rb +0 -35
  150. data/sub/avm/lib/avm/rspec/shared_examples/avm_file_format_file_resource_name.rb +0 -15
  151. data/sub/avm/lib/avm/rspec/shared_examples/avm_file_formats_with_fixtures.rb +0 -31
  152. data/sub/avm/lib/avm/rspec/shared_examples/avm_source_generated.rb +0 -23
  153. data/sub/avm/lib/avm/rspec/shared_examples/entries_values.rb +0 -23
  154. data/sub/avm/lib/avm/rspec/shared_examples/in_avm_registry.rb +0 -11
  155. data/sub/avm/lib/avm/rspec/shared_examples/not_in_avm_registry.rb +0 -14
  156. data/sub/avm/lib/avm/rspec.rb +0 -9
  157. data/sub/avm/lib/avm/runners/base.rb +0 -27
  158. data/sub/avm/lib/avm/scms/auto_commit/file_resource_name.rb +0 -39
  159. data/sub/avm/lib/avm/scms/auto_commit/for_file.rb +0 -82
  160. data/sub/avm/lib/avm/scms/auto_commit/rules/base.rb +0 -40
  161. data/sub/avm/lib/avm/scms/auto_commit/rules/last.rb +0 -19
  162. data/sub/avm/lib/avm/scms/auto_commit/rules/manual.rb +0 -40
  163. data/sub/avm/lib/avm/scms/auto_commit/rules/new.rb +0 -24
  164. data/sub/avm/lib/avm/scms/auto_commit/rules/nth.rb +0 -31
  165. data/sub/avm/lib/avm/scms/auto_commit/rules/unique.rb +0 -21
  166. data/sub/avm/lib/avm/scms/auto_commit/rules.rb +0 -36
  167. data/sub/avm/lib/avm/scms/auto_commit.rb +0 -11
  168. data/sub/avm/lib/avm/scms/base/branches.rb +0 -22
  169. data/sub/avm/lib/avm/scms/base/commits.rb +0 -34
  170. data/sub/avm/lib/avm/scms/base/milestones.rb +0 -21
  171. data/sub/avm/lib/avm/scms/base/remotes.rb +0 -22
  172. data/sub/avm/lib/avm/scms/base.rb +0 -61
  173. data/sub/avm/lib/avm/scms/branch.rb +0 -26
  174. data/sub/avm/lib/avm/scms/changed_file.rb +0 -26
  175. data/sub/avm/lib/avm/scms/commit.rb +0 -66
  176. data/sub/avm/lib/avm/scms/commit_info.rb +0 -39
  177. data/sub/avm/lib/avm/scms/inflector.rb +0 -22
  178. data/sub/avm/lib/avm/scms/interval.rb +0 -18
  179. data/sub/avm/lib/avm/scms/null/commit.rb +0 -15
  180. data/sub/avm/lib/avm/scms/null.rb +0 -21
  181. data/sub/avm/lib/avm/scms/remote.rb +0 -11
  182. data/sub/avm/lib/avm/scms.rb +0 -9
  183. data/sub/avm/lib/avm/self/docker_image.rb +0 -14
  184. data/sub/avm/lib/avm/self/instance/entry_keys.rb +0 -12
  185. data/sub/avm/lib/avm/self/instance.rb +0 -31
  186. data/sub/avm/lib/avm/source_generators/base.rb +0 -45
  187. data/sub/avm/lib/avm/source_generators/option.rb +0 -11
  188. data/sub/avm/lib/avm/source_generators/option_list.rb +0 -32
  189. data/sub/avm/lib/avm/source_generators/runner.rb +0 -58
  190. data/sub/avm/lib/avm/source_generators.rb +0 -9
  191. data/sub/avm/lib/avm/sources/auto_commit/for_file.rb +0 -31
  192. data/sub/avm/lib/avm/sources/auto_commit.rb +0 -11
  193. data/sub/avm/lib/avm/sources/base/application.rb +0 -34
  194. data/sub/avm/lib/avm/sources/base/configuration.rb +0 -92
  195. data/sub/avm/lib/avm/sources/base/instance.rb +0 -16
  196. data/sub/avm/lib/avm/sources/base/locale.rb +0 -33
  197. data/sub/avm/lib/avm/sources/base/organizational.rb +0 -32
  198. data/sub/avm/lib/avm/sources/base/parent.rb +0 -28
  199. data/sub/avm/lib/avm/sources/base/stereotype.rb +0 -18
  200. data/sub/avm/lib/avm/sources/base/sub/remove.rb +0 -38
  201. data/sub/avm/lib/avm/sources/base/sub.rb +0 -26
  202. data/sub/avm/lib/avm/sources/base/subs.rb +0 -67
  203. data/sub/avm/lib/avm/sources/base/subs_paths.rb +0 -32
  204. data/sub/avm/lib/avm/sources/base/testing.rb +0 -70
  205. data/sub/avm/lib/avm/sources/base/update.rb +0 -39
  206. data/sub/avm/lib/avm/sources/base/update_sub.rb +0 -57
  207. data/sub/avm/lib/avm/sources/base/update_subs.rb +0 -19
  208. data/sub/avm/lib/avm/sources/base/version_bump.rb +0 -29
  209. data/sub/avm/lib/avm/sources/base.rb +0 -56
  210. data/sub/avm/lib/avm/sources/configuration/rubocop.rb +0 -26
  211. data/sub/avm/lib/avm/sources/configuration.rb +0 -59
  212. data/sub/avm/lib/avm/sources/issues/deliver.rb +0 -52
  213. data/sub/avm/lib/avm/sources/issues.rb +0 -11
  214. data/sub/avm/lib/avm/sources/runner.rb +0 -40
  215. data/sub/avm/lib/avm/sources/tests/builder.rb +0 -96
  216. data/sub/avm/lib/avm/sources/tests/performer.rb +0 -35
  217. data/sub/avm/lib/avm/sources/tests/result.rb +0 -15
  218. data/sub/avm/lib/avm/sources/tests/single.rb +0 -75
  219. data/sub/avm/lib/avm/sources/tests.rb +0 -11
  220. data/sub/avm/lib/avm/sources/update_error.rb +0 -8
  221. data/sub/avm/lib/avm/sources.rb +0 -9
  222. data/sub/avm/lib/avm/sync.rb +0 -94
  223. data/sub/avm/lib/avm/version.rb +0 -5
  224. data/sub/avm/lib/avm/version_number.rb +0 -45
  225. data/sub/avm/lib/avm/with/application_stereotype.rb +0 -33
  226. data/sub/avm/lib/avm/with/extra_subcommands.rb +0 -44
  227. data/sub/avm/lib/avm.rb +0 -7
  228. data/sub/avm/locale/en.yml +0 -6
  229. data/sub/avm/locale/pt-BR.yml +0 -6
  230. data/sub/avm/spec/dummy/avm-tools_stub/avm-tools.gemspec +0 -29
  231. data/sub/avm/spec/dummy/avm-tools_stub/lib/avm/tools/version.rb +0 -7
  232. data/sub/avm/spec/dummy/avm-tools_stub/lib/avm/tools.rb +0 -6
  233. data/sub/avm/spec/dummy/ruby_gem_stub/lib/ruby_gem_stub/version.rb +0 -5
  234. data/sub/avm/spec/dummy/ruby_gem_stub/lib/ruby_gem_stub.rb +0 -3
  235. data/sub/avm/spec/dummy/ruby_gem_stub/ruby_gem_stub.gemspec +0 -16
  236. data/sub/avm/spec/lib/avm/applications/base/entries_spec.rb +0 -31
  237. data/sub/avm/spec/lib/avm/applications/base/entries_spec_files/config.yml +0 -12
  238. data/sub/avm/spec/lib/avm/applications/base_spec.rb +0 -23
  239. data/sub/avm/spec/lib/avm/applications/base_spec_fixture.yml +0 -3
  240. data/sub/avm/spec/lib/avm/file_formats/base_spec.rb +0 -11
  241. data/sub/avm/spec/lib/avm/instances/base_spec.rb +0 -107
  242. data/sub/avm/spec/lib/avm/instances/base_spec_files/config.yml +0 -50
  243. data/sub/avm/spec/lib/avm/launcher/context_spec.rb +0 -128
  244. data/sub/avm/spec/lib/avm/launcher/context_spec.yml +0 -5
  245. data/sub/avm/spec/lib/avm/launcher/instances/base_spec.rb +0 -43
  246. data/sub/avm/spec/lib/avm/launcher/instances/base_spec_files/projects/avm-tools_stub/avm-tools.gemspec +0 -29
  247. data/sub/avm/spec/lib/avm/launcher/instances/base_spec_files/projects/avm-tools_stub/lib/avm/tools/version.rb +0 -7
  248. data/sub/avm/spec/lib/avm/launcher/instances/base_spec_files/projects/avm-tools_stub/lib/avm/tools.rb +0 -6
  249. data/sub/avm/spec/lib/avm/launcher/instances/base_spec_files/projects/ruby_gem_stub/lib/ruby_gem_stub/version.rb +0 -5
  250. data/sub/avm/spec/lib/avm/launcher/instances/base_spec_files/projects/ruby_gem_stub/lib/ruby_gem_stub.rb +0 -3
  251. data/sub/avm/spec/lib/avm/launcher/instances/base_spec_files/projects/ruby_gem_stub/ruby_gem_stub.gemspec +0 -16
  252. data/sub/avm/spec/lib/avm/launcher/instances/base_spec_files/settings.yaml +0 -5
  253. data/sub/avm/spec/lib/avm/patches/eac_config/entry_path_spec.rb +0 -28
  254. data/sub/avm/spec/lib/avm/scms/auto_commit/file_resource_name_spec.rb +0 -21
  255. data/sub/avm/spec/lib/avm/scms/base_spec.rb +0 -7
  256. data/sub/avm/spec/lib/avm/sources/base_spec.rb +0 -7
  257. data/sub/avm/spec/lib/avm/sources/runner_spec.rb +0 -9
  258. data/sub/avm/spec/rubocop_spec.rb +0 -3
  259. data/sub/avm/spec/spec_helper/eac_launcher/settings.yml +0 -6
  260. data/sub/avm/spec/spec_helper/eac_launcher.rb +0 -52
  261. data/sub/avm/spec/spec_helper.rb +0 -5
  262. data/sub/avm/template/avm/self/docker_image/Dockerfile +0 -17
  263. data/sub/avm/template/avm/self/docker_image/entrypoint.sh +0 -12
  264. data/sub/avm-eac_rails_base0/Gemfile +0 -8
  265. data/sub/avm-eac_rails_base0/avm-eac_rails_base0.gemspec +0 -20
  266. data/sub/avm-eac_rails_base0/lib/avm/eac_rails_base0/instances/apache_host.rb +0 -12
  267. data/sub/avm-eac_rails_base0/lib/avm/eac_rails_base0/instances/apache_path.rb +0 -13
  268. data/sub/avm-eac_rails_base0/lib/avm/eac_rails_base0/instances/base.rb +0 -26
  269. data/sub/avm-eac_rails_base0/lib/avm/eac_rails_base0/instances/deploy.rb +0 -55
  270. data/sub/avm-eac_rails_base0/lib/avm/eac_rails_base0/instances.rb +0 -11
  271. data/sub/avm-eac_rails_base0/lib/avm/eac_rails_base0/source_generators/base.rb +0 -13
  272. data/sub/avm-eac_rails_base0/lib/avm/eac_rails_base0/sources/base.rb +0 -40
  273. data/sub/avm-eac_rails_base0/lib/avm/eac_rails_base0/version.rb +0 -7
  274. data/sub/avm-eac_rails_base0/lib/avm/eac_rails_base0.rb +0 -9
  275. data/sub/avm-eac_rails_base0/spec/lib/avm/eac_rails_base0/instances/apache_host_spec.rb +0 -22
  276. data/sub/avm-eac_rails_base0/spec/lib/avm/eac_rails_base0/instances/apache_host_spec_files/apache_host_spec_no_ssl_content.conf +0 -11
  277. data/sub/avm-eac_rails_base0/spec/lib/avm/eac_rails_base0/instances/apache_path_spec.rb +0 -23
  278. data/sub/avm-eac_rails_base0/spec/lib/avm/eac_rails_base0/instances/apache_path_spec_files/stub-app_0_apache_path.conf +0 -12
  279. data/sub/avm-eac_rails_base0/spec/rubocop_spec.rb +0 -3
  280. data/sub/avm-eac_rails_base0/spec/spec_helper.rb +0 -5
  281. data/sub/avm-eac_rails_base0/template/avm/eac_rails_base0/instances/deploy/config/database.yml.template +0 -21
  282. data/sub/avm-eac_rails_base0/template/avm/eac_rails_base0/instances/deploy/config/envvars.d/email.yml.template +0 -11
  283. data/sub/avm-eac_rails_base0/template/avm/eac_rails_base0/source_generators/base/Gemfile +0 -11
  284. data/sub/avm-eac_rails_base0/template/avm/eac_rails_base0/source_generators/base/Rakefile +0 -8
  285. data/sub/avm-eac_rails_base0/template/avm/eac_rails_base0/source_generators/base/app/assets/config/manifest.js +0 -3
  286. data/sub/avm-eac_rails_base0/template/avm/eac_rails_base0/source_generators/base/app/assets/javascripts/application.js +0 -1
  287. data/sub/avm-eac_rails_base0/template/avm/eac_rails_base0/source_generators/base/app/assets/stylesheets/application.scss +0 -1
  288. data/sub/avm-eac_rails_base0/template/avm/eac_rails_base0/source_generators/base/app/controllers/application_controller.rb +0 -4
  289. data/sub/avm-eac_rails_base0/template/avm/eac_rails_base0/source_generators/base/app/controllers/welcome_controller.rb +0 -5
  290. data/sub/avm-eac_rails_base0/template/avm/eac_rails_base0/source_generators/base/app/views/welcome/index.html.erb +0 -1
  291. data/sub/avm-eac_rails_base0/template/avm/eac_rails_base0/source_generators/base/bin/bundle +0 -5
  292. data/sub/avm-eac_rails_base0/template/avm/eac_rails_base0/source_generators/base/bin/rails +0 -11
  293. data/sub/avm-eac_rails_base0/template/avm/eac_rails_base0/source_generators/base/bin/rake +0 -11
  294. data/sub/avm-eac_rails_base0/template/avm/eac_rails_base0/source_generators/base/bin/yarn +0 -11
  295. data/sub/avm-eac_rails_base0/template/avm/eac_rails_base0/source_generators/base/config/application.rb +0 -11
  296. data/sub/avm-eac_rails_base0/template/avm/eac_rails_base0/source_generators/base/config/boot.rb +0 -5
  297. data/sub/avm-eac_rails_base0/template/avm/eac_rails_base0/source_generators/base/config/cable.yml +0 -8
  298. data/sub/avm-eac_rails_base0/template/avm/eac_rails_base0/source_generators/base/config/credentials.yml.enc +0 -1
  299. data/sub/avm-eac_rails_base0/template/avm/eac_rails_base0/source_generators/base/config/environment.rb +0 -7
  300. data/sub/avm-eac_rails_base0/template/avm/eac_rails_base0/source_generators/base/config/puma.rb +0 -39
  301. data/sub/avm-eac_rails_base0/template/avm/eac_rails_base0/source_generators/base/config/routes.rb +0 -5
  302. data/sub/avm-eac_rails_base0/template/avm/eac_rails_base0/source_generators/base/config/spring.rb +0 -8
  303. data/sub/avm-eac_rails_base0/template/avm/eac_rails_base0/source_generators/base/config.ru +0 -7
  304. data/sub/avm-eac_rails_base0/template/avm/eac_rails_base0/source_generators/base/db/schema.rb +0 -1
  305. data/sub/avm-eac_rails_base0/template/avm/eac_rails_base0/source_generators/base/lib/ability.rb +0 -20
  306. data/sub/avm-eac_rails_base0/template/avm/eac_rails_base0/source_generators/base/lib/ability_mapping.rb +0 -10
  307. data/sub/avm-eac_rails_base0/template/avm/eac_rails_base0/source_generators/base/public/favicon.ico +0 -0
  308. data/sub/avm-eac_rails_base0/template/avm/eac_rails_base0/source_generators/base/spec/code/rubocop_spec.rb +0 -3
  309. data/sub/avm-eac_rails_base0/template/avm/eac_rails_base0/source_generators/base/spec/spec_helper.rb +0 -8
  310. data/sub/avm-eac_redmine_plugin_base0/Gemfile +0 -8
  311. data/sub/avm-eac_redmine_plugin_base0/avm-eac_redmine_plugin_base0.gemspec +0 -20
  312. data/sub/avm-eac_redmine_plugin_base0/lib/avm/eac_redmine_plugin_base0/sources/base/init.rb +0 -27
  313. data/sub/avm-eac_redmine_plugin_base0/lib/avm/eac_redmine_plugin_base0/sources/base/parent.rb +0 -31
  314. data/sub/avm-eac_redmine_plugin_base0/lib/avm/eac_redmine_plugin_base0/sources/base/rubocop.rb +0 -29
  315. data/sub/avm-eac_redmine_plugin_base0/lib/avm/eac_redmine_plugin_base0/sources/base/version.rb +0 -31
  316. data/sub/avm-eac_redmine_plugin_base0/lib/avm/eac_redmine_plugin_base0/sources/base.rb +0 -34
  317. data/sub/avm-eac_redmine_plugin_base0/lib/avm/eac_redmine_plugin_base0/sources/init_file.rb +0 -43
  318. data/sub/avm-eac_redmine_plugin_base0/lib/avm/eac_redmine_plugin_base0/version.rb +0 -7
  319. data/sub/avm-eac_redmine_plugin_base0/lib/avm/eac_redmine_plugin_base0.rb +0 -9
  320. data/sub/avm-eac_redmine_plugin_base0/spec/lib/avm/eac_redmine_plugin_base0/sources/init_file_spec.rb +0 -14
  321. data/sub/avm-eac_redmine_plugin_base0/spec/lib/avm/eac_redmine_plugin_base0/sources/init_file_spec_files/a_init_file.rb +0 -12
  322. data/sub/avm-eac_redmine_plugin_base0/spec/rubocop_spec.rb +0 -3
  323. data/sub/avm-eac_redmine_plugin_base0/spec/spec_helper.rb +0 -4
@@ -1,36 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_ruby_utils/core_ext'
4
-
5
- EacRubyUtils.require_sub __FILE__
6
-
7
- module Avm
8
- module Scms
9
- module AutoCommit
10
- module Rules
11
- RULES_CLASSES = %w[last manual new nth unique]
12
- .map { |key| ::Avm::Scms::AutoCommit::Rules.const_get(key.camelcase) }
13
-
14
- class << self
15
- # @return [Array<Avm::Scms::AutoCommit::Rules>]
16
- def all
17
- RULES_CLASSES
18
- end
19
-
20
- def parse(string)
21
- parts = string.split(':')
22
-
23
- klass = rule_class_by_key(parts.shift)
24
- klass.new(*parts)
25
- end
26
-
27
- def rule_class_by_key(key)
28
- RULES_CLASSES.find { |klass| klass.keys.include?(key) } ||
29
- raise("Rule not find with key \"#{key}\" (Available: " \
30
- "#{RULES_CLASSES.flat_map(&:keys).join(', ')})")
31
- end
32
- end
33
- end
34
- end
35
- end
36
- end
@@ -1,11 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_ruby_utils/core_ext'
4
-
5
- module Avm
6
- module Scms
7
- module AutoCommit
8
- require_sub __FILE__
9
- end
10
- end
11
- end
@@ -1,22 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_ruby_utils/core_ext'
4
-
5
- module Avm
6
- module Scms
7
- class Base
8
- module Branches
9
- # @param id [String]
10
- # @return [Avm::Scms::Branch, nil]
11
- def branch(id) # rubocop:disable Lint/UnusedMethodArgument
12
- raise_abstract_method __method__
13
- end
14
-
15
- # @return [Avm::Scms::Branch]
16
- def head_branch
17
- raise_abstract_method __method__
18
- end
19
- end
20
- end
21
- end
22
- end
@@ -1,34 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_ruby_utils/core_ext'
4
-
5
- module Avm
6
- module Scms
7
- class Base
8
- module Commits
9
- # @return [Avm::Scms::Commit,NilClass]
10
- def commit_if_change(_message = nil)
11
- raise_abstract_method __method__
12
- end
13
-
14
- # @return [Avm::Scms::Commit]
15
- def head_commit
16
- raise_abstract_method __method__
17
- end
18
-
19
- # @param commit_to_reset [Avm::Scms::Commit]
20
- # @param commit_info [Avm::Scms::CommitInfo]
21
- # @return [Avm::Scms::Commit]
22
- def reset_and_commit(_commit_to_reset, _commit_info)
23
- raise_abstract_method __method__
24
- end
25
-
26
- # @param commit_info [Avm::Scms::CommitInfo]
27
- # @return [Avm::Scms::Commit]
28
- def run_commit(_commit_info)
29
- raise_abstract_method __method__
30
- end
31
- end
32
- end
33
- end
34
- end
@@ -1,21 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_ruby_utils/core_ext'
4
-
5
- module Avm
6
- module Scms
7
- class Base
8
- module Milestones
9
- # @return [Avm::Scms::Interval]
10
- def current_milestone_interval
11
- interval(current_milestone_base_commit, head_commit)
12
- end
13
-
14
- # @return [Avm::Scms::Commit]
15
- def current_milestone_base_commit
16
- raise_abstract_method __method__
17
- end
18
- end
19
- end
20
- end
21
- end
@@ -1,22 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_ruby_utils/core_ext'
4
-
5
- module Avm
6
- module Scms
7
- class Base
8
- module Branches
9
- # @return [Avm::Scms::Remote]
10
- def default_remote
11
- raise_abstract_method __method__
12
- end
13
-
14
- # @param id [String]
15
- # @return [Avm::Scms::Remote, nil]
16
- def remote(id) # rubocop:disable Lint/UnusedMethodArgument
17
- raise_abstract_method __method__
18
- end
19
- end
20
- end
21
- end
22
- end
@@ -1,61 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'avm/with/application_stereotype'
4
- require 'eac_ruby_utils/core_ext'
5
-
6
- module Avm
7
- module Scms
8
- class Base
9
- require_sub __FILE__, include_modules: true
10
- enable_abstract_methods
11
- enable_simple_cache
12
- include ::Avm::With::ApplicationStereotype
13
- abstract_methods :update, :valid?
14
- common_constructor :path do
15
- self.path = path.to_pathname
16
- end
17
-
18
- # @return [Avm::Scms::ChangedFile]
19
- def changed_files
20
- raise_abstract_method __method__
21
- end
22
-
23
- # @param options [Hash<Symbol, Object>]
24
- def completer(options = {}) # rubocop:disable Lint/UnusedMethodArgument
25
- raise_abstract_method __method__
26
- end
27
-
28
- # @return [Avm::Scms::Interval]
29
- def interval(_from, _to)
30
- raise_abstract_method __method__
31
- end
32
-
33
- def name
34
- self.class.name.demodulize
35
- end
36
-
37
- # @return [Pathname]
38
- def relative_path_from_parent_scm
39
- parent_scm.if_present(nil) do |v|
40
- path.relative_path_from(v.path)
41
- end
42
- end
43
-
44
- # @return [Enumerable<Avm::Scms::Base>]
45
- def subs
46
- raise_abstract_method __method__
47
- end
48
-
49
- def to_s
50
- name
51
- end
52
-
53
- private
54
-
55
- # @return [Avm::Scms::Base]
56
- def parent_scm_uncached
57
- ::Avm::Registry.scms.detect_by_path_optional(path.parent)
58
- end
59
- end
60
- end
61
- end
@@ -1,26 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_ruby_utils/core_ext'
4
-
5
- module Avm
6
- module Scms
7
- class Branch
8
- acts_as_abstract
9
-
10
- # @return [Avm::Scms::Commit]
11
- def head_commit
12
- raise_abstract_method __method__
13
- end
14
-
15
- # @return [String]
16
- def id
17
- raise_abstract_method __method__
18
- end
19
-
20
- # @param remote [Avm::Scms::Remote]
21
- def push(remote) # rubocop:disable Lint/UnusedMethodArgument
22
- raise_abstract_method __method__
23
- end
24
- end
25
- end
26
- end
@@ -1,26 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_ruby_utils/core_ext'
4
-
5
- module Avm
6
- module Scms
7
- class ChangedFile
8
- enable_abstract_methods
9
-
10
- # @return [Pathname]
11
- def absolute_path
12
- path.expand_path(scm.path)
13
- end
14
-
15
- # @return [Pathname]
16
- def path
17
- raise_abstract_method __method__
18
- end
19
-
20
- # @return [Avm::Scms::Base]
21
- def scm
22
- raise_abstract_method __method__
23
- end
24
- end
25
- end
26
- end
@@ -1,66 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_ruby_utils/core_ext'
4
-
5
- module Avm
6
- module Scms
7
- class Commit
8
- enable_abstract_methods
9
-
10
- # @return [Array<Pathname>]
11
- def changed_files
12
- raise_abstract_method __method__
13
- end
14
-
15
- def deploy_to_env_path(_target_env, _target_path)
16
- raise_abstract_method __method__
17
- end
18
-
19
- # @return [Boolean]
20
- def fixup?
21
- raise_abstract_method __method__
22
- end
23
-
24
- def id
25
- raise_abstract_method __method__
26
- end
27
-
28
- # @param other [Avm::Scms::Commit]
29
- # @return [Avm::Scms::Commit]
30
- def merge_with(_other)
31
- raise_abstract_method __method__
32
- end
33
-
34
- # @return [Array<Pathname>]
35
- def no_scm_changed_files
36
- changed_files.reject { |path| scm_file?(path) }
37
- end
38
-
39
- # @param new_message [String]
40
- def reword(_new_message)
41
- raise_abstract_method __method__
42
- end
43
-
44
- # @return [Array<Pathname>]
45
- def scm_changed_files
46
- changed_files.select { |path| scm_file?(path) }
47
- end
48
-
49
- # @param path [Pathname]
50
- # @return [TrueClass,FalseClass]
51
- def scm_file?(_path)
52
- raise_abstract_method __method__
53
- end
54
-
55
- # @return [String]
56
- def subject
57
- raise_abstract_method __method__
58
- end
59
-
60
- # @return [String]
61
- def to_s
62
- "#{subject} [#{id}]"
63
- end
64
- end
65
- end
66
- end
@@ -1,39 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_ruby_utils/core_ext'
4
-
5
- module Avm
6
- module Scms
7
- class CommitInfo
8
- class << self
9
- # @param source [Avm::Scms::CommitInfo, String]
10
- # @return [Avm::Scms::CommitInfo]
11
- def assert(source)
12
- return source if source.is_a?(self)
13
- return new if source.nil?
14
- return new.message(source) if source.is_a?(::String)
15
- return assert(source.call) if source.is_a?(::Proc)
16
-
17
- raise "Unmapped assertion for #{source.to_debug}"
18
- end
19
- end
20
-
21
- enable_immutable
22
-
23
- immutable_accessor :fixup, :message
24
- immutable_accessor :path, type: :array
25
-
26
- def to_s
27
- "#{self.class.name.demodulize}[#{attributes_to_s}]"
28
- end
29
-
30
- private
31
-
32
- # @return [String]
33
- def attributes_to_s
34
- %w[fixup message].map { |m| [m, send(m)] }.reject { |m| m[1].blank? }
35
- .map { |m| m.join(': ') }.join(',')
36
- end
37
- end
38
- end
39
- end
@@ -1,22 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Avm
4
- module Scms
5
- class Inflector
6
- class << self
7
- def default_instance
8
- @default_instance ||= new
9
- end
10
- end
11
-
12
- ISSUE_POINTER_NAME_PREFIX = 'issue_'
13
- POINTER_NAME_TO_ISSUE_PATTERN = /\A#{Regexp.quote(ISSUE_POINTER_NAME_PREFIX)}(\d+)\z/.freeze
14
- POINTER_NAME_TO_ISSUE_PARSER = POINTER_NAME_TO_ISSUE_PATTERN.to_parser { |m| m[1] }
15
-
16
- # @return [String, nil]
17
- def pointer_name_to_issue_id(pointer_name)
18
- POINTER_NAME_TO_ISSUE_PARSER.parse(pointer_name)
19
- end
20
- end
21
- end
22
- end
@@ -1,18 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_ruby_utils/core_ext'
4
-
5
- module Avm
6
- module Scms
7
- class Interval
8
- enable_abstract_methods
9
-
10
- common_constructor :scm, :from, :to
11
-
12
- # @return [Array<Avm::Scms::Commit>]
13
- def commits
14
- raise_abstract_method __method__
15
- end
16
- end
17
- end
18
- end
@@ -1,15 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'avm/scms/base'
4
- require 'avm/scms/commit'
5
- require 'eac_ruby_utils/core_ext'
6
-
7
- module Avm
8
- module Scms
9
- class Null < ::Avm::Scms::Base
10
- class Commit < ::Avm::Scms::Commit
11
- common_constructor :scm
12
- end
13
- end
14
- end
15
- end
@@ -1,21 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'avm/scms/base'
4
- require 'eac_ruby_utils/core_ext'
5
-
6
- module Avm
7
- module Scms
8
- class Null < ::Avm::Scms::Base
9
- require_sub __FILE__
10
-
11
- # @return [Avm::Scms::Null::Commit]
12
- def head_commit
13
- @head_commit ||= Avm::Scms::Null::Commit.new(self)
14
- end
15
-
16
- def update
17
- # Do nothing
18
- end
19
- end
20
- end
21
- end
@@ -1,11 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_ruby_utils/core_ext'
4
-
5
- module Avm
6
- module Scms
7
- class Remote
8
- enable_abstract_methods
9
- end
10
- end
11
- end
@@ -1,9 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_ruby_utils/core_ext'
4
-
5
- module Avm
6
- module Scms
7
- require_sub __FILE__
8
- end
9
- end
@@ -1,14 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_ruby_utils/core_ext'
4
- require 'avm/docker/image'
5
-
6
- module Avm
7
- module Self
8
- class DockerImage < ::Avm::Docker::Image
9
- def stereotype_tag
10
- nil
11
- end
12
- end
13
- end
14
- end
@@ -1,12 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Avm
4
- module Self
5
- class Instance < ::Avm::Instances::Base
6
- module EntryKeys
7
- DATA_DEFAULT_PATH = 'data.default_path'
8
- DOCKER_REGISTRY_NAME = 'docker.registry.name'
9
- end
10
- end
11
- end
12
- end
@@ -1,31 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'avm/instances/base'
4
- require 'avm/self/docker_image'
5
- require 'avm/self/instance/entry_keys'
6
-
7
- module Avm
8
- module Self
9
- class Instance < ::Avm::Instances::Base
10
- DEFAULT_INSTANCE_ID = 'avm_self'
11
-
12
- class << self
13
- def default
14
- @default ||= by_id(DEFAULT_INSTANCE_ID)
15
- end
16
- end
17
-
18
- def docker_image_class
19
- ::Avm::Self::DockerImage
20
- end
21
-
22
- def docker_registry
23
- read_entry(::Avm::Self::Instance::EntryKeys::DOCKER_REGISTRY_NAME)
24
- end
25
-
26
- def docker_run_arguments
27
- ['-e', "LOCAL_USER_ID=#{::Process.uid}"]
28
- end
29
- end
30
- end
31
- end
@@ -1,45 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'avm/source_generators/option_list'
4
- require 'avm/with/application_stereotype'
5
- require 'eac_ruby_utils/core_ext'
6
-
7
- module Avm
8
- module SourceGenerators
9
- class Base
10
- acts_as_abstract
11
- include ::Avm::With::ApplicationStereotype
12
-
13
- class << self
14
- # @return [Avm::SourceGenerators::OptionList]
15
- def option_list
16
- Avm::SourceGenerators::OptionList.new
17
- end
18
- end
19
-
20
- common_constructor :target_path, :options, default: [{}] do
21
- self.target_path = target_path.to_pathname
22
- self.options = option_list.validate(options)
23
- end
24
-
25
- # @return [Avm::SourceGenerators::OptionList]
26
- def option_list
27
- self.class.option_list
28
- end
29
-
30
- def perform
31
- assert_clear_directory
32
- apply_template
33
- end
34
-
35
- def assert_clear_directory
36
- target_path.mkpath
37
- raise "\"#{target_path}\" is not empty" if target_path.children.any?
38
- end
39
-
40
- def apply_template
41
- template.apply(self, target_path)
42
- end
43
- end
44
- end
45
- end
@@ -1,11 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Avm
4
- module SourceGenerators
5
- class Option
6
- common_constructor :name, :description, default: [nil] do
7
- self.name = name.to_sym
8
- end
9
- end
10
- end
11
- end
@@ -1,32 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'avm/source_generators/option'
4
- require 'eac_ruby_utils/core_ext'
5
-
6
- module Avm
7
- module SourceGenerators
8
- class OptionList
9
- enable_immutable
10
- immutable_accessor :option, type: :array
11
-
12
- alias immutable_option option
13
-
14
- def option(*args)
15
- immutable_option(::Avm::SourceGenerators::Option.new(*args))
16
- end
17
-
18
- # @return [Hash<Symbol, String>]
19
- def validate(options_hash)
20
- options_hash.transform_keys { |k| validate_option(k) }
21
- end
22
-
23
- def validate_option(option_name)
24
- option_name = option_name.to_sym
25
-
26
- return option_name if options.any? { |option| option.name == option_name }
27
-
28
- raise "No option found with name \"#{option_name}\""
29
- end
30
- end
31
- end
32
- end
@@ -1,58 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'avm/registry'
4
- require 'eac_cli/core_ext'
5
-
6
- module Avm
7
- module SourceGenerators
8
- class Runner
9
- OPTION_NAME_VALUE_SEPARATOR = ':'
10
-
11
- runner_with :help do
12
- arg_opt '-o', '--option', 'Option for generator.', repeat: true, optional: true
13
- pos_arg :stereotype_name
14
- pos_arg :target_path
15
- end
16
-
17
- def run
18
- start_banner
19
- generate
20
- end
21
-
22
- def generate
23
- infom 'Generating...'
24
- generator.perform
25
- success "Source generated in \"#{generator.target_path}\""
26
- end
27
-
28
- # @return [String]
29
- def help_extra_text
30
- help_list_section('Stereotypes', ::Avm::Registry.source_generators.available
31
- .map(&:application_stereotype_name))
32
- end
33
-
34
- def start_banner
35
- infov 'Stereotype', stereotype_name
36
- infov 'Target path', target_path
37
- infov 'Generator', generator.class
38
- end
39
-
40
- def generator_uncached
41
- ::Avm::Registry.source_generators
42
- .detect_optional(stereotype_name, target_path, options) ||
43
- fatal_error("No generator found for stereotype \"#{stereotype_name}\"")
44
- end
45
-
46
- delegate :stereotype_name, to: :parsed
47
-
48
- # @return [Hash<String, String>]
49
- def options
50
- parsed.option.to_h { |v| v.split(OPTION_NAME_VALUE_SEPARATOR) }
51
- end
52
-
53
- def target_path
54
- parsed.target_path.to_pathname
55
- end
56
- end
57
- end
58
- end