eac_tools 0.117.3 → 0.117.4

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 (485) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +112 -62
  3. data/eac_tools.gemspec +8 -8
  4. data/lib/eac_tools/version.rb +1 -1
  5. data/sub/aranha/.gitignore +5 -0
  6. data/sub/aranha/.gitrepo +7 -0
  7. data/sub/aranha/.rspec +1 -0
  8. data/sub/aranha/.rubocop.yml +3 -0
  9. data/sub/aranha/Gemfile +8 -0
  10. data/sub/aranha/MIT-LICENSE +20 -0
  11. data/sub/aranha/README.rdoc +3 -0
  12. data/sub/aranha/aranha.gemspec +23 -0
  13. data/sub/aranha/lib/aranha/address_processor.rb +25 -0
  14. data/sub/aranha/lib/aranha/default_processor.rb +43 -0
  15. data/sub/aranha/lib/aranha/manager.rb +62 -0
  16. data/sub/aranha/lib/aranha/processor.rb +85 -0
  17. data/sub/aranha/lib/aranha/temporary_errors.rb +17 -0
  18. data/sub/aranha/lib/aranha/temporary_errors_manager.rb +36 -0
  19. data/sub/aranha/lib/aranha/version.rb +5 -0
  20. data/sub/aranha/lib/aranha.rb +4 -0
  21. data/sub/aranha/spec/lib/aranha/temporary_errors_manager_spec.rb +21 -0
  22. data/sub/aranha/spec/spec_helper.rb +5 -0
  23. data/sub/avm/avm.gemspec +3 -3
  24. data/sub/avm/lib/avm/source_generators/base.rb +1 -1
  25. data/sub/avm/lib/avm/version.rb +1 -1
  26. data/sub/avm-eac_asciidoctor_base0/.gitignore +2 -0
  27. data/sub/avm-eac_asciidoctor_base0/.gitrepo +7 -0
  28. data/sub/avm-eac_asciidoctor_base0/.rspec +1 -0
  29. data/sub/avm-eac_asciidoctor_base0/.rubocop.yml +3 -0
  30. data/sub/avm-eac_asciidoctor_base0/Gemfile +8 -0
  31. data/sub/avm-eac_asciidoctor_base0/avm-eac_asciidoctor_base0.gemspec +24 -0
  32. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/documents_owner.rb +27 -0
  33. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/file_formats/base/file_resource_name.rb +34 -0
  34. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/file_formats/base.rb +14 -0
  35. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/apache_host.rb +17 -0
  36. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/apache_path.rb +10 -0
  37. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/base.rb +28 -0
  38. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/build/document/body_source.rb +49 -0
  39. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/build/document/body_target.rb +35 -0
  40. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/build/document/children.rb +47 -0
  41. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/build/document/header_lines.rb +90 -0
  42. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/build/document/media.rb +27 -0
  43. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/build/document/pre_process_line.rb +62 -0
  44. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/build/document.rb +49 -0
  45. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/build/theme.rb +38 -0
  46. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/build.rb +61 -0
  47. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/deploy.rb +24 -0
  48. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/macros/base.rb +19 -0
  49. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/macros/breadcrumbs.rb +52 -0
  50. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/macros/child_docs/document_builder.rb +60 -0
  51. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/macros/child_docs.rb +30 -0
  52. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/macros/default_body.rb +18 -0
  53. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/instances/macros/todo.rb +18 -0
  54. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/logging/catcher.rb +44 -0
  55. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/logging/error.rb +16 -0
  56. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/source_generators/base.rb +24 -0
  57. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/base/instance_to_build.rb +44 -0
  58. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/base/theme.rb +45 -0
  59. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/base.rb +42 -0
  60. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/document/media.rb +27 -0
  61. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/document/title.rb +30 -0
  62. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/document.rb +55 -0
  63. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/runners/build.rb +55 -0
  64. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/runners/document/build.rb +49 -0
  65. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/runners/document.rb +26 -0
  66. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/runners/documents.rb +26 -0
  67. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/runners/ignore_errors_option.rb +42 -0
  68. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/sources/runners.rb +11 -0
  69. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0/version.rb +7 -0
  70. data/sub/avm-eac_asciidoctor_base0/lib/avm/eac_asciidoctor_base0.rb +6 -0
  71. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/file_formats/base_spec.rb +11 -0
  72. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build/document_spec.rb +79 -0
  73. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build/document_spec_files/pre_processed_root_body.adoc +25 -0
  74. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec.rb +19 -0
  75. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.source/content/_media/a_media_file +1 -0
  76. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.source/content/doc1/_media/a_media_file +1 -0
  77. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.source/content/doc1/body.adoc +11 -0
  78. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.source/content/doc1/title +1 -0
  79. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.source/content/doc2/body.adoc +11 -0
  80. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.source/content/doc2/doc2_1/_media/a_media_file +1 -0
  81. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.source/content/doc2/doc2_1/body.adoc +11 -0
  82. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.source/content/doc2/doc2_1/title +1 -0
  83. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.source/content/doc2/title +1 -0
  84. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.target/.clearable_directory +0 -0
  85. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.target/_media/a_media_file +1 -0
  86. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.target/_theme/main.css +1 -0
  87. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.target/doc1/_media/a_media_file +1 -0
  88. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.target/doc1/index.html +1 -0
  89. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.target/doc2/doc2_1/_media/a_media_file +1 -0
  90. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.target/doc2/doc2_1/index.html +1 -0
  91. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.target/doc2/index.html +1 -0
  92. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/instances/build_spec_files/first.target/index.html +1 -0
  93. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/source_generators/base_spec.rb +5 -0
  94. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/source_generators/base_spec_files/no_options/.gitignore +2 -0
  95. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/source_generators/base_spec_files/no_options/build/.clearable_directory +0 -0
  96. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/source_generators/base_spec_files/no_options/content/body.adoc +11 -0
  97. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/source_generators/base_spec_files/no_options/content/title +1 -0
  98. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/source_generators/base_spec_files/no_options/theme/main.css +1 -0
  99. data/sub/avm-eac_asciidoctor_base0/spec/lib/avm/eac_asciidoctor_base0/sources/base_spec.rb +13 -0
  100. data/sub/avm-eac_asciidoctor_base0/spec/spec_helper/eac_asciidoctor_base0_stubs.rb +55 -0
  101. data/sub/avm-eac_asciidoctor_base0/spec/spec_helper.rb +7 -0
  102. data/sub/avm-eac_asciidoctor_base0/template/avm/eac_asciidoctor_base0/instances/deploy/.keep +1 -0
  103. data/sub/avm-eac_asciidoctor_base0/template/avm/eac_asciidoctor_base0/source_generators/base/.gitignore +2 -0
  104. data/sub/avm-eac_asciidoctor_base0/template/avm/eac_asciidoctor_base0/source_generators/base/build/.clearable_directory +0 -0
  105. data/sub/avm-eac_asciidoctor_base0/template/avm/eac_asciidoctor_base0/source_generators/base/content/body.adoc +11 -0
  106. data/sub/avm-eac_asciidoctor_base0/template/avm/eac_asciidoctor_base0/source_generators/base/content/title +1 -0
  107. data/sub/avm-eac_asciidoctor_base0/template/avm/eac_asciidoctor_base0/source_generators/base/theme/main.css +1 -0
  108. data/sub/avm-eac_latex_base0/.gitignore +2 -0
  109. data/sub/avm-eac_latex_base0/.gitrepo +7 -0
  110. data/sub/avm-eac_latex_base0/.rspec +1 -0
  111. data/sub/avm-eac_latex_base0/.rubocop.yml +3 -0
  112. data/sub/avm-eac_latex_base0/Gemfile +8 -0
  113. data/sub/avm-eac_latex_base0/avm-eac_latex_base0.gemspec +21 -0
  114. data/sub/avm-eac_latex_base0/lib/avm/eac_latex_base0/executables.rb +19 -0
  115. data/sub/avm-eac_latex_base0/lib/avm/eac_latex_base0/instances/apache_host.rb +17 -0
  116. data/sub/avm-eac_latex_base0/lib/avm/eac_latex_base0/instances/base.rb +10 -0
  117. data/sub/avm-eac_latex_base0/lib/avm/eac_latex_base0/instances/deploy.rb +34 -0
  118. data/sub/avm-eac_latex_base0/lib/avm/eac_latex_base0/instances.rb +8 -0
  119. data/sub/avm-eac_latex_base0/lib/avm/eac_latex_base0/sources/base.rb +41 -0
  120. data/sub/avm-eac_latex_base0/lib/avm/eac_latex_base0/sources/build/chapters_content.rb +49 -0
  121. data/sub/avm-eac_latex_base0/lib/avm/eac_latex_base0/sources/build/commons.rb +15 -0
  122. data/sub/avm-eac_latex_base0/lib/avm/eac_latex_base0/sources/build/copy_files.rb +43 -0
  123. data/sub/avm-eac_latex_base0/lib/avm/eac_latex_base0/sources/build/file/base_stereotype.rb +23 -0
  124. data/sub/avm-eac_latex_base0/lib/avm/eac_latex_base0/sources/build/file/chapter_index.rb +27 -0
  125. data/sub/avm-eac_latex_base0/lib/avm/eac_latex_base0/sources/build/file/tex_source.rb +37 -0
  126. data/sub/avm-eac_latex_base0/lib/avm/eac_latex_base0/sources/build/file.rb +47 -0
  127. data/sub/avm-eac_latex_base0/lib/avm/eac_latex_base0/sources/build.rb +115 -0
  128. data/sub/avm-eac_latex_base0/lib/avm/eac_latex_base0/sources/runners/build_chapters.rb +40 -0
  129. data/sub/avm-eac_latex_base0/lib/avm/eac_latex_base0/sources/runners/build_single.rb +30 -0
  130. data/sub/avm-eac_latex_base0/lib/avm/eac_latex_base0/sources/runners/info.rb +29 -0
  131. data/sub/avm-eac_latex_base0/lib/avm/eac_latex_base0/sources/runners.rb +10 -0
  132. data/sub/avm-eac_latex_base0/lib/avm/eac_latex_base0/sources.rb +8 -0
  133. data/sub/avm-eac_latex_base0/lib/avm/eac_latex_base0/version.rb +7 -0
  134. data/sub/avm-eac_latex_base0/lib/avm/eac_latex_base0.rb +6 -0
  135. data/sub/avm-eac_latex_base0/spec/spec_helper.rb +5 -0
  136. data/sub/avm-eac_latex_base0/template/avm/eac_latex_base0/instances/deploy/index.html.template +9 -0
  137. data/sub/avm-eac_latex_base0/template/avm/eac_latex_base0/sources/build/commons/all.tex +5 -0
  138. data/sub/avm-eac_latex_base0/template/avm/eac_latex_base0/sources/build/commons/ebook.tex +11 -0
  139. data/sub/avm-eac_latex_base0/template/avm/eac_latex_base0/sources/build/commons/images.tex +11 -0
  140. data/sub/avm-eac_latex_base0/template/avm/eac_latex_base0/sources/build/commons/links.tex +2 -0
  141. data/sub/avm-eac_latex_base0/template/avm/eac_latex_base0/sources/build/commons/portuguese.tex +8 -0
  142. data/sub/avm-eac_latex_base0/template/avm/eac_latex_base0/sources/build/commons/source_code/java.tex +15 -0
  143. data/sub/avm-eac_latex_base0/template/avm/eac_latex_base0/sources/build/commons/source_code.tex +21 -0
  144. data/sub/avm-eac_latex_base0/template/avm/eac_latex_base0/sources/build/commons/utils.tex +6 -0
  145. data/sub/avm-eac_rails_base1/.gitignore +2 -0
  146. data/sub/avm-eac_rails_base1/.gitrepo +7 -0
  147. data/sub/avm-eac_rails_base1/.rspec +1 -0
  148. data/sub/avm-eac_rails_base1/.rubocop.yml +3 -0
  149. data/sub/avm-eac_rails_base1/Gemfile +8 -0
  150. data/sub/avm-eac_rails_base1/avm-eac_rails_base1.gemspec +22 -0
  151. data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/instances/apache_base.rb +14 -0
  152. data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/instances/apache_host.rb +15 -0
  153. data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/instances/apache_path.rb +17 -0
  154. data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/instances/base/install.rb +25 -0
  155. data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/instances/base.rb +44 -0
  156. data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/instances/deploy.rb +20 -0
  157. data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/instances/processes/daemon.rb +36 -0
  158. data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/instances/processes/tasks_scheduler.rb +24 -0
  159. data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/instances/runners/bundle.rb +26 -0
  160. data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/instances/runners/code_runner.rb +25 -0
  161. data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/instances/runners/log.rb +43 -0
  162. data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/instances/runners/logs/clear.rb +25 -0
  163. data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/instances/runners/logs.rb +16 -0
  164. data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/instances/runners/rails_server.rb +31 -0
  165. data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/instances/runners/tasks_scheduler/systemd_unit.rb +45 -0
  166. data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/instances/runners/tasks_scheduler.rb +15 -0
  167. data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/instances/systemd_unit/service.rb +70 -0
  168. data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/instances/systemd_unit/tasks_scheduler_command.rb +29 -0
  169. data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/instances/systemd_unit.rb +56 -0
  170. data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/runner_with/bundle.rb +23 -0
  171. data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/runner_with/rails_environment.rb +42 -0
  172. data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/sources/base.rb +40 -0
  173. data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1/version.rb +7 -0
  174. data/sub/avm-eac_rails_base1/lib/avm/eac_rails_base1.rb +7 -0
  175. data/sub/avm-eac_rails_base1/spec/spec_helper.rb +6 -0
  176. data/sub/avm-eac_rails_base1/template/avm/eac_rails_base1/instances/apache_path/extra_content.conf +6 -0
  177. data/sub/avm-eac_rails_base1/template/avm/eac_rails_base1/instances/systemd_unit/tasks_scheduler.service +12 -0
  178. data/sub/avm-eac_rails_base1/template/avm/eac_rails_base1/instances/systemd_unit/tasks_scheduler_command.sh +6 -0
  179. data/sub/avm-eac_redmine_base0/.gitignore +2 -0
  180. data/sub/avm-eac_redmine_base0/.gitrepo +7 -0
  181. data/sub/avm-eac_redmine_base0/.rspec +1 -0
  182. data/sub/avm-eac_redmine_base0/.rubocop.yml +2 -0
  183. data/sub/avm-eac_redmine_base0/Gemfile +8 -0
  184. data/sub/avm-eac_redmine_base0/avm-eac_redmine_base0.gemspec +26 -0
  185. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/apache_host.rb +10 -0
  186. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/base/database.rb +27 -0
  187. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/base/files.rb +18 -0
  188. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/base/gitolite.rb +52 -0
  189. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/base/install.rb +43 -0
  190. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/base/nodejs.rb +19 -0
  191. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/base/web.rb +17 -0
  192. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/base.rb +63 -0
  193. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/deploy.rb +16 -0
  194. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/docker_image.rb +110 -0
  195. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/rest_api/entity_base.rb +27 -0
  196. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/rest_api/project.rb +30 -0
  197. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/rest_api/root.rb +17 -0
  198. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/rest_api/wiki_page.rb +66 -0
  199. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/rest_api.rb +16 -0
  200. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/runners/docker.rb +15 -0
  201. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/runners/project/wiki_page/read.rb +25 -0
  202. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/runners/project/wiki_page/write.rb +68 -0
  203. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/runners/project/wiki_page.rb +26 -0
  204. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/runners/project.rb +22 -0
  205. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/instances/runners/project_rename.rb +53 -0
  206. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/sources/base/default_settings.rb +40 -0
  207. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/sources/base.rb +34 -0
  208. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/sources/core_update.rb +125 -0
  209. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/sources/runners/core_update.rb +61 -0
  210. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/sources/runners/docker.rb +16 -0
  211. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0/version.rb +7 -0
  212. data/sub/avm-eac_redmine_base0/lib/avm/eac_redmine_base0.rb +11 -0
  213. data/sub/avm-eac_redmine_base0/locale/en.yml +6 -0
  214. data/sub/avm-eac_redmine_base0/locale/pt-BR.yml +6 -0
  215. data/sub/avm-eac_redmine_base0/spec/lib/avm/eac_redmine_base0/instances/apache_host_spec.rb +19 -0
  216. data/sub/avm-eac_redmine_base0/spec/lib/avm/eac_redmine_base0/instances/apache_host_spec_files/apache_host_spec_no_ssl_content.conf +11 -0
  217. data/sub/avm-eac_redmine_base0/spec/lib/avm/eac_redmine_base0/instances/base/gitolite_spec.rb +24 -0
  218. data/sub/avm-eac_redmine_base0/spec/lib/avm/eac_redmine_base0/instances/base/gitolite_spec_files/config.yml +10 -0
  219. data/sub/avm-eac_redmine_base0/spec/spec_helper.rb +6 -0
  220. data/sub/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances/deploy/config/install.sh.template +46 -0
  221. data/sub/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances/deploy/config/secrets.yml +8 -0
  222. data/sub/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances/docker_image/Dockerfile.template +37 -0
  223. data/sub/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances/docker_image/apache_host_dockerfile +8 -0
  224. data/sub/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances/docker_image/apache_http_virtualhost.conf.template +10 -0
  225. data/sub/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances/docker_image/apache_https_virtualhost.conf.template +16 -0
  226. data/sub/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances/docker_image/apache_path_dockerfile +5 -0
  227. data/sub/avm-eac_redmine_base0/template/avm/eac_redmine_base0/instances/docker_image/start.sh.template +53 -0
  228. data/sub/avm-eac_ruby_base0/.gitignore +2 -0
  229. data/sub/avm-eac_ruby_base0/.gitrepo +7 -0
  230. data/sub/avm-eac_ruby_base0/.rspec +1 -0
  231. data/sub/avm-eac_ruby_base0/.rubocop.yml +3 -0
  232. data/sub/avm-eac_ruby_base0/Gemfile +8 -0
  233. data/sub/avm-eac_ruby_base0/avm-eac_ruby_base0.gemspec +21 -0
  234. data/sub/avm-eac_ruby_base0/lib/avm/eac_ruby_base0/rspec/setup.rb +13 -0
  235. data/sub/avm-eac_ruby_base0/lib/avm/eac_ruby_base0/rspec/source_generator.rb +31 -0
  236. data/sub/avm-eac_ruby_base0/lib/avm/eac_ruby_base0/source_generators/base/application.rb +34 -0
  237. data/sub/avm-eac_ruby_base0/lib/avm/eac_ruby_base0/source_generators/base/executable.rb +30 -0
  238. data/sub/avm-eac_ruby_base0/lib/avm/eac_ruby_base0/source_generators/base/runner.rb +33 -0
  239. data/sub/avm-eac_ruby_base0/lib/avm/eac_ruby_base0/source_generators/base.rb +49 -0
  240. data/sub/avm-eac_ruby_base0/lib/avm/eac_ruby_base0/sources/base/executable.rb +59 -0
  241. data/sub/avm-eac_ruby_base0/lib/avm/eac_ruby_base0/sources/base.rb +16 -0
  242. data/sub/avm-eac_ruby_base0/lib/avm/eac_ruby_base0/version.rb +7 -0
  243. data/sub/avm-eac_ruby_base0/lib/avm/eac_ruby_base0.rb +6 -0
  244. data/sub/avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/source_generators/base_spec.rb +42 -0
  245. data/sub/avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/source_generators/base_spec_files/dashed-mygem/.rspec +1 -0
  246. data/sub/avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/source_generators/base_spec_files/dashed-mygem/.rubocop.yml +3 -0
  247. data/sub/avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/source_generators/base_spec_files/dashed-mygem/Gemfile +8 -0
  248. data/sub/avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/source_generators/base_spec_files/dashed-mygem/Gemfile.lock +108 -0
  249. data/sub/avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/source_generators/base_spec_files/dashed-mygem/_gitignore +2 -0
  250. data/sub/avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/source_generators/base_spec_files/dashed-mygem/dashed-mygem.gemspec +24 -0
  251. data/sub/avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/source_generators/base_spec_files/dashed-mygem/exe/dashed-mygem +6 -0
  252. data/sub/avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/source_generators/base_spec_files/dashed-mygem/lib/dashed/mygem/runner.rb +17 -0
  253. data/sub/avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/source_generators/base_spec_files/dashed-mygem/lib/dashed/mygem/self.rb +13 -0
  254. data/sub/avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/source_generators/base_spec_files/dashed-mygem/lib/dashed/mygem/version.rb +7 -0
  255. data/sub/avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/source_generators/base_spec_files/dashed-mygem/lib/dashed/mygem.rb +6 -0
  256. data/sub/avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/source_generators/base_spec_files/dashed-mygem/lib/dashed.rb +4 -0
  257. data/sub/avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/source_generators/base_spec_files/dashed-mygem/spec/spec_helper.rb +5 -0
  258. data/sub/avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/source_generators/base_spec_files/mygem_underscore/.rspec +1 -0
  259. data/sub/avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/source_generators/base_spec_files/mygem_underscore/.rubocop.yml +3 -0
  260. data/sub/avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/source_generators/base_spec_files/mygem_underscore/Gemfile +8 -0
  261. data/sub/avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/source_generators/base_spec_files/mygem_underscore/Gemfile.lock +108 -0
  262. data/sub/avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/source_generators/base_spec_files/mygem_underscore/_gitignore +2 -0
  263. data/sub/avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/source_generators/base_spec_files/mygem_underscore/exe/mygem_underscore +6 -0
  264. data/sub/avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/source_generators/base_spec_files/mygem_underscore/lib/mygem_underscore/runner.rb +15 -0
  265. data/sub/avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/source_generators/base_spec_files/mygem_underscore/lib/mygem_underscore/self.rb +11 -0
  266. data/sub/avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/source_generators/base_spec_files/mygem_underscore/lib/mygem_underscore/version.rb +5 -0
  267. data/sub/avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/source_generators/base_spec_files/mygem_underscore/lib/mygem_underscore.rb +6 -0
  268. data/sub/avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/source_generators/base_spec_files/mygem_underscore/mygem_underscore.gemspec +24 -0
  269. data/sub/avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/source_generators/base_spec_files/mygem_underscore/spec/spec_helper.rb +5 -0
  270. data/sub/avm-eac_ruby_base0/spec/lib/avm/eac_ruby_base0/sources/base_spec.rb +13 -0
  271. data/sub/avm-eac_ruby_base0/spec/spec_helper.rb +5 -0
  272. data/sub/avm-eac_ruby_base0/template/avm/eac_ruby_base0/source_generators/base/application.template +11 -0
  273. data/sub/avm-eac_ruby_base0/template/avm/eac_ruby_base0/source_generators/base/executable.template +6 -0
  274. data/sub/avm-eac_ruby_base0/template/avm/eac_ruby_base0/source_generators/base/runner.template +15 -0
  275. data/sub/avm-eac_ruby_base1/avm-eac_ruby_base1.gemspec +2 -3
  276. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/source_generators/base.rb +2 -2
  277. data/sub/avm-eac_ruby_base1/lib/avm/eac_ruby_base1/version.rb +1 -1
  278. data/sub/avm-eac_ubuntu_base0/.gitignore +2 -0
  279. data/sub/avm-eac_ubuntu_base0/.gitrepo +7 -0
  280. data/sub/avm-eac_ubuntu_base0/.rspec +1 -0
  281. data/sub/avm-eac_ubuntu_base0/.rubocop.yml +3 -0
  282. data/sub/avm-eac_ubuntu_base0/Gemfile +8 -0
  283. data/sub/avm-eac_ubuntu_base0/avm-eac_ubuntu_base0.gemspec +21 -0
  284. data/sub/avm-eac_ubuntu_base0/lib/avm/eac_ubuntu_base0/apache/resource.rb +57 -0
  285. data/sub/avm-eac_ubuntu_base0/lib/avm/eac_ubuntu_base0/apache.rb +24 -0
  286. data/sub/avm-eac_ubuntu_base0/lib/avm/eac_ubuntu_base0/docker_image.rb +30 -0
  287. data/sub/avm-eac_ubuntu_base0/lib/avm/eac_ubuntu_base0/instances/base.rb +24 -0
  288. data/sub/avm-eac_ubuntu_base0/lib/avm/eac_ubuntu_base0/minimal_docker_image.rb +20 -0
  289. data/sub/avm-eac_ubuntu_base0/lib/avm/eac_ubuntu_base0/rspec/ssh_docker_server.rb +83 -0
  290. data/sub/avm-eac_ubuntu_base0/lib/avm/eac_ubuntu_base0/runners/base/docker.rb +15 -0
  291. data/sub/avm-eac_ubuntu_base0/lib/avm/eac_ubuntu_base0/runners/base.rb +26 -0
  292. data/sub/avm-eac_ubuntu_base0/lib/avm/eac_ubuntu_base0/version.rb +7 -0
  293. data/sub/avm-eac_ubuntu_base0/lib/avm/eac_ubuntu_base0.rb +8 -0
  294. data/sub/avm-eac_ubuntu_base0/spec/lib/avm/eac_ubuntu_base0/docker_image_spec.rb +12 -0
  295. data/sub/avm-eac_ubuntu_base0/spec/lib/avm/eac_ubuntu_base0/rspec/ssh_docker_server_spec.rb +11 -0
  296. data/sub/avm-eac_ubuntu_base0/spec/lib/avm/eac_ubuntu_base0/runners/base/docker_spec.rb +11 -0
  297. data/sub/avm-eac_ubuntu_base0/spec/lib/avm/eac_ubuntu_base0/runners/base_spec.rb +5 -0
  298. data/sub/avm-eac_ubuntu_base0/spec/spec_helper.rb +5 -0
  299. data/sub/avm-eac_ubuntu_base0/template/avm/eac_ubuntu_base0/docker_image/Dockerfile.template +22 -0
  300. data/sub/avm-eac_ubuntu_base0/template/avm/eac_ubuntu_base0/minimal_docker_image/Dockerfile.template +6 -0
  301. data/sub/avm-eac_ubuntu_base0/template/avm/eac_ubuntu_base0/rspec/ssh_docker_server/Dockerfile.template +22 -0
  302. data/sub/avm-eac_ubuntu_base0/template/avm/eac_ubuntu_base0/rspec/ssh_docker_server/id_rsa +27 -0
  303. data/sub/avm-eac_ubuntu_base0/template/avm/eac_ubuntu_base0/rspec/ssh_docker_server/id_rsa.pub +1 -0
  304. data/sub/avm-eac_webapp_base0/.gitignore +2 -0
  305. data/sub/avm-eac_webapp_base0/.gitrepo +7 -0
  306. data/sub/avm-eac_webapp_base0/.rspec +1 -0
  307. data/sub/avm-eac_webapp_base0/.rubocop.yml +3 -0
  308. data/sub/avm-eac_webapp_base0/Gemfile +8 -0
  309. data/sub/avm-eac_webapp_base0/avm-eac_webapp_base0.gemspec +24 -0
  310. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/executables.rb +23 -0
  311. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/file_formats/css/file_apply.rb +44 -0
  312. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/file_formats/css.rb +17 -0
  313. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/file_formats/html.rb +42 -0
  314. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/file_formats/javascript.rb +19 -0
  315. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/file_formats/json.rb +25 -0
  316. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/file_formats/provider.rb +17 -0
  317. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/file_formats/xml.rb +23 -0
  318. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/apache_base.rb +28 -0
  319. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/apache_host.rb +72 -0
  320. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/apache_path.rb +37 -0
  321. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/base/apache.rb +42 -0
  322. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/base/deploy.rb +24 -0
  323. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/base/deploy_info.rb +27 -0
  324. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/base/install.rb +24 -0
  325. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/base.rb +37 -0
  326. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/deploy/appended_directories.rb +25 -0
  327. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/deploy/build.rb +45 -0
  328. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/deploy/info.rb +44 -0
  329. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/deploy/scm.rb +88 -0
  330. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/deploy/setup_files_unit.rb +53 -0
  331. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/deploy/write_on_target.rb +18 -0
  332. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/deploy.rb +70 -0
  333. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/deploy_info.rb +35 -0
  334. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/processes/web_server.rb +34 -0
  335. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/runners/apache_host.rb +34 -0
  336. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/runners/apache_path.rb +38 -0
  337. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/runners/deploy.rb +47 -0
  338. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/instances/runners/deploy_info.rb +24 -0
  339. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/sources/base.rb +13 -0
  340. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0/version.rb +7 -0
  341. data/sub/avm-eac_webapp_base0/lib/avm/eac_webapp_base0.rb +9 -0
  342. data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/css_spec.rb +7 -0
  343. data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/css_spec_files/css1.source.css +11 -0
  344. data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/css_spec_files/css1.target.css +11 -0
  345. data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/html_spec.rb +7 -0
  346. data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/html_spec_files/html_code.html.erb.source +8 -0
  347. data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/html_spec_files/html_code.html.erb.target +8 -0
  348. data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/html_spec_files/html_code.html.source +5 -0
  349. data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/html_spec_files/html_code.html.target +5 -0
  350. data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/javascript_spec.rb +7 -0
  351. data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/javascript_spec_files/javascript_code1.js.source +29 -0
  352. data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/javascript_spec_files/javascript_code1.js.target +21 -0
  353. data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/json_spec.rb +7 -0
  354. data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/json_spec_files/json_code.json.source +8 -0
  355. data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/json_spec_files/json_code.json.target +7 -0
  356. data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/xml_spec.rb +7 -0
  357. data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/xml_spec_files/xml_code.xml.source +11 -0
  358. data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/file_formats/xml_spec_files/xml_code.xml.target +9 -0
  359. data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/instances/base_spec.rb +11 -0
  360. data/sub/avm-eac_webapp_base0/spec/lib/avm/eac_webapp_base0/sources/base_spec.rb +7 -0
  361. data/sub/avm-eac_webapp_base0/spec/spec_helper.rb +5 -0
  362. data/sub/avm-eac_webapp_base0/template/avm/eac_webapp_base0/instances/apache_host/no_ssl.conf +11 -0
  363. data/sub/avm-eac_webapp_base0/template/avm/eac_webapp_base0/instances/apache_path/default.conf +7 -0
  364. data/sub/avm-eac_webapp_base0/template/avm/eac_webapp_base0/instances/deploy/.keep +1 -0
  365. data/sub/eac_docker/.avm.yaml +3 -0
  366. data/sub/eac_docker/.gitignore +2 -0
  367. data/sub/eac_docker/.gitrepo +7 -0
  368. data/sub/eac_docker/.rspec +1 -0
  369. data/sub/eac_docker/.rubocop.yml +3 -0
  370. data/sub/eac_docker/Gemfile +8 -0
  371. data/sub/eac_docker/eac_docker.gemspec +20 -0
  372. data/sub/eac_docker/lib/eac_docker/container.rb +83 -0
  373. data/sub/eac_docker/lib/eac_docker/debug.rb +13 -0
  374. data/sub/eac_docker/lib/eac_docker/executables.rb +15 -0
  375. data/sub/eac_docker/lib/eac_docker/images/base.rb +11 -0
  376. data/sub/eac_docker/lib/eac_docker/images/coded.rb +39 -0
  377. data/sub/eac_docker/lib/eac_docker/images/named.rb +26 -0
  378. data/sub/eac_docker/lib/eac_docker/images/templatized.rb +43 -0
  379. data/sub/eac_docker/lib/eac_docker/registry.rb +15 -0
  380. data/sub/eac_docker/lib/eac_docker/rspec/setup.rb +15 -0
  381. data/sub/eac_docker/lib/eac_docker/rspec/stub_image.rb +39 -0
  382. data/sub/eac_docker/lib/eac_docker/version.rb +5 -0
  383. data/sub/eac_docker/lib/eac_docker.rb +6 -0
  384. data/sub/eac_docker/spec/lib/eac_docker/executables_spec.rb +7 -0
  385. data/sub/eac_docker/spec/lib/eac_docker/images/coded_spec.rb +10 -0
  386. data/sub/eac_docker/spec/lib/eac_docker/images/coded_spec_files/image1/Dockerfile +1 -0
  387. data/sub/eac_docker/spec/lib/eac_docker/images/templatized_spec.rb +15 -0
  388. data/sub/eac_docker/spec/lib/eac_docker/images/templatized_spec_files/stub_docker_image/Dockerfile +1 -0
  389. data/sub/eac_docker/spec/spec_helper.rb +5 -0
  390. data/sub/eac_templates/.gitignore +2 -0
  391. data/sub/eac_templates/.gitrepo +7 -0
  392. data/sub/eac_templates/.rspec +1 -0
  393. data/sub/eac_templates/.rubocop.yml +3 -0
  394. data/sub/eac_templates/Gemfile +8 -0
  395. data/sub/eac_templates/README.textile +59 -0
  396. data/sub/eac_templates/eac_templates.gemspec +21 -0
  397. data/sub/eac_templates/lib/eac_templates/abstract/directory.rb +37 -0
  398. data/sub/eac_templates/lib/eac_templates/abstract/file.rb +20 -0
  399. data/sub/eac_templates/lib/eac_templates/abstract/fs_object.rb +95 -0
  400. data/sub/eac_templates/lib/eac_templates/abstract/fs_object_by_pathname.rb +11 -0
  401. data/sub/eac_templates/lib/eac_templates/abstract/with_directory_file_methods.rb +75 -0
  402. data/sub/eac_templates/lib/eac_templates/core_ext.rb +3 -0
  403. data/sub/eac_templates/lib/eac_templates/errors/not_found.rb +8 -0
  404. data/sub/eac_templates/lib/eac_templates/errors/type_mismatch.rb +8 -0
  405. data/sub/eac_templates/lib/eac_templates/interface_methods.rb +12 -0
  406. data/sub/eac_templates/lib/eac_templates/modules/ancestor/directory.rb +33 -0
  407. data/sub/eac_templates/lib/eac_templates/modules/ancestor/file.rb +59 -0
  408. data/sub/eac_templates/lib/eac_templates/modules/ancestor/fs_object.rb +23 -0
  409. data/sub/eac_templates/lib/eac_templates/modules/ancestor.rb +35 -0
  410. data/sub/eac_templates/lib/eac_templates/modules/base/directory.rb +68 -0
  411. data/sub/eac_templates/lib/eac_templates/modules/base/file.rb +27 -0
  412. data/sub/eac_templates/lib/eac_templates/modules/base/fs_object.rb +13 -0
  413. data/sub/eac_templates/lib/eac_templates/modules/base.rb +87 -0
  414. data/sub/eac_templates/lib/eac_templates/patches/module/eac_template.rb +8 -0
  415. data/sub/eac_templates/lib/eac_templates/patches/module/erb_template.rb +12 -0
  416. data/sub/eac_templates/lib/eac_templates/patches/object/eac_template.rb +7 -0
  417. data/sub/eac_templates/lib/eac_templates/patches/object/erb_template.rb +7 -0
  418. data/sub/eac_templates/lib/eac_templates/sources/directory.rb +33 -0
  419. data/sub/eac_templates/lib/eac_templates/sources/file.rb +9 -0
  420. data/sub/eac_templates/lib/eac_templates/sources/from_all_gems.rb +3 -0
  421. data/sub/eac_templates/lib/eac_templates/sources/from_gem.rb +35 -0
  422. data/sub/eac_templates/lib/eac_templates/sources/fs_object.rb +55 -0
  423. data/sub/eac_templates/lib/eac_templates/sources/internal_set.rb +24 -0
  424. data/sub/eac_templates/lib/eac_templates/sources/set.rb +57 -0
  425. data/sub/eac_templates/lib/eac_templates/sources/single.rb +32 -0
  426. data/sub/eac_templates/lib/eac_templates/variables/content.rb +49 -0
  427. data/sub/eac_templates/lib/eac_templates/variables/directory.rb +43 -0
  428. data/sub/eac_templates/lib/eac_templates/variables/file.rb +21 -0
  429. data/sub/eac_templates/lib/eac_templates/variables/fs_object.rb +63 -0
  430. data/sub/eac_templates/lib/eac_templates/variables/not_found_error.rb +7 -0
  431. data/sub/eac_templates/lib/eac_templates/variables/providers/base.rb +22 -0
  432. data/sub/eac_templates/lib/eac_templates/variables/providers/config_reader.rb +26 -0
  433. data/sub/eac_templates/lib/eac_templates/variables/providers/entries_reader.rb +23 -0
  434. data/sub/eac_templates/lib/eac_templates/variables/providers/generic.rb +23 -0
  435. data/sub/eac_templates/lib/eac_templates/variables/providers/hash.rb +27 -0
  436. data/sub/eac_templates/lib/eac_templates/variables/providers.rb +23 -0
  437. data/sub/eac_templates/lib/eac_templates/version.rb +5 -0
  438. data/sub/eac_templates/lib/eac_templates.rb +9 -0
  439. data/sub/eac_templates/spec/lib/eac_templates/modules/base/apply_spec.rb +23 -0
  440. data/sub/eac_templates/spec/lib/eac_templates/modules/base/apply_spec_files/a_module/a/a_a +1 -0
  441. data/sub/eac_templates/spec/lib/eac_templates/modules/base/apply_spec_files/a_module/a/a_b +1 -0
  442. data/sub/eac_templates/spec/lib/eac_templates/modules/base/apply_spec_files/a_module/b +1 -0
  443. data/sub/eac_templates/spec/lib/eac_templates/modules/base/apply_spec_files/a_module/c +1 -0
  444. data/sub/eac_templates/spec/lib/eac_templates/modules/base/apply_spec_files/prepended_module/a/a_d +1 -0
  445. data/sub/eac_templates/spec/lib/eac_templates/modules/base/apply_spec_files/prepended_module/c +1 -0
  446. data/sub/eac_templates/spec/lib/eac_templates/modules/base/apply_spec_files/prepended_module/d +1 -0
  447. data/sub/eac_templates/spec/lib/eac_templates/modules/base/apply_spec_files/sub_class/a/a_a +1 -0
  448. data/sub/eac_templates/spec/lib/eac_templates/modules/base/apply_spec_files/sub_class/a/a_b +1 -0
  449. data/sub/eac_templates/spec/lib/eac_templates/modules/base/apply_spec_files/sub_class/a/a_c +1 -0
  450. data/sub/eac_templates/spec/lib/eac_templates/modules/base/apply_spec_files/sub_class/a/a_d +1 -0
  451. data/sub/eac_templates/spec/lib/eac_templates/modules/base/apply_spec_files/sub_class/b +1 -0
  452. data/sub/eac_templates/spec/lib/eac_templates/modules/base/apply_spec_files/sub_class/c +1 -0
  453. data/sub/eac_templates/spec/lib/eac_templates/modules/base/apply_spec_files/sub_class/d +1 -0
  454. data/sub/eac_templates/spec/lib/eac_templates/modules/base/apply_spec_files/super_class/a/a_a +1 -0
  455. data/sub/eac_templates/spec/lib/eac_templates/modules/base/apply_spec_files/super_class/a/a_b +1 -0
  456. data/sub/eac_templates/spec/lib/eac_templates/modules/base/apply_spec_files/super_class/b +1 -0
  457. data/sub/eac_templates/spec/lib/eac_templates/modules/base/apply_spec_files/super_class/c +1 -0
  458. data/sub/eac_templates/spec/lib/eac_templates/modules/base/child_spec.rb +106 -0
  459. data/sub/eac_templates/spec/lib/eac_templates/patches/object/eac_template_spec.rb +31 -0
  460. data/sub/eac_templates/spec/lib/eac_templates/patches/object/eac_template_spec_files/path/my_stub_with_template +1 -0
  461. data/sub/eac_templates/spec/lib/eac_templates/sources/set_spec.rb +39 -0
  462. data/sub/eac_templates/spec/lib/eac_templates/sources/set_spec_files/path1/subdir1/file1.template +1 -0
  463. data/sub/eac_templates/spec/lib/eac_templates/sources/set_spec_files/path1/subdir1/file2 +1 -0
  464. data/sub/eac_templates/spec/lib/eac_templates/sources/set_spec_files/path2/subdir1/file3.template +1 -0
  465. data/sub/eac_templates/spec/lib/eac_templates/variables/content_spec.rb +32 -0
  466. data/sub/eac_templates/spec/lib/eac_templates/variables/content_spec_files/expected_content +2 -0
  467. data/sub/eac_templates/spec/lib/eac_templates/variables/content_spec_files/source.template +2 -0
  468. data/sub/eac_templates/spec/spec_helper/modules_resources_context.rb +45 -0
  469. data/sub/eac_templates/spec/spec_helper/modules_resources_context_files/path1/a_module/a/a_a +1 -0
  470. data/sub/eac_templates/spec/spec_helper/modules_resources_context_files/path1/a_module/b +1 -0
  471. data/sub/eac_templates/spec/spec_helper/modules_resources_context_files/path1/prepended_module/a/a_d.template +1 -0
  472. data/sub/eac_templates/spec/spec_helper/modules_resources_context_files/path1/sub_class/a/a_c +1 -0
  473. data/sub/eac_templates/spec/spec_helper/modules_resources_context_files/path1/super_class/a/a_b +1 -0
  474. data/sub/eac_templates/spec/spec_helper/modules_resources_context_files/path1/super_class/b +1 -0
  475. data/sub/eac_templates/spec/spec_helper/modules_resources_context_files/path2/a_module/a/a_b +1 -0
  476. data/sub/eac_templates/spec/spec_helper/modules_resources_context_files/path2/a_module/b +1 -0
  477. data/sub/eac_templates/spec/spec_helper/modules_resources_context_files/path2/a_module/c +1 -0
  478. data/sub/eac_templates/spec/spec_helper/modules_resources_context_files/path2/prepended_module/c +1 -0
  479. data/sub/eac_templates/spec/spec_helper/modules_resources_context_files/path2/prepended_module/d.template +1 -0
  480. data/sub/eac_templates/spec/spec_helper/modules_resources_context_files/path2/sub_class/a/a_d +1 -0
  481. data/sub/eac_templates/spec/spec_helper/modules_resources_context_files/path2/sub_class/b +1 -0
  482. data/sub/eac_templates/spec/spec_helper/modules_resources_context_files/path2/super_class/a/a_b +1 -0
  483. data/sub/eac_templates/spec/spec_helper/modules_resources_context_files/path2/super_class/b +1 -0
  484. data/sub/eac_templates/spec/spec_helper.rb +6 -0
  485. metadata +508 -10
@@ -0,0 +1,43 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EacTemplates
4
+ module Variables
5
+ class Directory
6
+ common_constructor :abstract_directory do
7
+ self.abstract_directory = ::EacTemplates::Abstract::Directory.assert(abstract_directory)
8
+ end
9
+ delegate :path, to: :abstract_directory
10
+
11
+ def apply(variables_source, directory)
12
+ ::EacTemplates::Variables::FsObject.new(self, '.', directory, variables_source).apply
13
+ end
14
+
15
+ def child(subpath)
16
+ child_path = ::File.join(path, subpath)
17
+ return ::EacTemplates::Variables::File.new(child_path) if ::File.file?(child_path)
18
+ return ::EacTemplates::Variables::Directory.new(child_path) if ::File.directory?(child_path)
19
+
20
+ raise ::EacTemplates::Errors::NotFound,
21
+ "Child \"#{subpath}\" from \"#{path}\" not found"
22
+ end
23
+
24
+ def children
25
+ path.children.map do |path_child|
26
+ child(path_child.basename.to_path)
27
+ end
28
+ end
29
+
30
+ private
31
+
32
+ def apply_fs_object(source_relative, target)
33
+ return unless ::File.directory?(source_absolute(source_relative))
34
+
35
+ apply_directory(source_relative, target)
36
+ end
37
+
38
+ def source_absolute(source_relative)
39
+ ::File.expand_path(source_relative, path)
40
+ end
41
+ end
42
+ end
43
+ end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EacTemplates
4
+ module Variables
5
+ class File
6
+ enable_simple_cache
7
+ common_constructor :abstract_file do
8
+ self.abstract_file = ::EacTemplates::Abstract::File.assert(abstract_file)
9
+ end
10
+ delegate :path, to: :abstract_file
11
+ delegate :apply, :apply_to_file, :content, :variables, to: :content_applier
12
+
13
+ private
14
+
15
+ # @return [EacTemplates::Variables::Content]
16
+ def content_applier_uncached
17
+ ::EacTemplates::Variables::Content.from_file(path)
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,63 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EacTemplates
4
+ module Variables
5
+ class FsObject
6
+ TEMPLATE_EXTNAME = '.template'
7
+
8
+ common_constructor :source_directory, :source_relative, :target_root_directory,
9
+ :variables_source
10
+
11
+ def apply
12
+ if file?
13
+ apply_file
14
+ elsif directory?
15
+ apply_directory
16
+ else
17
+ raise "Unknown filesystem type: #{source_absolute}"
18
+ end
19
+ end
20
+
21
+ private
22
+
23
+ def apply_directory
24
+ ::FileUtils.mkdir_p(target_absolute)
25
+ Dir.entries(source_absolute).each do |entry|
26
+ child(entry).apply unless %w[. ..].include?(entry)
27
+ end
28
+ end
29
+
30
+ def apply_file
31
+ if ::File.extname(source_absolute) == TEMPLATE_EXTNAME
32
+ ::EacTemplates::Variables::File.new(source_absolute).apply_to_file(
33
+ variables_source, target_absolute
34
+ )
35
+ else
36
+ ::FileUtils.cp(source_absolute, target_absolute)
37
+ end
38
+ end
39
+
40
+ def child(entry)
41
+ self.class.new(source_directory, ::File.join(source_relative, entry),
42
+ target_root_directory, variables_source)
43
+ end
44
+
45
+ def file?
46
+ ::File.file?(source_absolute)
47
+ end
48
+
49
+ def directory?
50
+ ::File.directory?(source_absolute)
51
+ end
52
+
53
+ def source_absolute
54
+ ::File.expand_path(source_relative, source_directory.path)
55
+ end
56
+
57
+ def target_absolute
58
+ ::File.expand_path(source_relative, target_root_directory)
59
+ .gsub(/#{::Regexp.quote(TEMPLATE_EXTNAME)}\z/, '')
60
+ end
61
+ end
62
+ end
63
+ end
@@ -0,0 +1,7 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EacTemplates
4
+ module Variables
5
+ class NotFoundError < StandardError; end
6
+ end
7
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EacTemplates
4
+ module Variables
5
+ module Providers
6
+ class Base
7
+ attr_reader :source
8
+
9
+ def initialize(source)
10
+ @source = source
11
+ end
12
+
13
+ def variable_value(name)
14
+ return variable_fetch(name) if variable_exist?(name)
15
+
16
+ raise ::EacTemplates::Variables::NotFoundError,
17
+ "Variable \"#{name}\" not found in #{source}"
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EacTemplates
4
+ module Variables
5
+ module Providers
6
+ class ConfigReader < ::EacTemplates::Variables::Providers::Base
7
+ class << self
8
+ def accept?(variables_source)
9
+ return false unless variables_source.respond_to?(:entry)
10
+
11
+ entry = variables_source.entry(:any_value)
12
+ entry.respond_to?(:value) && entry.respond_to?(:found?)
13
+ end
14
+ end
15
+
16
+ def variable_exist?(name)
17
+ source.entry(name).found?
18
+ end
19
+
20
+ def variable_fetch(name)
21
+ source.entry(name).value
22
+ end
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EacTemplates
4
+ module Variables
5
+ module Providers
6
+ class EntriesReader < ::EacTemplates::Variables::Providers::Base
7
+ class << self
8
+ def accept?(variables_source)
9
+ variables_source.respond_to?(:read_entry)
10
+ end
11
+ end
12
+
13
+ def variable_exist?(_name)
14
+ true
15
+ end
16
+
17
+ def variable_fetch(name)
18
+ source.read_entry(name)
19
+ end
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EacTemplates
4
+ module Variables
5
+ module Providers
6
+ class Generic < ::EacTemplates::Variables::Providers::Base
7
+ class << self
8
+ def accept?(variables_source)
9
+ variables_source.is_a?(::Object)
10
+ end
11
+ end
12
+
13
+ def variable_exist?(name)
14
+ source.respond_to?(name)
15
+ end
16
+
17
+ def variable_fetch(name)
18
+ source.send(name)
19
+ end
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,27 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EacTemplates
4
+ module Variables
5
+ module Providers
6
+ class Hash < ::EacTemplates::Variables::Providers::Base
7
+ class << self
8
+ def accept?(variables_source)
9
+ variables_source.is_a?(::Hash)
10
+ end
11
+ end
12
+
13
+ def initialize(source)
14
+ super(source.with_indifferent_access)
15
+ end
16
+
17
+ def variable_exist?(name)
18
+ source.key?(name)
19
+ end
20
+
21
+ def variable_fetch(name)
22
+ source.fetch(name)
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EacTemplates
4
+ module Variables
5
+ module Providers
6
+ require_sub __FILE__
7
+
8
+ PROVIDERS = %w[config_reader entries_reader hash generic].map do |name|
9
+ "eac_templates/variables/providers/#{name}".camelize.constantize
10
+ end
11
+
12
+ class << self
13
+ def build(variables_source)
14
+ PROVIDERS.each do |provider|
15
+ return provider.new(variables_source) if provider.accept?(variables_source)
16
+ end
17
+
18
+ raise "Variables provider not found for #{variables_source}"
19
+ end
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,5 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EacTemplates
4
+ VERSION = '0.9.0'
5
+ end
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_base1'
4
+ EacRubyBase1::RootModuleSetup.perform __FILE__ do
5
+ ignore 'core_ext'
6
+ ignore 'sources/from_all_gems'
7
+ require 'eac_config'
8
+ require 'eac_templates/core_ext'
9
+ end
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ RSpec.describe EacTemplates::Modules::Base, '#apply' do
4
+ include_context 'spec_paths', __FILE__
5
+ include_context 'with modules resouces'
6
+
7
+ %w[a_module prepended_module super_class sub_class].each do |module_variable|
8
+ context "when module is #{module_variable.classify}" do
9
+ let(:expected_path) { fixtures_directory.join(module_variable) }
10
+ let(:instance) { described_class.new(send(module_variable), source_set: source_set) }
11
+ let(:actual_path) { temp_dir }
12
+ let(:comparator) { EacFs::Comparator.new }
13
+
14
+ before do
15
+ instance.apply(variables_source, actual_path)
16
+ end
17
+
18
+ it do
19
+ expect(comparator.build(actual_path)).to eq(comparator.build(expected_path))
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1 @@
1
+ PREPENDED_MODULE.P2.C.%%vy%%%%vx%%
@@ -0,0 +1 @@
1
+ PREPENDED_MODULE.P2.C.%%vy%%%%vx%%
@@ -0,0 +1,106 @@
1
+ # frozen_string_literal: true
2
+
3
+ RSpec.describe EacTemplates::Modules::Base, '#child' do
4
+ include_context 'with modules resouces'
5
+
6
+ def self.on_node_specs(node_name, &block)
7
+ context "when object is \"#{node_name}\"" do
8
+ let(:node) { send(node_name) }
9
+
10
+ instance_eval(&block)
11
+ end
12
+ end
13
+
14
+ def self.dir_specs(node_name, expected_children)
15
+ on_node_specs(node_name) do
16
+ it do
17
+ expect(node.children.map { |child| child.basename.to_path }.sort).to(
18
+ eq(expected_children.sort)
19
+ )
20
+ end
21
+ end
22
+ end
23
+
24
+ def self.file_specs_ok(node_name, expected_content, expected_apply, # rubocop:disable Metrics/AbcSize
25
+ expected_variables)
26
+ on_node_specs(node_name) do
27
+ it { expect(node.content).to eq(expected_content) }
28
+ it { expect(node.variables).to eq(Set.new(expected_variables)) }
29
+ it { expect(node.apply(variables_source)).to eq(expected_apply) }
30
+
31
+ it do
32
+ target_file = temp_file
33
+ node.apply_to_file(variables_source, target_file)
34
+ expect(target_file.read).to eq(expected_apply)
35
+ end
36
+ end
37
+ end
38
+
39
+ def self.file_specs_error(node_name)
40
+ on_node_specs(node_name) do
41
+ it do
42
+ expect { node }.to raise_error(EacTemplates::Errors::NotFound)
43
+ end
44
+ end
45
+ end
46
+
47
+ let(:a) { instance.child('a') }
48
+ let(:a_a) { a.child('a_a') }
49
+ let(:a_b) { a.child('a_b') }
50
+ let(:a_c) { a.child('a_c') }
51
+ let(:b) { instance.child('b') }
52
+ let(:c) { instance.child('c') }
53
+ let(:d) { instance.child('d') }
54
+
55
+ context 'when module is AModule' do # rubocop:disable RSpec/EmptyExampleGroup
56
+ let(:instance) { described_class.new(a_module, source_set: source_set) }
57
+
58
+ dir_specs(:a, %w[a_a a_b])
59
+ file_specs_ok(:a_a, "A_MODULE.P1.A_A\n", "A_MODULE.P1.A_A\n", [])
60
+ file_specs_ok(:a_b, "A_MODULE.P2.A_B\n", "A_MODULE.P2.A_B\n", [])
61
+ file_specs_error(:a_c)
62
+ file_specs_ok(:b, "A_MODULE.P1.B.%%vy%%\n", "A_MODULE.P1.B._Y_\n", %w[vy])
63
+ file_specs_ok(:c, "A_MODULE.P2.C.%%vx%%\n", "A_MODULE.P2.C._X_\n", %w[vx])
64
+ file_specs_error(:d)
65
+ end
66
+
67
+ context 'when module is SuperClass' do # rubocop:disable RSpec/EmptyExampleGroup
68
+ let(:instance) { described_class.new(super_class, source_set: source_set) }
69
+
70
+ dir_specs(:a, %w[a_a a_b])
71
+ file_specs_ok(:a_a, "A_MODULE.P1.A_A\n", "A_MODULE.P1.A_A\n", [])
72
+ file_specs_ok(:a_b, "SUPER_CLASS.P1.A_B\n", "SUPER_CLASS.P1.A_B\n", [])
73
+ file_specs_error(:a_c)
74
+ file_specs_ok(:b, "SUPER_CLASS.P1.B\n", "SUPER_CLASS.P1.B\n", [])
75
+ file_specs_ok(:c, "A_MODULE.P2.C.%%vx%%\n", "A_MODULE.P2.C._X_\n", %w[vx])
76
+ file_specs_error(:d)
77
+ end
78
+
79
+ context 'when module is SubClass' do # rubocop:disable RSpec/EmptyExampleGroup
80
+ let(:instance) { described_class.new(sub_class, source_set: source_set) }
81
+
82
+ dir_specs(:a, %w[a_a a_b a_c a_d])
83
+ file_specs_ok(:a_a, "A_MODULE.P1.A_A\n", "A_MODULE.P1.A_A\n", [])
84
+ file_specs_ok(:a_b, "SUPER_CLASS.P1.A_B\n", "SUPER_CLASS.P1.A_B\n", [])
85
+ file_specs_ok(:a_c, "SUB_CLASS.P1.A_C\n", "SUB_CLASS.P1.A_C\n", [])
86
+ file_specs_ok(:b, "SUB_CLASS.P2.B\n", "SUB_CLASS.P2.B\n", [])
87
+ file_specs_ok(:c, "PREPENDED_MODULE.P2.C.%%vy%%%%vx%%\n", "PREPENDED_MODULE.P2.C._Y__X_\n",
88
+ %w[vy vx])
89
+ file_specs_ok(:d, "PREPENDED_MODULE.P2.D.%%vy%%%%vx%%\n", "PREPENDED_MODULE.P2.D._Y__X_\n",
90
+ %w[vy vx])
91
+ end
92
+
93
+ context 'when module is PrependedModule' do # rubocop:disable RSpec/EmptyExampleGroup
94
+ let(:instance) { described_class.new(prepended_module, source_set: source_set) }
95
+
96
+ dir_specs(:a, %w[a_d])
97
+ file_specs_error(:a_a)
98
+ file_specs_error(:a_b)
99
+ file_specs_error(:a_c)
100
+ file_specs_error(:b)
101
+ file_specs_ok(:c, "PREPENDED_MODULE.P2.C.%%vy%%%%vx%%\n", "PREPENDED_MODULE.P2.C._Y__X_\n",
102
+ %w[vy vx])
103
+ file_specs_ok(:d, "PREPENDED_MODULE.P2.D.%%vy%%%%vx%%\n", "PREPENDED_MODULE.P2.D._Y__X_\n",
104
+ %w[vy vx])
105
+ end
106
+ end
@@ -0,0 +1,31 @@
1
+ # frozen_string_literal: true
2
+
3
+ RSpec.describe Object, '#eac_template' do
4
+ let(:instance_class) do
5
+ Class.new do
6
+ def self.name
7
+ 'MyStubWithTemplate'
8
+ end
9
+ end
10
+ end
11
+ let(:instance) { instance_class.new }
12
+ let(:templates_path) { fixtures_directory.join('path') }
13
+
14
+ before do
15
+ EacTemplates::Sources::Set.default.included_paths.add(templates_path)
16
+ end
17
+
18
+ after do
19
+ EacTemplates::Sources::Set.default.included_paths.delete(templates_path)
20
+ end
21
+
22
+ include_examples 'spec_paths', __FILE__
23
+
24
+ EacTemplates::InterfaceMethods::FILE.each do |method_name|
25
+ it { expect(instance.eac_template).to respond_to(method_name) }
26
+ end
27
+
28
+ it do
29
+ expect(instance.eac_template.apply(the_var: 'friend')).to eq("Hello, friend!\n")
30
+ end
31
+ end
@@ -0,0 +1,39 @@
1
+ # frozen_string_literal: true
2
+
3
+ RSpec.describe EacTemplates::Sources::Set do
4
+ let(:files_dir) { File.join(__dir__, 'set_spec_files') }
5
+ let(:instance) do
6
+ r = described_class.new
7
+ r.included_paths << File.join(files_dir, 'path1')
8
+ r.included_paths << File.join(files_dir, 'path2')
9
+ r
10
+ end
11
+
12
+ describe '#template' do
13
+ {
14
+ 'subdir1' => :directory,
15
+ 'subdir1/file1.template' => :file,
16
+ 'subdir1/file2' => :file,
17
+ 'subdir1/file3.template' => :file,
18
+ 'does_not_exist' => :nil
19
+ }.each do |subpath, type|
20
+ context "when subpath is \"#{subpath}\"" do
21
+ let(:result) { instance.template(subpath, false) }
22
+
23
+ case type
24
+ when :nil
25
+ it { expect(result).to be_nil }
26
+ when :directory
27
+ EacTemplates::InterfaceMethods::DIRECTORY.each do |method_name|
28
+ it { expect(result).to respond_to(method_name) } # rubocop:disable RSpec/RepeatedExample
29
+ end
30
+ when :file
31
+ EacTemplates::InterfaceMethods::FILE.each do |method_name|
32
+ it { expect(result).to respond_to(method_name) } # rubocop:disable RSpec/RepeatedExample
33
+ end
34
+ else ibr
35
+ end
36
+ end
37
+ end
38
+ end
39
+ end
@@ -0,0 +1,32 @@
1
+ # frozen_string_literal: true
2
+
3
+ RSpec.describe EacTemplates::Variables::Content do
4
+ let(:files_dir) { File.join(__dir__, 'content_spec_files').to_pathname }
5
+ let(:source_path) { files_dir.join('source.template') }
6
+ let(:instance) { described_class.from_file(source_path) }
7
+ let(:expected_content) { File.read(File.join(files_dir, 'expected_content')) }
8
+
9
+ describe '#apply' do
10
+ context 'when config is a hash' do
11
+ let(:config) { { name: 'Fulano de Tal', age: 33 } }
12
+
13
+ it { expect(instance.apply(config)).to eq(expected_content) }
14
+ end
15
+
16
+ context 'when config responds to read_entry' do
17
+ let(:config) { EacConfig::OldConfigs.new('rspec_describe_eac_ruby_utils_templates_file') }
18
+
19
+ before do
20
+ config.clear
21
+ config['name'] = 'Fulano de Tal'
22
+ config['age'] = '33'
23
+ end
24
+
25
+ it { expect(instance.apply(config)).to eq(expected_content) }
26
+ end
27
+ end
28
+
29
+ describe '#variables' do
30
+ it { expect(instance.variables).to eq(Set.new(%w[name age])) }
31
+ end
32
+ end
@@ -0,0 +1,45 @@
1
+ # frozen_string_literal: true
2
+
3
+ RSpec.shared_context 'with modules resouces' do
4
+ let(:a_module) do
5
+ Module.new do
6
+ def self.name
7
+ 'AModule'
8
+ end
9
+ end
10
+ end
11
+ let(:super_class) do
12
+ r = Class.new do
13
+ def self.name
14
+ 'SuperClass'
15
+ end
16
+ end
17
+ r.include a_module
18
+ r
19
+ end
20
+ let(:prepended_module) do
21
+ Module.new do
22
+ def self.name
23
+ 'PrependedModule'
24
+ end
25
+ end
26
+ end
27
+ let(:sub_class) do
28
+ r = Class.new(super_class) do
29
+ def self.name
30
+ 'SubClass'
31
+ end
32
+ end
33
+ r.prepend(prepended_module)
34
+ r
35
+ end
36
+ let(:files_dir) { __dir__.to_pathname.join('modules_resources_context_files') }
37
+ let(:variables_source) { { vx: '_X_', vy: '_Y_' } }
38
+ let(:source_set) do
39
+ r = EacTemplates::Sources::Set.new
40
+ %w[path1 path2].each do |sub|
41
+ r.included_paths << files_dir.join(sub)
42
+ end
43
+ r
44
+ end
45
+ end