eac_tools 0.117.2 → 0.117.3

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 (398) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +35 -34
  3. data/eac_tools.gemspec +3 -3
  4. data/lib/eac_tools/version.rb +1 -1
  5. data/sub/avm/.gitrepo +7 -0
  6. data/sub/avm/avm.gemspec +28 -0
  7. data/sub/avm/lib/avm/application_scms/base.rb +37 -0
  8. data/sub/avm/lib/avm/application_stereotypes/base.rb +29 -0
  9. data/sub/avm/lib/avm/applications/base/auto_local_source_path.rb +22 -0
  10. data/sub/avm/lib/avm/applications/base/local_instance.rb +28 -0
  11. data/sub/avm/lib/avm/applications/base/local_source.rb +31 -0
  12. data/sub/avm/lib/avm/applications/base/naming.rb +26 -0
  13. data/sub/avm/lib/avm/applications/base/organization.rb +27 -0
  14. data/sub/avm/lib/avm/applications/base/publishing.rb +39 -0
  15. data/sub/avm/lib/avm/applications/base/scm.rb +24 -0
  16. data/sub/avm/lib/avm/applications/base/stereotype.rb +29 -0
  17. data/sub/avm/lib/avm/applications/base.rb +34 -0
  18. data/sub/avm/lib/avm/data/callbacks.rb +36 -0
  19. data/sub/avm/lib/avm/data/clearer.rb +17 -0
  20. data/sub/avm/lib/avm/data/dumper.rb +137 -0
  21. data/sub/avm/lib/avm/data/loader.rb +23 -0
  22. data/sub/avm/lib/avm/data/package/base_performer.rb +36 -0
  23. data/sub/avm/lib/avm/data/package/build_directory.rb +25 -0
  24. data/sub/avm/lib/avm/data/package/clear.rb +19 -0
  25. data/sub/avm/lib/avm/data/package/dump.rb +42 -0
  26. data/sub/avm/lib/avm/data/package/load.rb +33 -0
  27. data/sub/avm/lib/avm/data/package.rb +64 -0
  28. data/sub/avm/lib/avm/data/performer.rb +45 -0
  29. data/sub/avm/lib/avm/data/rotate.rb +106 -0
  30. data/sub/avm/lib/avm/data/unit.rb +44 -0
  31. data/sub/avm/lib/avm/data/unit_with_commands.rb +48 -0
  32. data/sub/avm/lib/avm/docker/container.rb +47 -0
  33. data/sub/avm/lib/avm/docker/image.rb +70 -0
  34. data/sub/avm/lib/avm/docker/runner.rb +129 -0
  35. data/sub/avm/lib/avm/entries/auto_values/entry.rb +36 -0
  36. data/sub/avm/lib/avm/entries/auto_values/uri_entry.rb +21 -0
  37. data/sub/avm/lib/avm/entries/base/inherited_entry_value.rb +42 -0
  38. data/sub/avm/lib/avm/entries/base/uri_component_entry_value/default_value.rb +24 -0
  39. data/sub/avm/lib/avm/entries/base/uri_component_entry_value/inherited_value.rb +35 -0
  40. data/sub/avm/lib/avm/entries/base/uri_component_entry_value/url_entry_value.rb +27 -0
  41. data/sub/avm/lib/avm/entries/base/uri_component_entry_value.rb +40 -0
  42. data/sub/avm/lib/avm/entries/base/uri_components_entries_values/component_factory.rb +40 -0
  43. data/sub/avm/lib/avm/entries/base/uri_components_entries_values/generic_component.rb +59 -0
  44. data/sub/avm/lib/avm/entries/base/uri_components_entries_values/path_component.rb +16 -0
  45. data/sub/avm/lib/avm/entries/base/uri_components_entries_values/url_component.rb +22 -0
  46. data/sub/avm/lib/avm/entries/base/uri_components_entries_values.rb +23 -0
  47. data/sub/avm/lib/avm/entries/base.rb +53 -0
  48. data/sub/avm/lib/avm/entries/entry/no_context_entry.rb +21 -0
  49. data/sub/avm/lib/avm/entries/entry.rb +69 -0
  50. data/sub/avm/lib/avm/entries/jobs/base.rb +58 -0
  51. data/sub/avm/lib/avm/entries/jobs/variables_source/read_entry.rb +48 -0
  52. data/sub/avm/lib/avm/entries/jobs/variables_source.rb +13 -0
  53. data/sub/avm/lib/avm/entries/jobs/with_variables_source.rb +13 -0
  54. data/sub/avm/lib/avm/entries/keys_constants_set.rb +41 -0
  55. data/sub/avm/lib/avm/entries/uri_builder.rb +87 -0
  56. data/sub/avm/lib/avm/executables.rb +21 -0
  57. data/sub/avm/lib/avm/file_formats/base.rb +34 -0
  58. data/sub/avm/lib/avm/file_formats/file_result.rb +11 -0
  59. data/sub/avm/lib/avm/file_formats/search_formatter.rb +83 -0
  60. data/sub/avm/lib/avm/file_formats/unknown.rb +15 -0
  61. data/sub/avm/lib/avm/file_formats/utf8_assert.rb +72 -0
  62. data/sub/avm/lib/avm/files/appendable/file_content.rb +28 -0
  63. data/sub/avm/lib/avm/files/appendable/plain_directory.rb +27 -0
  64. data/sub/avm/lib/avm/files/appendable/resource_base.rb +17 -0
  65. data/sub/avm/lib/avm/files/appendable/tar_output_command.rb +27 -0
  66. data/sub/avm/lib/avm/files/appendable/templatized_directory.rb +36 -0
  67. data/sub/avm/lib/avm/files/appendable.rb +51 -0
  68. data/sub/avm/lib/avm/files/appender.rb +9 -0
  69. data/sub/avm/lib/avm/files/deploy.rb +70 -0
  70. data/sub/avm/lib/avm/files/text_replacer/gsub.rb +22 -0
  71. data/sub/avm/lib/avm/files/text_replacer.rb +29 -0
  72. data/sub/avm/lib/avm/instances/base/auto_values/data.rb +28 -0
  73. data/sub/avm/lib/avm/instances/base/auto_values/database.rb +60 -0
  74. data/sub/avm/lib/avm/instances/base/auto_values/mailer.rb +31 -0
  75. data/sub/avm/lib/avm/instances/base/auto_values/source.rb +16 -0
  76. data/sub/avm/lib/avm/instances/base/auto_values.rb +12 -0
  77. data/sub/avm/lib/avm/instances/base/dockerizable.rb +41 -0
  78. data/sub/avm/lib/avm/instances/base/entry_keys.rb +25 -0
  79. data/sub/avm/lib/avm/instances/base/install.rb +28 -0
  80. data/sub/avm/lib/avm/instances/base/processes.rb +25 -0
  81. data/sub/avm/lib/avm/instances/base/production.rb +33 -0
  82. data/sub/avm/lib/avm/instances/base/subcommand_parent.rb +23 -0
  83. data/sub/avm/lib/avm/instances/base/web.rb +15 -0
  84. data/sub/avm/lib/avm/instances/base.rb +70 -0
  85. data/sub/avm/lib/avm/instances/data/files_unit.rb +57 -0
  86. data/sub/avm/lib/avm/instances/data/loading_denied_error.rb +10 -0
  87. data/sub/avm/lib/avm/instances/data/package.rb +25 -0
  88. data/sub/avm/lib/avm/instances/data/unit.rb +36 -0
  89. data/sub/avm/lib/avm/instances/docker_image.rb +13 -0
  90. data/sub/avm/lib/avm/instances/entry_keys.rb +39 -0
  91. data/sub/avm/lib/avm/instances/ids.rb +28 -0
  92. data/sub/avm/lib/avm/instances/process.rb +29 -0
  93. data/sub/avm/lib/avm/instances/runner.rb +34 -0
  94. data/sub/avm/lib/avm/launcher/context/instance_collector.rb +44 -0
  95. data/sub/avm/lib/avm/launcher/context/instance_discovery/root_source_wrappers.rb +31 -0
  96. data/sub/avm/lib/avm/launcher/context/instance_discovery/root_sources.rb +48 -0
  97. data/sub/avm/lib/avm/launcher/context/instance_discovery/source_wrapper.rb +61 -0
  98. data/sub/avm/lib/avm/launcher/context/instance_discovery.rb +27 -0
  99. data/sub/avm/lib/avm/launcher/context/instance_manager/cached_instance.rb +34 -0
  100. data/sub/avm/lib/avm/launcher/context/instance_manager/cached_instances.rb +32 -0
  101. data/sub/avm/lib/avm/launcher/context/instance_manager.rb +74 -0
  102. data/sub/avm/lib/avm/launcher/context/settings.rb +51 -0
  103. data/sub/avm/lib/avm/launcher/context.rb +83 -0
  104. data/sub/avm/lib/avm/launcher/errors/base.rb +10 -0
  105. data/sub/avm/lib/avm/launcher/errors/non_project.rb +13 -0
  106. data/sub/avm/lib/avm/launcher/instances/base/cache.rb +43 -0
  107. data/sub/avm/lib/avm/launcher/instances/base/publishing.rb +53 -0
  108. data/sub/avm/lib/avm/launcher/instances/base.rb +77 -0
  109. data/sub/avm/lib/avm/launcher/instances/error.rb +10 -0
  110. data/sub/avm/lib/avm/launcher/instances/runner_helper.rb +43 -0
  111. data/sub/avm/lib/avm/launcher/instances/settings.rb +24 -0
  112. data/sub/avm/lib/avm/launcher/paths/logical.rb +78 -0
  113. data/sub/avm/lib/avm/launcher/paths/real.rb +44 -0
  114. data/sub/avm/lib/avm/launcher/project.rb +15 -0
  115. data/sub/avm/lib/avm/launcher/publish/base.rb +44 -0
  116. data/sub/avm/lib/avm/launcher/publish/check_result.rb +64 -0
  117. data/sub/avm/lib/avm/launcher/stereotype.rb +63 -0
  118. data/sub/avm/lib/avm/patches/eac_config/entry_path.rb +44 -0
  119. data/sub/avm/lib/avm/path_string.rb +27 -0
  120. data/sub/avm/lib/avm/registry/application_scms.rb +13 -0
  121. data/sub/avm/lib/avm/registry/application_stereotypes/build_available.rb +45 -0
  122. data/sub/avm/lib/avm/registry/application_stereotypes/stereotype_builder.rb +30 -0
  123. data/sub/avm/lib/avm/registry/application_stereotypes.rb +42 -0
  124. data/sub/avm/lib/avm/registry/applications.rb +35 -0
  125. data/sub/avm/lib/avm/registry/base.rb +26 -0
  126. data/sub/avm/lib/avm/registry/config_objects.rb +15 -0
  127. data/sub/avm/lib/avm/registry/detection_error.rb +8 -0
  128. data/sub/avm/lib/avm/registry/file_formats.rb +17 -0
  129. data/sub/avm/lib/avm/registry/from_gems.rb +67 -0
  130. data/sub/avm/lib/avm/registry/instances.rb +13 -0
  131. data/sub/avm/lib/avm/registry/launcher_stereotypes.rb +8 -0
  132. data/sub/avm/lib/avm/registry/runners.rb +8 -0
  133. data/sub/avm/lib/avm/registry/scms.rb +8 -0
  134. data/sub/avm/lib/avm/registry/source_generators.rb +14 -0
  135. data/sub/avm/lib/avm/registry/sources.rb +38 -0
  136. data/sub/avm/lib/avm/registry/with_path/cache.rb +28 -0
  137. data/sub/avm/lib/avm/registry/with_path.rb +44 -0
  138. data/sub/avm/lib/avm/registry.rb +31 -0
  139. data/sub/avm/lib/avm/result.rb +80 -0
  140. data/sub/avm/lib/avm/rspec/launcher_controller.rb +102 -0
  141. data/sub/avm/lib/avm/rspec/setup/launcher.rb +18 -0
  142. data/sub/avm/lib/avm/rspec/setup/source_generator.rb +20 -0
  143. data/sub/avm/lib/avm/rspec/setup.rb +32 -0
  144. data/sub/avm/lib/avm/rspec/shared_examples/avm_file_format_file_resource_name.rb +13 -0
  145. data/sub/avm/lib/avm/rspec/shared_examples/avm_file_formats_with_fixtures.rb +28 -0
  146. data/sub/avm/lib/avm/rspec/shared_examples/avm_source_generated.rb +27 -0
  147. data/sub/avm/lib/avm/rspec/shared_examples/entries_values.rb +19 -0
  148. data/sub/avm/lib/avm/rspec/shared_examples/in_avm_registry.rb +9 -0
  149. data/sub/avm/lib/avm/rspec/shared_examples/not_in_avm_registry.rb +12 -0
  150. data/sub/avm/lib/avm/rspec/shared_examples/with_config.rb +9 -0
  151. data/sub/avm/lib/avm/rspec/shared_examples/with_launcher.rb +13 -0
  152. data/sub/avm/lib/avm/runner_with/file_replacer.rb +28 -0
  153. data/sub/avm/lib/avm/runner_with/filesystem_renamer.rb +99 -0
  154. data/sub/avm/lib/avm/runner_with/filesystem_traverser.rb +49 -0
  155. data/sub/avm/lib/avm/runners/base.rb +25 -0
  156. data/sub/avm/lib/avm/scms/auto_commit/file_resource_name.rb +47 -0
  157. data/sub/avm/lib/avm/scms/auto_commit/for_file.rb +79 -0
  158. data/sub/avm/lib/avm/scms/auto_commit/rules/base.rb +37 -0
  159. data/sub/avm/lib/avm/scms/auto_commit/rules/last.rb +17 -0
  160. data/sub/avm/lib/avm/scms/auto_commit/rules/manual.rb +38 -0
  161. data/sub/avm/lib/avm/scms/auto_commit/rules/new.rb +21 -0
  162. data/sub/avm/lib/avm/scms/auto_commit/rules/nth.rb +29 -0
  163. data/sub/avm/lib/avm/scms/auto_commit/rules/unique.rb +19 -0
  164. data/sub/avm/lib/avm/scms/auto_commit/rules.rb +32 -0
  165. data/sub/avm/lib/avm/scms/base/branches.rb +20 -0
  166. data/sub/avm/lib/avm/scms/base/commits.rb +32 -0
  167. data/sub/avm/lib/avm/scms/base/milestones.rb +19 -0
  168. data/sub/avm/lib/avm/scms/base/remotes.rb +20 -0
  169. data/sub/avm/lib/avm/scms/base.rb +59 -0
  170. data/sub/avm/lib/avm/scms/branch.rb +24 -0
  171. data/sub/avm/lib/avm/scms/changed_file.rb +46 -0
  172. data/sub/avm/lib/avm/scms/commit.rb +64 -0
  173. data/sub/avm/lib/avm/scms/commit_info.rb +37 -0
  174. data/sub/avm/lib/avm/scms/inflector.rb +22 -0
  175. data/sub/avm/lib/avm/scms/interval.rb +16 -0
  176. data/sub/avm/lib/avm/scms/null/commit.rb +11 -0
  177. data/sub/avm/lib/avm/scms/null.rb +16 -0
  178. data/sub/avm/lib/avm/scms/remote.rb +9 -0
  179. data/sub/avm/lib/avm/self/docker_image.rb +11 -0
  180. data/sub/avm/lib/avm/self/instance/entry_keys.rb +12 -0
  181. data/sub/avm/lib/avm/self/instance.rb +27 -0
  182. data/sub/avm/lib/avm/source_generators/base.rb +69 -0
  183. data/sub/avm/lib/avm/source_generators/option.rb +11 -0
  184. data/sub/avm/lib/avm/source_generators/option_list.rb +29 -0
  185. data/sub/avm/lib/avm/source_generators/runner.rb +55 -0
  186. data/sub/avm/lib/avm/sources/auto_commit/for_file.rb +29 -0
  187. data/sub/avm/lib/avm/sources/base/application.rb +32 -0
  188. data/sub/avm/lib/avm/sources/base/configuration.rb +89 -0
  189. data/sub/avm/lib/avm/sources/base/instance.rb +13 -0
  190. data/sub/avm/lib/avm/sources/base/locale.rb +30 -0
  191. data/sub/avm/lib/avm/sources/base/organizational.rb +30 -0
  192. data/sub/avm/lib/avm/sources/base/parent.rb +26 -0
  193. data/sub/avm/lib/avm/sources/base/stereotype.rb +16 -0
  194. data/sub/avm/lib/avm/sources/base/sub/remove.rb +36 -0
  195. data/sub/avm/lib/avm/sources/base/sub.rb +23 -0
  196. data/sub/avm/lib/avm/sources/base/subs.rb +63 -0
  197. data/sub/avm/lib/avm/sources/base/subs_paths.rb +30 -0
  198. data/sub/avm/lib/avm/sources/base/testing.rb +67 -0
  199. data/sub/avm/lib/avm/sources/base/update.rb +65 -0
  200. data/sub/avm/lib/avm/sources/base/update_sub.rb +55 -0
  201. data/sub/avm/lib/avm/sources/base/update_subs.rb +17 -0
  202. data/sub/avm/lib/avm/sources/base/version_bump.rb +26 -0
  203. data/sub/avm/lib/avm/sources/base.rb +56 -0
  204. data/sub/avm/lib/avm/sources/change.rb +22 -0
  205. data/sub/avm/lib/avm/sources/configuration/rubocop.rb +26 -0
  206. data/sub/avm/lib/avm/sources/configuration.rb +57 -0
  207. data/sub/avm/lib/avm/sources/issues/deliver.rb +51 -0
  208. data/sub/avm/lib/avm/sources/runner.rb +38 -0
  209. data/sub/avm/lib/avm/sources/tests/builder.rb +94 -0
  210. data/sub/avm/lib/avm/sources/tests/performer.rb +32 -0
  211. data/sub/avm/lib/avm/sources/tests/result.rb +13 -0
  212. data/sub/avm/lib/avm/sources/tests/single.rb +71 -0
  213. data/sub/avm/lib/avm/sources/update_error.rb +8 -0
  214. data/sub/avm/lib/avm/sync.rb +90 -0
  215. data/sub/avm/lib/avm/version.rb +5 -0
  216. data/sub/avm/lib/avm/version_number.rb +45 -0
  217. data/sub/avm/lib/avm/with/application_stereotype.rb +29 -0
  218. data/sub/avm/lib/avm/with/extra_subcommands.rb +41 -0
  219. data/sub/avm/lib/avm.rb +11 -0
  220. data/sub/avm/locale/en.yml +6 -0
  221. data/sub/avm/locale/pt-BR.yml +6 -0
  222. data/sub/avm/spec/lib/avm/applications/base/entries_spec.rb +29 -0
  223. data/sub/avm/spec/lib/avm/applications/base/entries_spec_files/config.yml +12 -0
  224. data/sub/avm/spec/lib/avm/applications/base_spec.rb +21 -0
  225. data/sub/avm/spec/lib/avm/applications/base_spec_fixture.yml +3 -0
  226. data/sub/avm/spec/lib/avm/file_formats/base_spec.rb +9 -0
  227. data/sub/avm/spec/lib/avm/instances/base/entries_spec.rb +78 -0
  228. data/sub/avm/spec/lib/avm/instances/base/entries_spec_files/config.yml +50 -0
  229. data/sub/avm/spec/lib/avm/instances/base_spec.rb +29 -0
  230. data/sub/avm/spec/lib/avm/launcher/context_spec.rb +102 -0
  231. data/sub/avm/spec/lib/avm/launcher/context_spec.yml +5 -0
  232. data/sub/avm/spec/lib/avm/launcher/context_spec_files/config.yml +9 -0
  233. data/sub/avm/spec/lib/avm/launcher/instances/base_spec.rb +39 -0
  234. data/sub/avm/spec/lib/avm/launcher/instances/base_spec_files/config.yml +5 -0
  235. data/sub/avm/spec/lib/avm/launcher/instances/base_spec_files/settings.yaml +5 -0
  236. data/sub/avm/spec/lib/avm/patches/eac_config/entry_path_spec.rb +26 -0
  237. data/sub/avm/spec/lib/avm/scms/auto_commit/file_resource_name_spec.rb +20 -0
  238. data/sub/avm/spec/lib/avm/scms/base_spec.rb +5 -0
  239. data/sub/avm/spec/lib/avm/sources/base_spec.rb +5 -0
  240. data/sub/avm/spec/lib/avm/sources/runner_spec.rb +7 -0
  241. data/sub/avm/spec/spec_helper/launcher_context/settings.yml +6 -0
  242. data/sub/{avm-eac_ruby_base0 → avm}/spec/spec_helper.rb +3 -1
  243. data/sub/avm/template/avm/rspec/launcher_controller/dummy/avm-tools_stub/avm-tools.gemspec +29 -0
  244. data/sub/avm/template/avm/rspec/launcher_controller/dummy/avm-tools_stub/lib/avm/tools/version.rb +7 -0
  245. data/sub/avm/template/avm/rspec/launcher_controller/dummy/avm-tools_stub/lib/avm/tools.rb +6 -0
  246. data/sub/avm/template/avm/rspec/launcher_controller/dummy/ruby_gem_stub/lib/ruby_gem_stub/version.rb +5 -0
  247. data/sub/{avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/source_generators/base_spec_files/dashed-mygem/lib/dashed.rb → avm/template/avm/rspec/launcher_controller/dummy/ruby_gem_stub/lib/ruby_gem_stub.rb} +1 -2
  248. data/sub/avm/template/avm/rspec/launcher_controller/dummy/ruby_gem_stub/ruby_gem_stub.gemspec +16 -0
  249. data/sub/avm/template/avm/rspec/launcher_controller/settings.yml +1 -0
  250. data/sub/avm/template/avm/self/docker_image/Dockerfile +17 -0
  251. data/sub/avm/template/avm/self/docker_image/entrypoint.sh +12 -0
  252. data/sub/avm-eac_ruby_base1/avm-eac_ruby_base1.gemspec +1 -1
  253. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/launcher_stereotypes/base/publish/internal_check.rb +2 -1
  254. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/launcher_stereotypes/base/publish.rb +3 -2
  255. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubygems/providers/base/command_result_to_push_result.rb +39 -0
  256. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubygems/providers/base.rb +15 -2
  257. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/rubygems/providers/rubygems_org.rb +5 -0
  258. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/sources/base/update.rb +1 -1
  259. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/version.rb +1 -1
  260. data/sub/avm-tools/.avm.yaml +2 -0
  261. data/sub/avm-tools/.gitignore +3 -0
  262. data/sub/avm-tools/.gitrepo +7 -0
  263. data/sub/avm-tools/.rspec +1 -0
  264. data/sub/avm-tools/README.textile +28 -0
  265. data/sub/avm-tools/avm-tools.gemspec +24 -0
  266. data/sub/{avm-eac_ruby_base0/template/avm/eac_ruby_base0/source_generators/base/executable.template → avm-tools/exe/avm} +2 -2
  267. data/sub/avm-tools/lib/avm/tools/rspec/helpers/runner.rb +19 -0
  268. data/sub/avm-tools/lib/avm/tools/rspec/setup.rb +21 -0
  269. data/sub/avm-tools/lib/avm/tools/runner/application/info.rb +34 -0
  270. data/sub/avm-tools/lib/avm/tools/runner/application.rb +21 -0
  271. data/sub/avm-tools/lib/avm/tools/runner/application_stereotypes/list.rb +29 -0
  272. data/sub/avm-tools/lib/avm/tools/runner/application_stereotypes.rb +13 -0
  273. data/sub/avm-tools/lib/avm/tools/runner/applications/list.rb +29 -0
  274. data/sub/avm-tools/lib/avm/tools/runner/applications.rb +13 -0
  275. data/sub/avm-tools/lib/avm/tools/runner/config/load_path.rb +48 -0
  276. data/sub/avm-tools/lib/avm/tools/runner/config.rb +14 -0
  277. data/sub/avm-tools/lib/avm/tools/runner/files/format.rb +46 -0
  278. data/sub/avm-tools/lib/avm/tools/runner/files/rotate.rb +28 -0
  279. data/sub/avm-tools/lib/avm/tools/runner/files.rb +14 -0
  280. data/sub/avm-tools/lib/avm/tools/runner/instance/data/clear.rb +15 -0
  281. data/sub/avm-tools/lib/avm/tools/runner/instance/data/dump.rb +17 -0
  282. data/sub/avm-tools/lib/avm/tools/runner/instance/data/load.rb +22 -0
  283. data/sub/avm-tools/lib/avm/tools/runner/instance/data/unit/clear.rb +17 -0
  284. data/sub/avm-tools/lib/avm/tools/runner/instance/data/unit/dump.rb +17 -0
  285. data/sub/avm-tools/lib/avm/tools/runner/instance/data/unit/load.rb +22 -0
  286. data/sub/avm-tools/lib/avm/tools/runner/instance/data/unit.rb +40 -0
  287. data/sub/avm-tools/lib/avm/tools/runner/instance/data.rb +23 -0
  288. data/sub/avm-tools/lib/avm/tools/runner/instance/entry.rb +41 -0
  289. data/sub/avm-tools/lib/avm/tools/runner/instance/info.rb +35 -0
  290. data/sub/avm-tools/lib/avm/tools/runner/instance/system.rb +63 -0
  291. data/sub/avm-tools/lib/avm/tools/runner/instance.rb +10 -0
  292. data/sub/avm-tools/lib/avm/tools/runner/launcher/instances.rb +34 -0
  293. data/sub/avm-tools/lib/avm/tools/runner/launcher/projects.rb +37 -0
  294. data/sub/avm-tools/lib/avm/tools/runner/launcher/publish.rb +52 -0
  295. data/sub/avm-tools/lib/avm/tools/runner/launcher.rb +14 -0
  296. data/sub/avm-tools/lib/avm/tools/runner/launcher_stereotypes/list.rb +38 -0
  297. data/sub/avm-tools/lib/avm/tools/runner/launcher_stereotypes.rb +13 -0
  298. data/sub/avm-tools/lib/avm/tools/runner/self/docker.rb +12 -0
  299. data/sub/avm-tools/lib/avm/tools/runner/self/registry.rb +22 -0
  300. data/sub/avm-tools/lib/avm/tools/runner/self.rb +18 -0
  301. data/sub/avm-tools/lib/avm/tools/runner/source/auto_commit.rb +67 -0
  302. data/sub/avm-tools/lib/avm/tools/runner/source/info.rb +54 -0
  303. data/sub/avm-tools/lib/avm/tools/runner/source/issue/complete.rb +85 -0
  304. data/sub/avm-tools/lib/avm/tools/runner/source/issue/deliver.rb +32 -0
  305. data/sub/avm-tools/lib/avm/tools/runner/source/issue.rb +16 -0
  306. data/sub/avm-tools/lib/avm/tools/runner/source/sub/remove.rb +20 -0
  307. data/sub/avm-tools/lib/avm/tools/runner/source/sub.rb +25 -0
  308. data/sub/avm-tools/lib/avm/tools/runner/source/subs.rb +70 -0
  309. data/sub/avm-tools/lib/avm/tools/runner/source/test.rb +90 -0
  310. data/sub/avm-tools/lib/avm/tools/runner/source/update.rb +20 -0
  311. data/sub/avm-tools/lib/avm/tools/runner/source/version_bump.rb +78 -0
  312. data/sub/avm-tools/lib/avm/tools/runner/source.rb +13 -0
  313. data/sub/avm-tools/lib/avm/tools/runner/source_generate.rb +10 -0
  314. data/sub/avm-tools/lib/avm/tools/runner.rb +19 -0
  315. data/sub/avm-tools/lib/avm/tools/runner_with/include_exclude.rb +20 -0
  316. data/sub/avm-tools/lib/avm/tools/runner_with/instance_data_clear.rb +19 -0
  317. data/sub/avm-tools/lib/avm/tools/runner_with/instance_data_dump.rb +55 -0
  318. data/sub/avm-tools/lib/avm/tools/runner_with/instance_data_load.rb +64 -0
  319. data/sub/avm-tools/lib/avm/tools/runner_with/instance_data_performer.rb +37 -0
  320. data/sub/avm-tools/lib/avm/tools/self.rb +17 -0
  321. data/sub/{avm-eac_ruby_base0/lib/avm/eac_ruby_base0 → avm-tools/lib/avm/tools}/version.rb +2 -2
  322. data/sub/avm-tools/spec/lib/avm/tools/runner/files/rotate_spec.rb +71 -0
  323. data/sub/avm-tools/spec/lib/avm/tools/runner/launcher_stereotypes/list_spec.rb +15 -0
  324. data/sub/avm-tools/spec/lib/avm/tools/runner/source/issue/complete_spec.rb +47 -0
  325. data/sub/avm-tools/spec/lib/avm/tools/runner_spec.rb +12 -0
  326. data/sub/{avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/source_generators/base_spec_files/dashed-mygem → avm-tools}/spec/spec_helper.rb +3 -1
  327. metadata +338 -80
  328. data/sub/avm-eac_ruby_base0/.gitignore +0 -2
  329. data/sub/avm-eac_ruby_base0/.gitrepo +0 -7
  330. data/sub/avm-eac_ruby_base0/avm-eac_ruby_base0.gemspec +0 -21
  331. data/sub/avm-eac_ruby_base0/lib/avm/eac_ruby_base0/rspec/setup.rb +0 -13
  332. data/sub/avm-eac_ruby_base0/lib/avm/eac_ruby_base0/rspec/source_generator.rb +0 -31
  333. data/sub/avm-eac_ruby_base0/lib/avm/eac_ruby_base0/source_generators/base/application.rb +0 -33
  334. data/sub/avm-eac_ruby_base0/lib/avm/eac_ruby_base0/source_generators/base/executable.rb +0 -29
  335. data/sub/avm-eac_ruby_base0/lib/avm/eac_ruby_base0/source_generators/base/runner.rb +0 -33
  336. data/sub/avm-eac_ruby_base0/lib/avm/eac_ruby_base0/source_generators/base.rb +0 -49
  337. data/sub/avm-eac_ruby_base0/lib/avm/eac_ruby_base0/sources/base/executable.rb +0 -59
  338. data/sub/avm-eac_ruby_base0/lib/avm/eac_ruby_base0/sources/base.rb +0 -16
  339. data/sub/avm-eac_ruby_base0/lib/avm/eac_ruby_base0.rb +0 -6
  340. data/sub/avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/source_generators/base_spec.rb +0 -42
  341. data/sub/avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/source_generators/base_spec_files/dashed-mygem/.rspec +0 -1
  342. data/sub/avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/source_generators/base_spec_files/dashed-mygem/Gemfile.lock +0 -108
  343. data/sub/avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/source_generators/base_spec_files/dashed-mygem/_gitignore +0 -2
  344. data/sub/avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/source_generators/base_spec_files/dashed-mygem/dashed-mygem.gemspec +0 -24
  345. data/sub/avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/source_generators/base_spec_files/dashed-mygem/exe/dashed-mygem +0 -6
  346. data/sub/avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/source_generators/base_spec_files/dashed-mygem/lib/dashed/mygem/runner.rb +0 -17
  347. data/sub/avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/source_generators/base_spec_files/dashed-mygem/lib/dashed/mygem/self.rb +0 -13
  348. data/sub/avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/source_generators/base_spec_files/dashed-mygem/lib/dashed/mygem/version.rb +0 -7
  349. data/sub/avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/source_generators/base_spec_files/mygem_underscore/.rspec +0 -1
  350. data/sub/avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/source_generators/base_spec_files/mygem_underscore/.rubocop.yml +0 -3
  351. data/sub/avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/source_generators/base_spec_files/mygem_underscore/Gemfile +0 -8
  352. data/sub/avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/source_generators/base_spec_files/mygem_underscore/Gemfile.lock +0 -108
  353. data/sub/avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/source_generators/base_spec_files/mygem_underscore/_gitignore +0 -2
  354. data/sub/avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/source_generators/base_spec_files/mygem_underscore/exe/mygem_underscore +0 -6
  355. data/sub/avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/source_generators/base_spec_files/mygem_underscore/lib/mygem_underscore/runner.rb +0 -15
  356. data/sub/avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/source_generators/base_spec_files/mygem_underscore/lib/mygem_underscore/self.rb +0 -11
  357. data/sub/avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/source_generators/base_spec_files/mygem_underscore/lib/mygem_underscore/version.rb +0 -5
  358. data/sub/avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/source_generators/base_spec_files/mygem_underscore/lib/mygem_underscore.rb +0 -6
  359. data/sub/avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/source_generators/base_spec_files/mygem_underscore/mygem_underscore.gemspec +0 -24
  360. data/sub/avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/source_generators/base_spec_files/mygem_underscore/spec/spec_helper.rb +0 -5
  361. data/sub/avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/sources/base_spec.rb +0 -13
  362. data/sub/avm-eac_ruby_base0/template/avm/eac_ruby_base0/source_generators/base/application.template +0 -11
  363. data/sub/avm-eac_ruby_base0/template/avm/eac_ruby_base0/source_generators/base/runner.template +0 -15
  364. data/sub/eac_ruby_gem_support/.gitrepo +0 -7
  365. data/sub/eac_ruby_gem_support/.rspec +0 -1
  366. data/sub/eac_ruby_gem_support/.rubocop.yml +0 -45
  367. data/sub/eac_ruby_gem_support/Gemfile +0 -8
  368. data/sub/eac_ruby_gem_support/eac_ruby_gem_support.gemspec +0 -27
  369. data/sub/eac_ruby_gem_support/lib/eac_ruby_gem_support/rspec/helpers/filesystem.rb +0 -73
  370. data/sub/eac_ruby_gem_support/lib/eac_ruby_gem_support/rspec/helpers/utils.rb +0 -22
  371. data/sub/eac_ruby_gem_support/lib/eac_ruby_gem_support/rspec/setup/rubocop.rb +0 -61
  372. data/sub/eac_ruby_gem_support/lib/eac_ruby_gem_support/rspec/setup.rb +0 -52
  373. data/sub/eac_ruby_gem_support/lib/eac_ruby_gem_support/rspec/shared_examples/source_target_fixtures.rb +0 -73
  374. data/sub/eac_ruby_gem_support/lib/eac_ruby_gem_support/rspec/shared_examples/spec_paths.rb +0 -11
  375. data/sub/eac_ruby_gem_support/lib/eac_ruby_gem_support/rspec/source_target_fixtures_controller.rb +0 -29
  376. data/sub/eac_ruby_gem_support/lib/eac_ruby_gem_support/rspec/spec_paths_controller.rb +0 -27
  377. data/sub/eac_ruby_gem_support/lib/eac_ruby_gem_support/source_target_fixtures/source_target_file.rb +0 -17
  378. data/sub/eac_ruby_gem_support/lib/eac_ruby_gem_support/source_target_fixtures.rb +0 -72
  379. data/sub/eac_ruby_gem_support/lib/eac_ruby_gem_support/version.rb +0 -5
  380. data/sub/eac_ruby_gem_support/lib/eac_ruby_gem_support.rb +0 -10
  381. data/sub/eac_ruby_gem_support/spec/lib/eac_ruby_gem_support/rspec/helpers/filesystem_spec.rb +0 -30
  382. data/sub/eac_ruby_gem_support/spec/lib/eac_ruby_gem_support/rspec/shared_examples/source_target_fixtures_spec.rb +0 -11
  383. data/sub/eac_ruby_gem_support/spec/lib/eac_ruby_gem_support/rspec/shared_examples/source_target_fixtures_spec_files/one.source.yaml +0 -2
  384. data/sub/eac_ruby_gem_support/spec/lib/eac_ruby_gem_support/rspec/shared_examples/source_target_fixtures_spec_files/one.target.yaml +0 -2
  385. data/sub/eac_ruby_gem_support/spec/lib/eac_ruby_gem_support/rspec/shared_examples/spec_paths_spec.rb +0 -17
  386. data/sub/eac_ruby_gem_support/spec/lib/eac_ruby_gem_support/source_target_fixtures_spec.rb +0 -25
  387. data/sub/eac_ruby_gem_support/spec/lib/eac_ruby_gem_support/source_target_fixtures_spec_files/stub1.source.txt +0 -1
  388. data/sub/eac_ruby_gem_support/spec/lib/eac_ruby_gem_support/source_target_fixtures_spec_files/stub1.target.html +0 -1
  389. data/sub/eac_ruby_gem_support/spec/lib/eac_ruby_gem_support/source_target_fixtures_spec_files/stub2.source.html +0 -1
  390. data/sub/eac_ruby_gem_support/spec/lib/eac_ruby_gem_support/source_target_fixtures_spec_files/stub3.target.yaml +0 -1
  391. data/sub/eac_ruby_gem_support/spec/spec_helper.rb +0 -5
  392. /data/sub/{eac_ruby_gem_support → avm}/.gitignore +0 -0
  393. /data/sub/{avm-eac_ruby_base0 → avm}/.rspec +0 -0
  394. /data/sub/{avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/source_generators/base_spec_files/dashed-mygem → avm}/.rubocop.yml +0 -0
  395. /data/sub/{avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/source_generators/base_spec_files/dashed-mygem → avm}/Gemfile +0 -0
  396. /data/sub/{avm-eac_ruby_base0 → avm-tools}/.rubocop.yml +0 -0
  397. /data/sub/{avm-eac_ruby_base0 → avm-tools}/Gemfile +0 -0
  398. /data/sub/{avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/source_generators/base_spec_files/dashed-mygem/lib/dashed/mygem.rb → avm-tools/lib/avm/tools.rb} +0 -0
@@ -1,45 +0,0 @@
1
- plugins:
2
- - rubocop-rails
3
- - rubocop-rspec
4
- AllCops:
5
- NewCops: enable
6
- TargetRailsVersion: 6.1
7
- TargetRubyVersion: 3.2
8
- Exclude:
9
- - 'sub/**/*'
10
- Gemspec/DevelopmentDependencies:
11
- Enabled: false
12
- Gemspec/RequireMFA:
13
- Enabled: false
14
- Metrics/BlockLength:
15
- Exclude:
16
- - '**/*.gemspec'
17
- - 'spec/**/*_spec.rb'
18
- Layout/LineLength:
19
- Max: 100
20
- Layout/MultilineMethodCallIndentation:
21
- EnforcedStyle: indented_relative_to_receiver
22
- Rails/DynamicFindBy:
23
- Enabled: false
24
- Rails/Exit:
25
- Enabled: false
26
- Rails/FindEach:
27
- Enabled: false
28
- Rails/Output:
29
- Enabled: false
30
- Rails/SkipsModelValidations:
31
- Enabled: false
32
- Rails/TimeZone:
33
- Enabled: false
34
- RSpec/IncludeExamples:
35
- Enabled: false # TODO: fix error with source_target_fixtures and it_behaves_like
36
- RSpec/MultipleMemoizedHelpers:
37
- Enabled: false
38
- RSpec/NestedGroups:
39
- Enabled: false
40
- Style/AsciiComments:
41
- Enabled: false
42
- Style/Documentation:
43
- Enabled: false
44
- Style/SafeNavigation: # Bug with rubocop's version 1.76.0
45
- Enabled: false
@@ -1,8 +0,0 @@
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)
@@ -1,27 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- $LOAD_PATH.push File.expand_path('lib', __dir__)
4
-
5
- require 'eac_ruby_gem_support/version'
6
-
7
- Gem::Specification.new do |s|
8
- s.name = 'eac_ruby_gem_support'
9
- s.version = EacRubyGemSupport::VERSION
10
- s.authors = ['Esquilo Azul Company']
11
- s.summary = 'Development support for Ruby\' Gem.'
12
- s.homepage = 'https://github.com/esquilo-azul/eac_ruby_gem_support'
13
- s.metadata = { 'source_code_uri' => 'https://github.com/esquilo-azul/eac_ruby_gem_support' }
14
-
15
- s.files = Dir.glob('{lib}/**/*', File::FNM_DOTMATCH)
16
- .reject { |f| ['.', '..'].include?(File.basename(f)) } +
17
- ['.rubocop.yml']
18
-
19
- s.required_ruby_version = '>= 3.2'
20
-
21
- s.add_dependency 'eac_ruby_base1', '~> 0.1'
22
- s.add_dependency 'rspec', '~> 3.13', '>= 3.13.2'
23
- s.add_dependency 'rubocop', '~> 1.88', '>= 1.88.2'
24
- s.add_dependency 'rubocop-rails', '~> 2.36'
25
- s.add_dependency 'rubocop-rspec', '~> 3.10', '>= 3.10.2'
26
- s.add_dependency 'super_diff', '~> 0.19'
27
- end
@@ -1,73 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'fileutils'
4
- require 'tmpdir'
5
- require 'tempfile'
6
-
7
- module EacRubyGemSupport
8
- module Rspec
9
- module Helpers
10
- module Filesystem
11
- def purge_temp_files
12
- ::FileUtils.rm_rf(temp_set.pop) while temp_set.any?
13
- end
14
-
15
- # @return [Pathname]
16
- def temp_copy(source_path)
17
- source_path = to_pathname(source_path)
18
- if source_path.file?
19
- temp_file_copy(source_path)
20
- elsif source_path.directory?
21
- temp_dir_copy(source_path)
22
- else
23
- raise "Source path \"#{source_path}\" is not a file or directory"
24
- end
25
- end
26
-
27
- # @return [Pathname]
28
- def temp_dir(*mktmpdir_args)
29
- add_to_temp_set(::Dir.mktmpdir(*mktmpdir_args))
30
- end
31
-
32
- # @return [Pathname]
33
- def temp_dir_copy(source_path)
34
- r = temp_dir
35
- ::FileUtils.cp_r("#{source_path}/.", r.to_path)
36
- r
37
- end
38
-
39
- # @return [Pathname]
40
- def temp_file(*tempfile_args)
41
- file = ::Tempfile.new(*tempfile_args)
42
- path = file.path
43
- file.close
44
- add_to_temp_set(path)
45
- end
46
-
47
- # @return [Pathname]
48
- def temp_file_copy(source_path)
49
- r = temp_file
50
- ::FileUtils.cp(to_pathname(source_path).to_path, r.to_path)
51
- r
52
- end
53
-
54
- # @return [Pathname]
55
- def to_pathname(path)
56
- path.is_a?(::Pathname) ? path : ::Pathname.new(path.to_s)
57
- end
58
-
59
- private
60
-
61
- def add_to_temp_set(path)
62
- r = to_pathname(path)
63
- temp_set << r
64
- r
65
- end
66
-
67
- def temp_set
68
- @temp_set ||= []
69
- end
70
- end
71
- end
72
- end
73
- end
@@ -1,22 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'fileutils'
4
- require 'tmpdir'
5
- require 'tempfile'
6
-
7
- module EacRubyGemSupport
8
- module Rspec
9
- module Helpers
10
- module Utils
11
- # @return [StandardError, nil] If block raises an error, return this error. If not, return
12
- # +nil+.
13
- def capture_error
14
- yield
15
- nil
16
- rescue ::StandardError => e
17
- e
18
- end
19
- end
20
- end
21
- end
22
- end
@@ -1,61 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'rspec'
4
- require 'rubocop'
5
-
6
- module EacRubyGemSupport
7
- module Rspec
8
- module Setup
9
- module Rubocop
10
- RUN_LAST_METADATA_KEY = :eac_ruby_gem_support_rubocop_check
11
-
12
- def describe_rubocop # rubocop:disable Metrics/AbcSize, Metrics/MethodLength
13
- this = self
14
- ::RSpec.describe ::RuboCop, RUN_LAST_METADATA_KEY => true do
15
- before do
16
- ::RuboCop::ConfigLoader.ignore_parent_exclusion = true
17
- end
18
-
19
- let(:root_path) { this.app_root_path }
20
- let(:config_store) do
21
- r = ::RuboCop::ConfigStore.new
22
- r.for(root_path)
23
- r
24
- end
25
- let(:runner) { ::RuboCop::Runner.new({}, config_store) }
26
-
27
- it 'rubocop return ok' do
28
- expect(::Dir.chdir(root_path) { runner.run([]) }).to eq(true)
29
- end
30
- end
31
- end
32
-
33
- # @return [void]
34
- def setup_rubocop
35
- setup_rubocop_last
36
- describe_rubocop unless specific_files_requested?
37
- end
38
-
39
- # @return [void]
40
- def setup_rubocop_last
41
- previous_strategy = ::RSpec.configuration.ordering_registry.fetch(:global)
42
- ::RSpec.configure do |config|
43
- config.register_ordering(:global) do |list|
44
- ordered = previous_strategy.order(list)
45
- last, others = ordered.partition { |item| item.metadata[RUN_LAST_METADATA_KEY] }
46
- others + last
47
- end
48
- end
49
- end
50
-
51
- # @return [Boolean]
52
- def specific_files_requested?
53
- config = ::RSpec.configuration
54
- files_or_directories = config.instance_variable_get(:@files_or_directories_to_run)
55
- default_pattern = ::RSpec::Core::Configuration.new.pattern
56
- files_or_directories != [config.default_path] || config.pattern != default_pattern
57
- end
58
- end
59
- end
60
- end
61
- end
@@ -1,52 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'tmpdir'
4
-
5
- module EacRubyGemSupport
6
- module Rspec
7
- module Setup
8
- extend ::ActiveSupport::Concern
9
-
10
- SETUPS = %w[load_path example_persistence filesystem_helper shared_examples rubocop].freeze
11
-
12
- def self.extended(setup_obj)
13
- SETUPS.each { |s| setup_obj.send("setup_#{s}") }
14
- end
15
-
16
- def setup_filesystem_helper
17
- rspec_config.include ::EacRubyGemSupport::Rspec::Helpers::Filesystem
18
- rspec_config.include ::EacRubyGemSupport::Rspec::Helpers::Utils
19
- rspec_config.after(:each) { purge_temp_files }
20
- end
21
-
22
- def setup_load_path
23
- $LOAD_PATH.push app_root_path.join('lib').to_path
24
- end
25
-
26
- def setup_example_persistence
27
- rspec_config.example_status_persistence_file_path = example_persistence_path.to_path
28
- end
29
-
30
- def setup_shared_examples
31
- require 'eac_ruby_gem_support/rspec/shared_examples/spec_paths'
32
- require 'eac_ruby_gem_support/rspec/shared_examples/source_target_fixtures'
33
- end
34
-
35
- # @return [Pathname]
36
- def example_persistence_path
37
- root_tmp.join('example_status_persistence')
38
- end
39
-
40
- # The root directory for temporary files.
41
- # @return [Pathname]
42
- def root_tmp
43
- r = ::Pathname.new(::Dir.tmpdir)
44
- .join("#{app_root_path.expand_path.to_path.variableize}_specs_tmp")
45
- r.mkpath unless r.exist?
46
- r
47
- end
48
-
49
- require_sub __FILE__, include_modules: true
50
- end
51
- end
52
- end
@@ -1,73 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'yaml'
4
-
5
- RSpec.shared_examples 'source_target_fixtures' do |spec_file| # rubocop:disable Metrics/BlockLength
6
- include_examples 'spec_paths', spec_file
7
- fixtures_controller = EacRubyGemSupport::Rspec::SourceTargetFixturesController
8
- .new(spec_paths_controller)
9
-
10
- let(:fixtures_controller) { fixtures_controller }
11
- let(:spec_file) { spec_file }
12
-
13
- it 'fixtures directory should exist' do
14
- expect(File.directory?(fixtures_controller.fixtures_dir)).to be true
15
- end
16
-
17
- context 'with fixtures directory' do
18
- it 'has at least one file' do
19
- expect(source_target_fixtures.source_target_files.count).to be > 0 # rubocop:disable Style/NumericPredicate
20
- end
21
-
22
- fixtures_controller.source_target_fixtures.source_target_files.each do |st|
23
- context "when source file is \"#{File.basename(st.source)}\"" do
24
- if fixtures_controller.write_target_fixtures?
25
- it 'writes target data' do
26
- sd = sort_results(source_data(st.source))
27
- basename = EacRubyGemSupport::SourceTargetFixtures.source_target_basename(st.source)
28
- target_file = File.expand_path("../#{basename}.target#{target_file_extname}", st.source)
29
- File.write(target_file, target_content(sd))
30
- end
31
- else
32
- it 'parses data' do
33
- assert_source_target_complete(st)
34
- sd = source_data(st.source)
35
- td = target_data(st.target)
36
- expect(sort_results(sd)).to eq(sort_results(td))
37
- end
38
- end
39
- end
40
- end
41
- end
42
-
43
- delegate :source_target_fixtures, to: :fixtures_controller
44
-
45
- def assert_source_target_complete(source_target)
46
- expect(source_target.source).to(be_truthy, "Source not found (Target: #{source_target.target})")
47
- expect(source_target.target).to(be_truthy, "Target not found (Source: #{source_target.source})")
48
- end
49
-
50
- def source_data(source_file)
51
- instance = described_class.new(source_file)
52
- return instance.data if instance.respond_to?(:data)
53
-
54
- raise "#{instance} has no \"data\" method. You need to implement \"#{instance}.data\" or " \
55
- "\"#{self}.source_data(source_file)\""
56
- end
57
-
58
- def sort_results(results)
59
- results
60
- end
61
-
62
- def target_data(target_file)
63
- YAML.unsafe_load_file(target_file)
64
- end
65
-
66
- def target_content(data)
67
- data.to_yaml
68
- end
69
-
70
- def target_file_extname
71
- '.yaml'
72
- end
73
- end
@@ -1,11 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- RSpec.shared_context 'spec_paths' do |the_spec_file|
4
- cattr_accessor :spec_paths_controller
5
- self.spec_paths_controller = EacRubyGemSupport::Rspec::SpecPathsController.new(self,
6
- the_spec_file)
7
-
8
- %i[fixtures_directory spec_directory spec_file].each do |m|
9
- let(m) { self.class.spec_paths_controller.send(m) }
10
- end
11
- end
@@ -1,29 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module EacRubyGemSupport
4
- module Rspec
5
- class SourceTargetFixturesController
6
- enable_simple_cache
7
- common_constructor :spec_paths_controller
8
- delegate :example, to: :spec_paths_controller
9
-
10
- def fixtures_dir
11
- if example.respond_to?(:fixtures_dir)
12
- example.fixtures_dir
13
- else
14
- spec_paths_controller.fixtures_directory
15
- end
16
- end
17
-
18
- def write_target_fixtures?
19
- ENV['WRITE_TARGET_FIXTURES'].to_bool
20
- end
21
-
22
- private
23
-
24
- def source_target_fixtures_uncached
25
- ::EacRubyGemSupport::SourceTargetFixtures.new(fixtures_dir)
26
- end
27
- end
28
- end
29
- end
@@ -1,27 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module EacRubyGemSupport
4
- module Rspec
5
- class SpecPathsController
6
- # @!attribute [r] spec_file
7
- # @return [Pathname]
8
-
9
- # @!method initialize(example, spec_file)
10
- # @param example [RSpec::Core::ExampleGroup]
11
- # @param spec_file [Pathname]
12
- common_constructor :example, :spec_file do
13
- self.spec_file = spec_file.to_pathname
14
- end
15
-
16
- # @return [Pathname]
17
- def fixtures_directory
18
- spec_directory.join(spec_file.basename('.*')).basename_sub { |b| "#{b}_files" }
19
- end
20
-
21
- # @return [Pathname]
22
- def spec_directory
23
- spec_file.parent
24
- end
25
- end
26
- end
27
- end
@@ -1,17 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module EacRubyGemSupport
4
- class SourceTargetFixtures
5
- class SourceTargetFile
6
- common_constructor :owner, :basename
7
-
8
- def source
9
- owner.source_file(basename)
10
- end
11
-
12
- def target
13
- owner.target_file(basename)
14
- end
15
- end
16
- end
17
- end
@@ -1,72 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module EacRubyGemSupport
4
- # Lists pairs of source/target files in a directory.
5
- class SourceTargetFixtures
6
- class << self
7
- def source_target_basename(file)
8
- m = /^(.+)\.(?:source|target)(?:\..+)?$/.match(File.basename(file))
9
- m ? m[1] : nil
10
- end
11
- end
12
-
13
- # @!attribute [r] fixtures_directory
14
- # @return [String]
15
-
16
- # @!method initialize(fixtures_directory)
17
- # @param fixtures_directory [Pathname]
18
- common_constructor :fixtures_directory
19
-
20
- def source_target_files
21
- sources_targets_basenames.map do |basename|
22
- ::EacRubyGemSupport::SourceTargetFixtures::SourceTargetFile.new(self, basename)
23
- end
24
- end
25
-
26
- def source_files
27
- r = []
28
- source_target_files.each do |st|
29
- r << st.source if st.source
30
- end
31
- r
32
- end
33
-
34
- def target_files
35
- r = []
36
- source_target_files.each do |st|
37
- r << st.target if st.target
38
- end
39
- r
40
- end
41
-
42
- def target_file(basename)
43
- fixture_file(basename, 'target')
44
- end
45
-
46
- def source_file(basename)
47
- fixture_file(basename, 'source')
48
- end
49
-
50
- private
51
-
52
- def fixture_file(basename, suffix)
53
- prefix = "#{basename}.#{suffix}"
54
- Dir.foreach(fixtures_directory) do |item|
55
- next if %w[. ..].include?(item)
56
- return File.expand_path(item, fixtures_directory) if item.starts_with?(prefix)
57
- end
58
- nil
59
- end
60
-
61
- def sources_targets_basenames
62
- basenames = Set.new
63
- Dir.foreach(fixtures_directory) do |item|
64
- next if %w[. ..].include?(item)
65
-
66
- b = self.class.source_target_basename(item)
67
- basenames << b if b.present?
68
- end
69
- basenames
70
- end
71
- end
72
- end
@@ -1,5 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module EacRubyGemSupport
4
- VERSION = '0.14.0'
5
- end
@@ -1,10 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_ruby_base1'
4
- EacRubyBase1::RootModuleSetup.perform __FILE__ do
5
- ignore 'rspec/shared_examples/**/*'
6
- require 'active_support/ordered_options' # Fix "super_diff" '0.18.0'.
7
- require 'super_diff'
8
- require 'super_diff/active_support'
9
- require 'super_diff/rspec'
10
- end
@@ -1,30 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- RSpec.describe EacRubyGemSupport::Rspec::Helpers::Filesystem do
4
- describe '#temp_file' do
5
- let(:a_temp_file) { temp_file }
6
-
7
- it { expect(temp_file).to be_file }
8
- end
9
-
10
- describe '#temp_dir' do
11
- let(:a_temp_dir) { temp_dir }
12
-
13
- it { expect(temp_dir).to be_directory }
14
- end
15
-
16
- describe '#temp_copy' do
17
- let(:source_file) { Pathname.new(__FILE__) }
18
- let(:source_dir) { source_file.parent }
19
- let(:file_copy) { temp_copy(source_file) }
20
- let(:dir_copy) { temp_copy(source_dir) }
21
-
22
- it { expect(file_copy).to be_file }
23
- it { expect(file_copy.read).to eq(source_file.read) }
24
- it { expect(file_copy).not_to eq(source_file) }
25
-
26
- it { expect(dir_copy).to be_directory }
27
- it { expect(dir_copy.join(source_file.basename).read).to eq(source_file.read) }
28
- it { expect(dir_copy).not_to eq(source_dir) }
29
- end
30
- end
@@ -1,11 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'yaml'
4
-
5
- RSpec.describe "RSpec.shared_examples('source_target_fixtures')" do # rubocop:disable RSpec/DescribeClass
6
- include_examples 'source_target_fixtures', __FILE__
7
-
8
- def source_data(file)
9
- YAML.load_file(file)
10
- end
11
- end
@@ -1,17 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- RSpec.describe "RSpec.shared_examples('spec_paths')" do # rubocop:disable RSpec/DescribeClass
4
- include_context 'spec_paths', __FILE__
5
-
6
- it do
7
- expect(spec_file).to eq(__FILE__.to_pathname)
8
- end
9
-
10
- it do
11
- expect(spec_directory).to eq(__FILE__.to_pathname.dirname)
12
- end
13
-
14
- it do
15
- expect(fixtures_directory).to eq(__FILE__.to_pathname.dirname.join('spec_paths_spec_files'))
16
- end
17
- end
@@ -1,25 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- RSpec.describe EacRubyGemSupport::SourceTargetFixtures do
4
- let(:fixtures_dir) { File.join(__dir__, 'source_target_fixtures_spec_files') }
5
- let(:instance) { described_class.new(fixtures_dir) }
6
-
7
- describe '#source_target_files' do
8
- it { expect(instance.source_target_files.count).to eq(3) }
9
-
10
- (1..3).each do |index|
11
- basename = "stub#{index}" # rubocop:disable RSpec/LeakyLocalVariable
12
- let(basename) { instance.source_target_files.find { |stf| stf.basename == basename } }
13
-
14
- it { expect(send(basename)).to be_present }
15
- it { expect(send(basename).basename).to eq(basename) }
16
- end
17
-
18
- it { expect(stub1.source).to eq(File.join(fixtures_dir, 'stub1.source.txt')) }
19
- it { expect(stub1.target).to eq(File.join(fixtures_dir, 'stub1.target.html')) }
20
- it { expect(stub2.source).to eq(File.join(fixtures_dir, 'stub2.source.html')) }
21
- it { expect(stub2.target).to be_nil }
22
- it { expect(stub3.source).to be_nil }
23
- it { expect(stub3.target).to eq(File.join(fixtures_dir, 'stub3.target.yaml')) }
24
- end
25
- end
@@ -1,5 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'eac_ruby_utils'
4
- require 'eac_ruby_gem_support'
5
- EacRubyUtils::Rspec.default_setup_create(File.expand_path('..', __dir__))
File without changes
File without changes
File without changes
File without changes