eac_tools 0.31.0 → 0.31.1

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 (254) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +21 -16
  3. data/lib/eac_tools/version.rb +1 -1
  4. data/sub/avm/avm.gemspec +3 -3
  5. data/sub/avm/lib/avm/entries/base/uri_components_entries_values/component_factory.rb +42 -0
  6. data/sub/avm/lib/avm/entries/base/uri_components_entries_values/generic_component.rb +52 -0
  7. data/sub/avm/lib/avm/entries/base/uri_components_entries_values/path_component.rb +19 -0
  8. data/sub/avm/lib/avm/entries/base/uri_components_entries_values/url_component.rb +28 -0
  9. data/sub/avm/lib/avm/entries/base/uri_components_entries_values.rb +25 -0
  10. data/sub/avm/lib/avm/entries/base.rb +7 -0
  11. data/sub/avm/lib/avm/entries/keys_constants_set.rb +43 -0
  12. data/sub/avm/lib/avm/instances/base/install.rb +24 -0
  13. data/sub/avm/lib/avm/instances/base/web.rb +16 -0
  14. data/sub/avm/lib/avm/instances/base.rb +1 -1
  15. data/sub/avm/lib/avm/instances/entry_keys.rb +2 -21
  16. data/sub/avm/lib/avm/version.rb +1 -1
  17. data/sub/avm/spec/lib/avm/instances/base_spec.rb +1 -1
  18. data/sub/avm-tools/avm-tools.gemspec +2 -2
  19. data/sub/avm-tools/lib/avm/tools/version.rb +1 -1
  20. data/sub/eac_git/Gemfile +8 -0
  21. data/sub/eac_git/eac_git.gemspec +20 -0
  22. data/sub/eac_git/lib/eac_git/executables.rb +48 -0
  23. data/sub/eac_git/lib/eac_git/local/branch.rb +27 -0
  24. data/sub/eac_git/lib/eac_git/local/commit/archive.rb +19 -0
  25. data/sub/eac_git/lib/eac_git/local/commit/changed_file.rb +46 -0
  26. data/sub/eac_git/lib/eac_git/local/commit/diff_tree_line.rb +32 -0
  27. data/sub/eac_git/lib/eac_git/local/commit.rb +73 -0
  28. data/sub/eac_git/lib/eac_git/local/dirty_files.rb +37 -0
  29. data/sub/eac_git/lib/eac_git/local/log.rb +17 -0
  30. data/sub/eac_git/lib/eac_git/local/remote.rb +27 -0
  31. data/sub/eac_git/lib/eac_git/local/remotes.rb +20 -0
  32. data/sub/eac_git/lib/eac_git/local/subrepo/config.rb +43 -0
  33. data/sub/eac_git/lib/eac_git/local/subrepo.rb +49 -0
  34. data/sub/eac_git/lib/eac_git/local.rb +127 -0
  35. data/sub/eac_git/lib/eac_git/remote/ls_result.rb +20 -0
  36. data/sub/eac_git/lib/eac_git/remote.rb +19 -0
  37. data/sub/eac_git/lib/eac_git/rspec/setup.rb +23 -0
  38. data/sub/eac_git/lib/eac_git/rspec/stubbed_git_local_repo.rb +71 -0
  39. data/sub/eac_git/lib/eac_git/rspec.rb +9 -0
  40. data/sub/eac_git/lib/eac_git/version.rb +5 -0
  41. data/sub/eac_git/lib/eac_git.rb +7 -0
  42. data/sub/eac_git/spec/lib/eac_git/executables_spec.rb +13 -0
  43. data/sub/eac_git/spec/lib/eac_git/local/commit/diff_tree_line_spec.rb +13 -0
  44. data/sub/eac_git/spec/lib/eac_git/local/commit/diff_tree_line_spec_files/add.source.out +1 -0
  45. data/sub/eac_git/spec/lib/eac_git/local/commit/diff_tree_line_spec_files/add.target.yaml +7 -0
  46. data/sub/eac_git/spec/lib/eac_git/local/commit/diff_tree_line_spec_files/modify.source.out +1 -0
  47. data/sub/eac_git/spec/lib/eac_git/local/commit/diff_tree_line_spec_files/modify.target.yaml +7 -0
  48. data/sub/eac_git/spec/lib/eac_git/local/commit/diff_tree_line_spec_files/remove.source.out +1 -0
  49. data/sub/eac_git/spec/lib/eac_git/local/commit/diff_tree_line_spec_files/remove.target.yaml +7 -0
  50. data/sub/eac_git/spec/lib/eac_git/local/commit/diff_tree_line_spec_files/rename.source.out +2 -0
  51. data/sub/eac_git/spec/lib/eac_git/local/commit/diff_tree_line_spec_files/rename.target.yaml +13 -0
  52. data/sub/eac_git/spec/lib/eac_git/local/commit/diff_tree_line_spec_files/rename_modify.source.out +2 -0
  53. data/sub/eac_git/spec/lib/eac_git/local/commit/diff_tree_line_spec_files/rename_modify.target.yaml +13 -0
  54. data/sub/eac_git/spec/lib/eac_git/local/commit_spec.rb +58 -0
  55. data/sub/eac_git/spec/rubocop_spec.rb +3 -0
  56. data/sub/eac_git/spec/spec_helper.rb +4 -0
  57. data/sub/eac_git/vendor/git-subrepo/Changes +110 -0
  58. data/sub/eac_git/vendor/git-subrepo/Intro.pod +509 -0
  59. data/sub/eac_git/vendor/git-subrepo/License +21 -0
  60. data/sub/eac_git/vendor/git-subrepo/Makefile +82 -0
  61. data/sub/eac_git/vendor/git-subrepo/Meta +28 -0
  62. data/sub/eac_git/vendor/git-subrepo/ReadMe.pod +698 -0
  63. data/sub/eac_git/vendor/git-subrepo/doc/comparison.swim +35 -0
  64. data/sub/eac_git/vendor/git-subrepo/doc/git-subrepo.swim +608 -0
  65. data/sub/eac_git/vendor/git-subrepo/doc/intro-to-subrepo.swim +387 -0
  66. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/Changes +15 -0
  67. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/License +21 -0
  68. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/Makefile +45 -0
  69. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/Meta +28 -0
  70. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/ReadMe.pod +77 -0
  71. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/bin/bash+ +43 -0
  72. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/doc/bash+.swim +61 -0
  73. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/lib/bash+.bash +92 -0
  74. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/man/man1/bash+.1 +134 -0
  75. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/man/man3/bash+.3 +134 -0
  76. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/test/base.t +12 -0
  77. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/test/fcopy.t +22 -0
  78. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/test/lib/foo/bar.bash +3 -0
  79. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/test/lib/foo/foo.bash +3 -0
  80. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/test/source-bash+-std.t +18 -0
  81. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/test/source-bash+.t +23 -0
  82. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/test/test.bash +70 -0
  83. data/sub/eac_git/vendor/git-subrepo/ext/bashplus/test/use.t +19 -0
  84. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/Changes +15 -0
  85. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/License +21 -0
  86. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/Makefile +20 -0
  87. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/Meta +30 -0
  88. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ReadMe.pod +115 -0
  89. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/doc/test-more.swim +89 -0
  90. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/Changes +15 -0
  91. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/License +21 -0
  92. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/Makefile +45 -0
  93. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/Meta +28 -0
  94. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/ReadMe.pod +77 -0
  95. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/bin/bash+ +43 -0
  96. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/doc/bash+.swim +61 -0
  97. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/lib/bash+.bash +92 -0
  98. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/man/man1/bash+.1 +134 -0
  99. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/man/man3/bash+.3 +134 -0
  100. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/test/base.t +12 -0
  101. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/test/fcopy.t +22 -0
  102. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/test/lib/foo/bar.bash +3 -0
  103. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/test/lib/foo/foo.bash +3 -0
  104. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/test/source-bash+-std.t +18 -0
  105. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/test/source-bash+.t +23 -0
  106. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/test/test.bash +70 -0
  107. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/bashplus/test/use.t +19 -0
  108. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/Changes +15 -0
  109. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/License +21 -0
  110. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/Makefile +37 -0
  111. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/Meta +28 -0
  112. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/ReadMe.pod +66 -0
  113. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/doc/test-tap.swim +48 -0
  114. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/lib/test/tap.bash +153 -0
  115. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/man/man3/test-tap.3 +119 -0
  116. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/bail_out.t +13 -0
  117. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/done.t +10 -0
  118. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/fail.t +20 -0
  119. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/fail_fast.t +15 -0
  120. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/helper.bash +9 -0
  121. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/pass.t +9 -0
  122. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/plan.t +10 -0
  123. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/skip_all.t +20 -0
  124. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/tap.t +13 -0
  125. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/test/bail.t +14 -0
  126. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/test/fail.t +7 -0
  127. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/test/fail_fast.t +12 -0
  128. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/test/skip-all-init.t +8 -0
  129. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/ext/test-tap-bash/test/test/skip-all-plan.t +9 -0
  130. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/lib/test/more.bash +95 -0
  131. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/man/man3/test-more.3 +173 -0
  132. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/test/fail.t +20 -0
  133. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/test/more.t +20 -0
  134. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/test/pass.t +9 -0
  135. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/test/setup +8 -0
  136. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/test/skip_all.t +11 -0
  137. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/test/test/fail1.t +12 -0
  138. data/sub/eac_git/vendor/git-subrepo/ext/test-more-bash/test/test/skip_all.t +10 -0
  139. data/sub/eac_git/vendor/git-subrepo/lib/git-subrepo +1903 -0
  140. data/sub/eac_git/vendor/git-subrepo/lib/git-subrepo.d/bash+.bash +1 -0
  141. data/sub/eac_git/vendor/git-subrepo/lib/git-subrepo.d/help-functions.bash +339 -0
  142. data/sub/eac_git/vendor/git-subrepo/man/man1/git-subrepo.1 +743 -0
  143. data/sub/eac_git/vendor/git-subrepo/note/0.4.0 +12 -0
  144. data/sub/eac_git/vendor/git-subrepo/note/AllGitCmds +148 -0
  145. data/sub/eac_git/vendor/git-subrepo/note/Cases +32 -0
  146. data/sub/eac_git/vendor/git-subrepo/note/Commands +33 -0
  147. data/sub/eac_git/vendor/git-subrepo/note/Dags +199 -0
  148. data/sub/eac_git/vendor/git-subrepo/note/Gists +7 -0
  149. data/sub/eac_git/vendor/git-subrepo/note/Links +25 -0
  150. data/sub/eac_git/vendor/git-subrepo/note/Plugins +10 -0
  151. data/sub/eac_git/vendor/git-subrepo/note/Spec +39 -0
  152. data/sub/eac_git/vendor/git-subrepo/note/Story1 +57 -0
  153. data/sub/eac_git/vendor/git-subrepo/note/ToDo +55 -0
  154. data/sub/eac_git/vendor/git-subrepo/note/design.swim +137 -0
  155. data/sub/eac_git/vendor/git-subrepo/note/design2.swim +85 -0
  156. data/sub/eac_git/vendor/git-subrepo/note/init-test +38 -0
  157. data/sub/eac_git/vendor/git-subrepo/note/pull-dance.txt +18 -0
  158. data/sub/eac_git/vendor/git-subrepo/note/recreate-rebase-conflict.sh +56 -0
  159. data/sub/eac_git/vendor/git-subrepo/note/subtree-rebase-fail-example/test.bash +29 -0
  160. data/sub/eac_git/vendor/git-subrepo/note/test-subrepo-push.sh +69 -0
  161. data/sub/eac_git/vendor/git-subrepo/note/test.sh +58 -0
  162. data/sub/eac_git/vendor/git-subrepo/pkg/bin/generate-completion.pl +210 -0
  163. data/sub/eac_git/vendor/git-subrepo/pkg/bin/generate-help-functions.pl +89 -0
  164. data/sub/eac_git/vendor/git-subrepo/share/completion.bash +42 -0
  165. data/sub/eac_git/vendor/git-subrepo/share/enable-completion.sh +50 -0
  166. data/sub/eac_git/vendor/git-subrepo/share/git-completion.bash +2738 -0
  167. data/sub/eac_git/vendor/git-subrepo/share/zsh-completion/_git-subrepo +81 -0
  168. data/sub/eac_git/vendor/git-subrepo/test/branch-all.t +41 -0
  169. data/sub/eac_git/vendor/git-subrepo/test/branch-rev-list-one-path.t +43 -0
  170. data/sub/eac_git/vendor/git-subrepo/test/branch-rev-list.t +47 -0
  171. data/sub/eac_git/vendor/git-subrepo/test/branch.t +52 -0
  172. data/sub/eac_git/vendor/git-subrepo/test/clean.t +43 -0
  173. data/sub/eac_git/vendor/git-subrepo/test/clone-annotated-tag.t +45 -0
  174. data/sub/eac_git/vendor/git-subrepo/test/clone.t +107 -0
  175. data/sub/eac_git/vendor/git-subrepo/test/compile.t +19 -0
  176. data/sub/eac_git/vendor/git-subrepo/test/config.t +58 -0
  177. data/sub/eac_git/vendor/git-subrepo/test/encode.t +91 -0
  178. data/sub/eac_git/vendor/git-subrepo/test/error.t +171 -0
  179. data/sub/eac_git/vendor/git-subrepo/test/fetch.t +43 -0
  180. data/sub/eac_git/vendor/git-subrepo/test/gitignore.t +61 -0
  181. data/sub/eac_git/vendor/git-subrepo/test/init.t +64 -0
  182. data/sub/eac_git/vendor/git-subrepo/test/issue29.t +98 -0
  183. data/sub/eac_git/vendor/git-subrepo/test/issue95.t +98 -0
  184. data/sub/eac_git/vendor/git-subrepo/test/issue96.t +96 -0
  185. data/sub/eac_git/vendor/git-subrepo/test/pull-all.t +38 -0
  186. data/sub/eac_git/vendor/git-subrepo/test/pull-merge.t +113 -0
  187. data/sub/eac_git/vendor/git-subrepo/test/pull-message.t +88 -0
  188. data/sub/eac_git/vendor/git-subrepo/test/pull-new-branch.t +58 -0
  189. data/sub/eac_git/vendor/git-subrepo/test/pull-ours.t +90 -0
  190. data/sub/eac_git/vendor/git-subrepo/test/pull-theirs.t +82 -0
  191. data/sub/eac_git/vendor/git-subrepo/test/pull-twice.t +44 -0
  192. data/sub/eac_git/vendor/git-subrepo/test/pull-worktree.t +40 -0
  193. data/sub/eac_git/vendor/git-subrepo/test/pull.t +99 -0
  194. data/sub/eac_git/vendor/git-subrepo/test/push-after-init.t +51 -0
  195. data/sub/eac_git/vendor/git-subrepo/test/push-force.t +56 -0
  196. data/sub/eac_git/vendor/git-subrepo/test/push-new-branch.t +61 -0
  197. data/sub/eac_git/vendor/git-subrepo/test/push-no-changes.t +29 -0
  198. data/sub/eac_git/vendor/git-subrepo/test/push-squash.t +56 -0
  199. data/sub/eac_git/vendor/git-subrepo/test/push.t +176 -0
  200. data/sub/eac_git/vendor/git-subrepo/test/reclone.t +45 -0
  201. data/sub/eac_git/vendor/git-subrepo/test/repo/bar/HEAD +1 -0
  202. data/sub/eac_git/vendor/git-subrepo/test/repo/bar/config +4 -0
  203. data/sub/eac_git/vendor/git-subrepo/test/repo/bar/objects/1f/0c4b264caed0126814a0ede851a1e0b4e16ae6 +0 -0
  204. data/sub/eac_git/vendor/git-subrepo/test/repo/bar/objects/87/46903fdb1b9c2101377880125917c2e05b4d69 +0 -0
  205. data/sub/eac_git/vendor/git-subrepo/test/repo/bar/objects/94/c86ffc745232d89f78c6f895e11e71272518db +0 -0
  206. data/sub/eac_git/vendor/git-subrepo/test/repo/bar/objects/c6/76c57b6576743fa56278527aa60ebd2e202a7c +0 -0
  207. data/sub/eac_git/vendor/git-subrepo/test/repo/bar/objects/e6/9de29bb2d1d6434b8b29ae775ad8c2e48c5391 +0 -0
  208. data/sub/eac_git/vendor/git-subrepo/test/repo/bar/objects/f6/2a8ff3feadf39b0a98f1a86ec6d1eb33858ee9 +0 -0
  209. data/sub/eac_git/vendor/git-subrepo/test/repo/bar/refs/heads/master +1 -0
  210. data/sub/eac_git/vendor/git-subrepo/test/repo/bar/refs/tags/A +1 -0
  211. data/sub/eac_git/vendor/git-subrepo/test/repo/foo/HEAD +1 -0
  212. data/sub/eac_git/vendor/git-subrepo/test/repo/foo/config +4 -0
  213. data/sub/eac_git/vendor/git-subrepo/test/repo/foo/objects/a0/f4cdaaf533a936296cdebbed8206c3b9ededa8 +0 -0
  214. data/sub/eac_git/vendor/git-subrepo/test/repo/foo/objects/e2/1291a1ad392a9d4c51dd9586804f1467b28afd +0 -0
  215. data/sub/eac_git/vendor/git-subrepo/test/repo/foo/objects/e6/9de29bb2d1d6434b8b29ae775ad8c2e48c5391 +0 -0
  216. data/sub/eac_git/vendor/git-subrepo/test/repo/foo/refs/heads/master +1 -0
  217. data/sub/eac_git/vendor/git-subrepo/test/repo/init/HEAD +1 -0
  218. data/sub/eac_git/vendor/git-subrepo/test/repo/init/config +5 -0
  219. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/11/523f5dcf03b4c89b592dc8a3d0308f68da2386 +0 -0
  220. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/14/2addf8ec5f37334e837440122c62f2c68a29ad +0 -0
  221. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/32/5180321750a21cd7a4e7ecda319e557a4f6a09 +2 -0
  222. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/3d/918c6901c02f43af5d31779dd5e1f9166aeb36 +0 -0
  223. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/3e/4cb596066dce63ba4d047abddb677389b65e19 +0 -0
  224. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/4b/6e53022e7a04f07887697e4f3d7c377fd9822b +0 -0
  225. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/58/931fc1bd559b59c41ea738fc7ad04f9ad01bd3 +0 -0
  226. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/5e/c0c28e1b806f25efdca18fcf7a74b49c3755bd +0 -0
  227. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/75/fa6584e748f57eff06eebdc55e9ac21d4fcbf2 +1 -0
  228. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/80/2d5edbd5e1cb7fca82b5bd38e7c8a0a496fb20 +0 -0
  229. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/94/7b3d714c38791e95ad6f928b48c98bb8708acd +0 -0
  230. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/95/e1f2df3f4d5f3d7a60588c25a7ca8a913d3c2a +1 -0
  231. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/b1/5f4a7666baf40d949548ead946a3370e273479 +0 -0
  232. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/c3/ee8978c4c5d84c3b7d00ba8e5906933d027882 +0 -0
  233. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/c8/b0bffbc405ef3fad7354ff833fbec36d67ddfa +3 -0
  234. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/dd/8bdb934ec848137f011fe423b185505c343626 +2 -0
  235. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/e2/9be58c767cfeb27235c995d293a7d71aac0135 +2 -0
  236. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/ee/1224401fc6aac595145fa727dcf6706ac8aec1 +1 -0
  237. data/sub/eac_git/vendor/git-subrepo/test/repo/init/objects/f1/cc1a657b2e805c400f5dcaaa76bd29c6178b1b +0 -0
  238. data/sub/eac_git/vendor/git-subrepo/test/repo/init/refs/heads/master +1 -0
  239. data/sub/eac_git/vendor/git-subrepo/test/setup +205 -0
  240. data/sub/eac_git/vendor/git-subrepo/test/status.t +68 -0
  241. data/sub/eac_git/vendor/git-subrepo/test/submodule.t +45 -0
  242. data/sub/eac_ruby_utils/eac_ruby_utils.gemspec +1 -1
  243. data/sub/eac_ruby_utils/lib/eac_ruby_utils/method_class.rb +4 -2
  244. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/{module → class}/method_class.rb +0 -0
  245. data/sub/eac_ruby_utils/lib/eac_ruby_utils/patches/class/static_method_class.rb +9 -0
  246. data/sub/eac_ruby_utils/lib/eac_ruby_utils/static_method_class.rb +12 -0
  247. data/sub/eac_ruby_utils/lib/eac_ruby_utils/version.rb +1 -1
  248. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/{module → class}/method_class_spec.rb +1 -1
  249. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/patches/class/static_method_class_spec.rb +20 -0
  250. data/sub/eac_ruby_utils/spec/lib/eac_ruby_utils/static_method_class_spec.rb +44 -0
  251. metadata +244 -13
  252. data/sub/avm/lib/avm/instances/base/auto_values/install.rb +0 -47
  253. data/sub/avm/lib/avm/instances/base/auto_values/web.rb +0 -46
  254. data/sub/avm-tools/lib/avm/tools/runner/eac_webapp_base0.rb +0 -14
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4ca7fa87db2c97ecf60dc93100760491b936f91d3d979a38953bbf2f1c9c964a
4
- data.tar.gz: ce07adf422abd3a143defcd747de05d527a605934dce9300bf8cf48b46195dc8
3
+ metadata.gz: 892682917367f717a0f078304525d17496c7212c3830629384e476d4ccbaa5f3
4
+ data.tar.gz: 9f3e28c9c3c5a94ca9c110e0fcaac8d5e3158248bb00d27797eb1855c2cee7e3
5
5
  SHA512:
6
- metadata.gz: 813cd67c73235bd826df76db57fc0711fd4a176a2ac601111cd3f5359a68d6c05ceeff179c4311f2ec51d5f8d4b79ce6e6413242e93b44a07507e9f87407f726
7
- data.tar.gz: 2e8042ef0bf14c1bc656f9735f978364ad51bf18c0330b0edd73f88ff75f078f37e48d39aeb9a498d72aee87af8e1662aefee29ba98db930a33b37041860b9ee
6
+ metadata.gz: f798e7f96fcb48382de6b4a17d83ded84ddaebc54a56636453821ee588749e1abec34eb74f1bd5d78a6399464db5a7c29f14365c2672538e3fa764caac5b4b91
7
+ data.tar.gz: 115edfd9cdd9b6e96bca831a1d3d984186665854422abbe24af41b653f2130b6ac1c6750b8faa6365b079f6e75065b05005b85cd7fa415417438b0d51e43cdc4
data/Gemfile.lock CHANGED
@@ -1,8 +1,8 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- eac_tools (0.31.0)
5
- avm (~> 0.43)
4
+ eac_tools (0.31.1)
5
+ avm (~> 0.44)
6
6
  avm-eac_asciidoctor_base0 (~> 0.7)
7
7
  avm-eac_generic_base0 (~> 0.5)
8
8
  avm-eac_latex_base0 (~> 0.2)
@@ -13,8 +13,8 @@ PATH
13
13
  avm-eac_ruby_base1 (~> 0.21)
14
14
  avm-eac_webapp_base0 (~> 0.8)
15
15
  avm-eac_wordpress_base0 (~> 0.2)
16
- avm-tools (~> 0.136, >= 0.136.1)
17
- eac_ruby_utils (~> 0.103)
16
+ avm-tools (~> 0.136, >= 0.136.2)
17
+ eac_ruby_utils (~> 0.104)
18
18
 
19
19
  PATH
20
20
  remote: sub/avm-eac_asciidoctor_base0
@@ -116,12 +116,12 @@ PATH
116
116
  PATH
117
117
  remote: sub/avm-tools
118
118
  specs:
119
- avm-tools (0.136.1)
119
+ avm-tools (0.136.2)
120
120
  aranha-parsers (~> 0.14, >= 0.14.3)
121
- avm (~> 0.42)
121
+ avm (~> 0.44)
122
122
  avm-eac_ruby_base1 (~> 0.21)
123
123
  avm-eac_ubuntu_base0 (~> 0.3)
124
- avm-files (~> 0.4)
124
+ avm-files (~> 0.4, >= 0.4.1)
125
125
  avm-git (~> 0.4)
126
126
  clipboard (~> 1.3, >= 1.3.6)
127
127
  curb (~> 0.9, >= 0.9.11)
@@ -134,13 +134,13 @@ PATH
134
134
  PATH
135
135
  remote: sub/avm
136
136
  specs:
137
- avm (0.43.0)
138
- eac_cli (~> 0.27, >= 0.27.8)
137
+ avm (0.44.0)
138
+ eac_cli (~> 0.28)
139
139
  eac_config (~> 0.11, >= 0.11.1)
140
140
  eac_docker (~> 0.4, >= 0.4.2)
141
141
  eac_git (~> 0.12, >= 0.12.2)
142
- eac_ruby_utils (~> 0.103)
143
- eac_templates (~> 0.3, >= 0.3.1)
142
+ eac_ruby_utils (~> 0.104)
143
+ eac_templates (~> 0.3, >= 0.3.2)
144
144
  filesize (~> 0.2)
145
145
  htmlbeautifier (~> 1.4, >= 1.4.2)
146
146
  minitar (~> 0.9)
@@ -175,6 +175,13 @@ PATH
175
175
  eac_ruby_utils (~> 0.70)
176
176
  ruby-filemagic
177
177
 
178
+ PATH
179
+ remote: sub/eac_git
180
+ specs:
181
+ eac_git (0.12.3)
182
+ eac_ruby_utils (~> 0.103)
183
+ parseconfig (~> 1.1, >= 1.1.2)
184
+
178
185
  PATH
179
186
  remote: sub/eac_ruby_base0
180
187
  specs:
@@ -187,9 +194,9 @@ PATH
187
194
  PATH
188
195
  remote: sub/eac_ruby_utils
189
196
  specs:
190
- eac_ruby_utils (0.103.0)
197
+ eac_ruby_utils (0.104.0)
191
198
  activesupport (>= 4, < 7)
192
- addressable (~> 2.8)
199
+ addressable (~> 2.8, >= 2.8.1)
193
200
  bundler
194
201
  filesize (~> 0.2)
195
202
  net-ssh (~> 4.2)
@@ -234,9 +241,6 @@ GEM
234
241
  parslet (~> 2.0)
235
242
  curb (0.9.11)
236
243
  diff-lcs (1.5.0)
237
- eac_git (0.12.2)
238
- eac_ruby_utils (~> 0.83)
239
- parseconfig (~> 1.0, >= 1.0.8)
240
244
  eac_rest (0.6.1)
241
245
  eac_ruby_utils (~> 0.70)
242
246
  eac_ruby_gem_support (0.5.1)
@@ -362,6 +366,7 @@ DEPENDENCIES
362
366
  eac_config!
363
367
  eac_docker!
364
368
  eac_fs!
369
+ eac_git!
365
370
  eac_ruby_base0!
366
371
  eac_ruby_gem_support (~> 0.5.1)
367
372
  eac_ruby_utils!
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module EacTools
4
- VERSION = '0.31.0'
4
+ VERSION = '0.31.1'
5
5
  end
data/sub/avm/avm.gemspec CHANGED
@@ -12,12 +12,12 @@ Gem::Specification.new do |s|
12
12
 
13
13
  s.files = Dir['{lib}/**/*']
14
14
 
15
- s.add_dependency 'eac_cli', '~> 0.27', '>= 0.27.8'
15
+ s.add_dependency 'eac_cli', '~> 0.28'
16
16
  s.add_dependency 'eac_config', '~> 0.11', '>= 0.11.1'
17
17
  s.add_dependency 'eac_docker', '~> 0.4', '>= 0.4.2'
18
18
  s.add_dependency 'eac_git', '~> 0.12', '>= 0.12.2'
19
- s.add_dependency 'eac_ruby_utils', '~> 0.103'
20
- s.add_dependency 'eac_templates', '~> 0.3', '>= 0.3.1'
19
+ s.add_dependency 'eac_ruby_utils', '~> 0.104'
20
+ s.add_dependency 'eac_templates', '~> 0.3', '>= 0.3.2'
21
21
  s.add_dependency 'filesize', '~> 0.2'
22
22
  s.add_dependency 'htmlbeautifier', '~> 1.4', '>= 1.4.2'
23
23
  s.add_dependency 'minitar', '~> 0.9'
@@ -0,0 +1,42 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/core_ext'
4
+
5
+ module Avm
6
+ module Entries
7
+ module Base
8
+ class UriComponentsEntriesValues
9
+ class ComponentFactory
10
+ enable_method_class
11
+ common_constructor :owner, :component
12
+
13
+ def result
14
+ component_class.new(owner, component)
15
+ end
16
+
17
+ def component_class
18
+ specific_class || generic_class
19
+ end
20
+
21
+ def generic_class
22
+ parent_class.const_get('GenericComponent')
23
+ end
24
+
25
+ def parent_class
26
+ ::Avm::Entries::Base::UriComponentsEntriesValues
27
+ end
28
+
29
+ def specific_class
30
+ return nil unless parent_class.const_defined?(specific_class_basename)
31
+
32
+ parent_class.const_get(specific_class_basename)
33
+ end
34
+
35
+ def specific_class_basename
36
+ [component, 'component'].join('_').camelize
37
+ end
38
+ end
39
+ end
40
+ end
41
+ end
42
+ end
@@ -0,0 +1,52 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/entries/uri_builder'
4
+ require 'eac_ruby_utils/core_ext'
5
+
6
+ module Avm
7
+ module Entries
8
+ module Base
9
+ class UriComponentsEntriesValues
10
+ class GenericComponent
11
+ common_constructor :owner, :component
12
+ delegate :entries_provider_class, :prefix, to: :owner
13
+
14
+ def auto_method_name
15
+ ['auto', component_method_name].join('_')
16
+ end
17
+
18
+ def component_method_name
19
+ [prefix, component].join('_')
20
+ end
21
+
22
+ def define_auto_method(&block)
23
+ entries_provider_class.define_method(auto_method_name, &block)
24
+ end
25
+
26
+ def define_inherited_value_proc_method(&block)
27
+ entries_provider_class.define_method(inherited_value_proc_name, &block)
28
+ end
29
+
30
+ def entry_key_path
31
+ ::EacConfig::EntryPath.assert([prefix, component])
32
+ end
33
+
34
+ def id_component
35
+ @id_component ||= owner.component_factory('id')
36
+ end
37
+
38
+ def inherited_value_proc_name
39
+ [component_method_name, 'inherited_value_proc'].join('_')
40
+ end
41
+
42
+ def setup
43
+ outer_self = self
44
+ define_auto_method do
45
+ uri_component_entry_value(outer_self.entry_key_path.to_string)
46
+ end
47
+ end
48
+ end
49
+ end
50
+ end
51
+ end
52
+ end
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/entries/base/uri_components_entries_values/generic_component'
4
+ require 'eac_ruby_utils/core_ext'
5
+
6
+ module Avm
7
+ module Entries
8
+ module Base
9
+ class UriComponentsEntriesValues
10
+ class PathComponent < ::Avm::Entries::Base::UriComponentsEntriesValues::GenericComponent
11
+ def setup
12
+ super
13
+ define_inherited_value_proc_method { |value| value + '/' + id }
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/entries/base/uri_components_entries_values/generic_component'
4
+ require 'eac_ruby_utils/core_ext'
5
+
6
+ module Avm
7
+ module Entries
8
+ module Base
9
+ class UriComponentsEntriesValues
10
+ class UrlComponent < ::Avm::Entries::Base::UriComponentsEntriesValues::GenericComponent
11
+ def setup
12
+ outer_self = self
13
+ define_auto_method do
14
+ inherited_entry_value(outer_self.id_component.entry_key_path.to_string,
15
+ outer_self.entry_key_path.to_string) ||
16
+ outer_self.auto_install_url_by_parts(self)
17
+ end
18
+ end
19
+
20
+ def auto_install_url_by_parts(entries_provider)
21
+ require 'avm/entries/auto_values/uri_entry'
22
+ ::Avm::Entries::AutoValues::UriEntry.new(entries_provider, 'install').value
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/entries/uri_builder'
4
+ require 'eac_ruby_utils/core_ext'
5
+
6
+ module Avm
7
+ module Entries
8
+ module Base
9
+ class UriComponentsEntriesValues
10
+ require_sub __FILE__
11
+ common_constructor :entries_provider_class, :prefix, :extra_fields
12
+
13
+ ENTRIES_FIELDS = ::Avm::Entries::UriBuilder::ENTRIES_FIELDS + %w[url]
14
+
15
+ def fields
16
+ ENTRIES_FIELDS + extra_fields
17
+ end
18
+
19
+ def result
20
+ fields.map { |field| component_factory(field).setup }
21
+ end
22
+ end
23
+ end
24
+ end
25
+ end
@@ -7,6 +7,13 @@ module Avm
7
7
  module Entries
8
8
  module Base
9
9
  require_sub __FILE__, require_dependency: true
10
+ common_concern
11
+
12
+ module ClassMethods
13
+ def uri_components_entries_values(prefix, extra_fields = [])
14
+ ::Avm::Entries::Base::UriComponentsEntriesValues.new(self, prefix, extra_fields).result
15
+ end
16
+ end
10
17
 
11
18
  def entries_provider_id
12
19
  id
@@ -0,0 +1,43 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/core_ext'
4
+
5
+ module Avm
6
+ module Entries
7
+ class KeysConstantsSet
8
+ common_constructor :entries_provider_class, :prefix, :suffixes
9
+
10
+ # @return [Array<String>]
11
+ def result
12
+ if suffixes.is_a?(::Hash)
13
+ keys_consts_set_from_hash
14
+ elsif suffixes.is_a?(::Enumerable)
15
+ keys_consts_set_from_enum
16
+ else
17
+ raise "Unmapped suffixes class: #{suffixes.class}"
18
+ end
19
+ end
20
+
21
+ private
22
+
23
+ # @return [String]
24
+ def key_const_set(prefix, suffix)
25
+ key = [prefix, suffix].reject(&:blank?).join('.')
26
+ entries_provider_class.const_set(key.gsub('.', '_').upcase, key)
27
+ key
28
+ end
29
+
30
+ # @return [Array<String>]
31
+ def keys_consts_set_from_enum
32
+ suffixes.map { |suffix| key_const_set(prefix, suffix) }
33
+ end
34
+
35
+ # @return [Array<String>]
36
+ def keys_consts_set_from_hash
37
+ suffixes.flat_map do |k, v|
38
+ self.class.new(entries_provider_class, prefix.to_s + (k.blank? ? '' : ".#{k}"), v).result
39
+ end
40
+ end
41
+ end
42
+ end
43
+ end
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'avm/entries/uri_builder'
4
+ require 'avm/instances/entry_keys'
5
+
6
+ module Avm
7
+ module Instances
8
+ class Base
9
+ module Install
10
+ common_concern do
11
+ uri_components_entries_values 'install', %w[data_path email groupname]
12
+ end
13
+
14
+ def install_data_path_inherited_value_proc(value)
15
+ value + '/' + id
16
+ end
17
+
18
+ def install_groupname_default_value
19
+ read_entry_optional(::Avm::Instances::EntryKeys::INSTALL_USERNAME)
20
+ end
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,16 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'addressable'
4
+ require 'avm/instances/entry_keys'
5
+
6
+ module Avm
7
+ module Instances
8
+ class Base
9
+ module Web
10
+ common_concern do
11
+ uri_components_entries_values 'web'
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
@@ -12,8 +12,8 @@ module Avm
12
12
  enable_abstract_methods
13
13
  enable_listable
14
14
  enable_simple_cache
15
- require_sub __FILE__, include_modules: true
16
15
  include ::Avm::Entries::Base
16
+ require_sub __FILE__, include_modules: true
17
17
  include ::Avm::With::ExtraSubcommands
18
18
  include ::Avm::With::ApplicationStereotype
19
19
 
@@ -1,5 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require 'avm/entries/keys_constants_set'
3
4
  require 'avm/entries/uri_builder'
4
5
  require 'eac_ruby_utils/core_ext'
5
6
 
@@ -14,19 +15,7 @@ module Avm
14
15
  end
15
16
 
16
17
  def keys_consts_set(prefix, suffixes)
17
- if suffixes.is_a?(::Hash)
18
- keys_consts_set_from_hash(prefix, suffixes)
19
- elsif suffixes.is_a?(::Enumerable)
20
- keys_consts_set_from_enum(prefix, suffixes)
21
- else
22
- raise "Unmapped suffixes class: #{suffixes.class}"
23
- end
24
- end
25
-
26
- def key_const_set(prefix, suffix)
27
- key = [prefix, suffix].reject(&:blank?).join('.')
28
- const_set(key.gsub('.', '_').upcase, key)
29
- all_keys << key
18
+ all_keys.merge(::Avm::Entries::KeysConstantsSet.new(self, prefix, suffixes).result)
30
19
  end
31
20
 
32
21
  private
@@ -34,14 +23,6 @@ module Avm
34
23
  def all_keys
35
24
  @all_keys ||= ::Set.new
36
25
  end
37
-
38
- def keys_consts_set_from_enum(prefix, suffixes)
39
- suffixes.each { |suffix| key_const_set(prefix, suffix) }
40
- end
41
-
42
- def keys_consts_set_from_hash(prefix, suffixes)
43
- suffixes.each { |k, v| keys_consts_set(prefix.to_s + (k.blank? ? '' : ".#{k}"), v) }
44
- end
45
26
  end
46
27
 
47
28
  {
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Avm
4
- VERSION = '0.43.0'
4
+ VERSION = '0.44.0'
5
5
  end
@@ -91,7 +91,7 @@ RSpec.describe ::Avm::Instances::Base do
91
91
 
92
92
  it do
93
93
  expect(described_class.ancestors.map(&:name)).to(
94
- include('Avm::Instances::Base::AutoValues::Install')
94
+ include('Avm::Instances::Base::Install')
95
95
  )
96
96
  end
97
97
 
@@ -15,10 +15,10 @@ Gem::Specification.new do |s|
15
15
  s.executables = s.files.grep(%r{^exe/}) { |f| File.basename(f) }
16
16
 
17
17
  s.add_dependency 'aranha-parsers', '~> 0.14', '>= 0.14.3'
18
- s.add_dependency 'avm', '~> 0.42'
18
+ s.add_dependency 'avm', '~> 0.44'
19
19
  s.add_dependency 'avm-eac_ruby_base1', '~> 0.21'
20
20
  s.add_dependency 'avm-eac_ubuntu_base0', '~> 0.3'
21
- s.add_dependency 'avm-files', '~> 0.4'
21
+ s.add_dependency 'avm-files', '~> 0.4', '>= 0.4.1'
22
22
  s.add_dependency 'avm-git', '~> 0.4'
23
23
  s.add_dependency 'clipboard', '~> 1.3', '>= 1.3.6'
24
24
  s.add_dependency 'curb', '~> 0.9', '>= 0.9.11'
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Avm
4
4
  module Tools
5
- VERSION = '0.136.1'
5
+ VERSION = '0.136.2'
6
6
  end
7
7
  end
@@ -0,0 +1,8 @@
1
+ # frozen_string_literal: true
2
+
3
+ source 'https://rubygems.org'
4
+
5
+ gemspec
6
+
7
+ local_gemfile = ::File.join(::File.dirname(__FILE__), 'Gemfile.local')
8
+ eval_gemfile local_gemfile if ::File.exist?(local_gemfile)
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ $LOAD_PATH.push File.expand_path('lib', __dir__)
4
+
5
+ require 'eac_git/version'
6
+
7
+ Gem::Specification.new do |s|
8
+ s.name = 'eac_git'
9
+ s.version = EacGit::VERSION
10
+ s.authors = ['Put here the authors']
11
+ s.summary = 'Put here de description.'
12
+
13
+ s.files = Dir['{lib,vendor}/**/*']
14
+
15
+ s.add_dependency 'eac_ruby_utils', '~> 0.103'
16
+ s.add_dependency 'parseconfig', '~> 1.1', '>= 1.1.2'
17
+
18
+ s.add_development_dependency 'aranha-parsers', '~> 0.8', '>= 0.8.2'
19
+ s.add_development_dependency 'eac_ruby_gem_support', '~> 0.5.1'
20
+ end
@@ -0,0 +1,48 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/core_ext'
4
+ require 'eac_ruby_utils/envs'
5
+
6
+ module EacGit
7
+ module Executables
8
+ class << self
9
+ include ::EacRubyUtils::SimpleCache
10
+
11
+ def env
12
+ ::EacRubyUtils::Envs.local
13
+ end
14
+
15
+ private
16
+
17
+ def git_uncached
18
+ r = env.executable('git', '--version')
19
+ r.extend(GitCommandExtensions)
20
+ r
21
+ end
22
+
23
+ def tar_uncached
24
+ env.executable('tar', '--version')
25
+ end
26
+
27
+ module GitCommandExtensions
28
+ def command(*args)
29
+ super(*args).envvar('PATH', path_with_git_subrepo)
30
+ end
31
+
32
+ def gem_root
33
+ '../..'.to_pathname.expand_path(__dir__)
34
+ end
35
+
36
+ def git_subrepo_root
37
+ gem_root.join('vendor', 'git-subrepo')
38
+ end
39
+
40
+ def path_with_git_subrepo
41
+ ([git_subrepo_root.join('lib').to_path] +
42
+ ENV['PATH'].if_present('').split(::File::PATH_SEPARATOR))
43
+ .join(::File::PATH_SEPARATOR)
44
+ end
45
+ end
46
+ end
47
+ end
48
+ end
@@ -0,0 +1,27 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/core_ext'
4
+
5
+ module EacGit
6
+ class Local
7
+ class Branch
8
+ REFS_PREFIX = 'refs/heads/'
9
+
10
+ common_constructor :local, :name
11
+
12
+ # @return [String]
13
+ def current_commit_id
14
+ local.rev_parse(full_ref_name, true)
15
+ end
16
+
17
+ # @return [Boolean]
18
+ def exist?
19
+ local.command('show-ref', '--quiet', full_ref_name).execute.fetch(:exit_code).zero?
20
+ end
21
+
22
+ def full_ref_name
23
+ "#{REFS_PREFIX}#{name}"
24
+ end
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/core_ext'
4
+
5
+ module EacGit
6
+ class Local
7
+ class Commit
8
+ module Archive
9
+ # @return [EacRubyUtils::Envs::Command]
10
+ def archive_to_dir(path)
11
+ path = path.to_pathname
12
+ repo.command('archive', '--format=tar', id).pipe(
13
+ ::EacGit::Executables.tar.command('-xC', path)
14
+ )
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,46 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_ruby_utils/core_ext'
4
+ require 'eac_git/local/commit/diff_tree_line'
5
+
6
+ module EacGit
7
+ class Local
8
+ class Commit
9
+ class ChangedFile
10
+ enable_simple_cache
11
+
12
+ attr_reader :commit, :diff_tree
13
+
14
+ # @param commit [EacGit::Local::Commit]
15
+ # @param diff_tree_line [String] A line from command "repo diff-tree --no-commit-id -r
16
+ # --full-index"'s output.
17
+ def initialize(commit, diff_tree_line)
18
+ @commit = commit
19
+ @diff_tree = ::EacGit::Local::Commit::DiffTreeLine.new(diff_tree_line)
20
+ end
21
+
22
+ delegate(*::EacGit::Local::Commit::DiffTreeLine::FIELDS, to: :diff_tree)
23
+
24
+ def to_s
25
+ "#{path}|#{status}"
26
+ end
27
+
28
+ def src_size_uncached
29
+ size(src_sha1)
30
+ end
31
+
32
+ def dst_size_uncached
33
+ size(dst_sha1)
34
+ end
35
+
36
+ private
37
+
38
+ def size(id)
39
+ return 0 if /\A0+\z/.match(id)
40
+
41
+ commit.repo.command('cat-file', '-s', id).execute!.strip.to_i
42
+ end
43
+ end
44
+ end
45
+ end
46
+ end