roro 0.3.28 → 0.3.30

Sign up to get free protection for your applications and to get access to all the features.
Files changed (158) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +24 -8
  3. data/.idea/.gitignore +8 -0
  4. data/.idea/inspectionProfiles/Project_Default.xml +6 -0
  5. data/.idea/misc.xml +4 -0
  6. data/.idea/modules.xml +8 -0
  7. data/.idea/roro.iml +116 -0
  8. data/.idea/vcs.xml +6 -0
  9. data/CODE_OF_CONDUCT.md +31 -77
  10. data/lib/roro/cli/generate/generate_containers.rb +0 -5
  11. data/lib/roro/cli.rb +8 -8
  12. data/lib/roro/configurators/adventure_chooser.rb +1 -0
  13. data/lib/roro/configurators/adventure_picker.rb +1 -0
  14. data/lib/roro/configurators/adventure_writer.rb +4 -1
  15. data/lib/roro/configurators/configurator.rb +15 -8
  16. data/lib/roro/configurators/dependency_satisfier.rb +136 -0
  17. data/lib/roro/configurators/question_asker.rb +3 -3
  18. data/lib/roro/configurators/structure_builder.rb +2 -0
  19. data/lib/roro/configurators/validator.rb +2 -0
  20. data/lib/roro/dependencies/base.yml +90 -0
  21. data/lib/roro/stacks/catalog/unstoppable/developer_styles/fatsufodo/stories/django/_django.yml +7 -0
  22. data/lib/roro/stacks/catalog/unstoppable/developer_styles/fatsufodo/stories/django/django.yml +2 -8
  23. data/lib/roro/stacks/catalog/unstoppable/developer_styles/fatsufodo/stories/django/test/stage_one/stage_one_test.rb +1 -1
  24. data/lib/roro/stacks/catalog/unstoppable/developer_styles/okonomi/{stories/roll_your_own/templates/stage_one/%interpolated_stack_path%/%interpolated_story_name%.yml.tt → languages/python/python.yml} +0 -0
  25. data/lib/roro/stacks/catalog/unstoppable/developer_styles/okonomi/{stories/roll_your_own/templates/stage_one/%interpolated_stack_path% → languages/python}/templates/stage_one/.keep +0 -0
  26. data/lib/roro/stacks/catalog/unstoppable/developer_styles/okonomi/{stories/roll_your_own/templates/stage_one/%interpolated_stack_path% → languages/python}/test/.keep +0 -0
  27. data/lib/roro/stacks/catalog/unstoppable/developer_styles/okonomi/{stories/roll_your_own/templates/stage_one/%interpolated_stack_path% → languages/python}/test/stage_one/.keep +0 -0
  28. data/lib/roro/stacks/catalog/unstoppable/developer_styles/okonomi/{stories/roll_your_own/templates/stage_one/%interpolated_stack_path% → languages/python}/test/stage_one/stage_dummy/.keep +0 -0
  29. data/lib/roro/stacks/catalog/unstoppable/developer_styles/okonomi/languages/python/test/stage_one/stage_test.rb +42 -0
  30. data/lib/roro/stacks/catalog/unstoppable/developer_styles/okonomi/languages/ruby/ruby.yml +10 -0
  31. data/lib/roro/stacks/catalog/unstoppable/developer_styles/okonomi/languages/ruby/stories/rails/rails.yml +36 -0
  32. data/lib/roro/stacks/catalog/unstoppable/developer_styles/okonomi/{stories/roll_your_own/test/stage_one/dummy → languages/ruby/stories/rails/templates/stage_one}/.keep +0 -0
  33. data/lib/roro/stacks/catalog/unstoppable/developer_styles/okonomi/languages/ruby/stories/rails/templates/stage_one/Dockerfile.tt +26 -0
  34. data/lib/roro/stacks/catalog/unstoppable/developer_styles/okonomi/languages/ruby/stories/rails/versions/6_1/6_1.yml +44 -0
  35. data/lib/roro/stacks/catalog/unstoppable/developer_styles/okonomi/languages/ruby/stories/rails/versions/6_1/templates/stage_one/.env +6 -0
  36. data/lib/roro/stacks/catalog/unstoppable/developer_styles/okonomi/languages/ruby/stories/rails/versions/6_1/templates/stage_one/Dockerfile.tt +28 -0
  37. data/lib/roro/stacks/catalog/unstoppable/developer_styles/okonomi/languages/ruby/stories/rails/versions/6_1/templates/stage_one/config/database.yml +19 -0
  38. data/lib/roro/stacks/catalog/unstoppable/developer_styles/okonomi/languages/ruby/stories/rails/versions/6_1/templates/stage_one/config/initializers/sidekiq.rb +13 -0
  39. data/lib/roro/stacks/catalog/unstoppable/developer_styles/okonomi/languages/ruby/stories/rails/versions/6_1/templates/stage_one/docker-compose.yml.tt +57 -0
  40. data/lib/roro/stacks/catalog/unstoppable/developer_styles/{sashimi/stories/django/test/stage_one/dummy → okonomi/languages/ruby/stories/rails/versions/6_1/templates/stage_one/entrypoints}/.keep +0 -0
  41. data/lib/roro/stacks/catalog/unstoppable/developer_styles/okonomi/languages/ruby/stories/rails/versions/6_1/templates/stage_one/entrypoints/docker-entrypoint.sh +9 -0
  42. data/lib/roro/stacks/catalog/unstoppable/developer_styles/okonomi/languages/ruby/stories/rails/versions/6_1/templates/stage_one/entrypoints/sidekiq-entrypoint.sh +9 -0
  43. data/lib/roro/stacks/catalog/unstoppable/developer_styles/{sashimi/stories/django/test/stage_two/dummy → okonomi/languages/ruby/stories/rails/versions/6_1/test}/.keep +0 -0
  44. data/lib/roro/stacks/catalog/unstoppable/developer_styles/{sashimi/stories/rails/templates/stage_one/Gemfile.lock.tt → okonomi/languages/ruby/stories/rails/versions/6_1/test/stage_one/.keep} +0 -0
  45. data/lib/roro/stacks/catalog/unstoppable/developer_styles/okonomi/languages/ruby/stories/rails/versions/6_1/test/stage_one/stage_dummy/.keep +0 -0
  46. data/lib/roro/stacks/catalog/unstoppable/developer_styles/okonomi/languages/ruby/stories/rails/versions/6_1/test/stage_one/stage_dummy/Gemfile +66 -0
  47. data/lib/roro/stacks/catalog/unstoppable/developer_styles/okonomi/languages/ruby/stories/rails/versions/6_1/test/stage_one/stage_test.rb +38 -0
  48. data/lib/roro/stacks/catalog/unstoppable/developer_styles/okonomi/languages/ruby/stories/rails/versions/7_0/7_0.yml +38 -0
  49. data/lib/roro/stacks/catalog/unstoppable/developer_styles/okonomi/languages/ruby/stories/rails/versions/7_0/templates/stage_one/.env +6 -0
  50. data/lib/roro/stacks/catalog/unstoppable/developer_styles/okonomi/languages/ruby/stories/rails/versions/7_0/templates/stage_one/Dockerfile.tt +28 -0
  51. data/lib/roro/stacks/catalog/unstoppable/developer_styles/okonomi/languages/ruby/stories/rails/versions/7_0/templates/stage_one/config/database.yml +19 -0
  52. data/lib/roro/stacks/catalog/unstoppable/developer_styles/okonomi/languages/ruby/stories/rails/versions/7_0/templates/stage_one/config/initializers/sidekiq.rb +13 -0
  53. data/lib/roro/stacks/catalog/unstoppable/developer_styles/okonomi/languages/ruby/stories/rails/versions/7_0/templates/stage_one/docker-compose.yml.tt +57 -0
  54. data/lib/roro/stacks/catalog/unstoppable/developer_styles/okonomi/languages/ruby/stories/rails/versions/7_0/templates/stage_one/entrypoints/.keep +0 -0
  55. data/lib/roro/stacks/catalog/unstoppable/developer_styles/okonomi/languages/ruby/stories/rails/versions/7_0/templates/stage_one/entrypoints/docker-entrypoint.sh +9 -0
  56. data/lib/roro/stacks/catalog/unstoppable/developer_styles/okonomi/languages/ruby/stories/rails/versions/7_0/templates/stage_one/entrypoints/sidekiq-entrypoint.sh +9 -0
  57. data/lib/roro/stacks/catalog/unstoppable/developer_styles/okonomi/languages/ruby/stories/rails/versions/7_0/test/.keep +0 -0
  58. data/lib/roro/stacks/catalog/unstoppable/developer_styles/okonomi/languages/ruby/stories/rails/versions/7_0/test/stage_one/.keep +0 -0
  59. data/lib/roro/stacks/catalog/unstoppable/developer_styles/okonomi/languages/ruby/stories/rails/versions/7_0/test/stage_one/stage_dummy/.keep +0 -0
  60. data/lib/roro/stacks/catalog/unstoppable/developer_styles/okonomi/languages/ruby/stories/rails/versions/7_0/test/stage_one/stage_dummy/Gemfile +66 -0
  61. data/lib/roro/stacks/catalog/unstoppable/developer_styles/okonomi/languages/ruby/stories/rails/versions/7_0/test/stage_one/stage_test.rb +37 -0
  62. data/lib/roro/stacks/catalog/unstoppable/developer_styles/okonomi/okonomi.yml +4 -1
  63. data/lib/roro/stacks/catalog/unstoppable/developer_styles/okonomi/templates/stage_one/.dockerignore +18 -0
  64. data/lib/roro/stacks/catalog/unstoppable/developer_styles/omakase/stories/wordpress/templates/stage_one/.env +1 -1
  65. data/lib/roro/stacks/catalog/unstoppable/developer_styles/omakase/stories/wordpress/test/stage_one/stage_test.rb +2 -10
  66. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/sashimi.yml +1 -1
  67. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/kubernetes/stories/ingress/stories/nginx/stories/cert-manager/cert-manager.yml +32 -0
  68. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/kubernetes/stories/ingress/stories/nginx/stories/cert-manager/templates/stage_1/.keep +0 -0
  69. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/kubernetes/stories/ingress/stories/nginx/stories/cert-manager/templates/stage_1/echo1.yaml +32 -0
  70. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/kubernetes/stories/ingress/stories/nginx/stories/cert-manager/templates/stage_1/echo2.yaml +32 -0
  71. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/kubernetes/stories/ingress/stories/nginx/stories/cert-manager/templates/stage_1/echo_ingress.yaml.tt +18 -0
  72. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/kubernetes/stories/ingress/stories/nginx/stories/cert-manager/templates/stage_1/prod_issuer.yaml.tt +19 -0
  73. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/kubernetes/stories/ingress/stories/nginx/stories/cert-manager/templates/stage_1/staging_issuer.yaml.tt +19 -0
  74. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/kubernetes/stories/ingress/stories/nginx/stories/cert-manager/templates/stage_2/echo_ingress.yaml.tt +25 -0
  75. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/kubernetes/stories/ingress/stories/nginx/stories/cert-manager/templates/stage_3/echo_ingress.yaml.tt +25 -0
  76. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/kubernetes/stories/ingress/stories/nginx/stories/cert-manager/templates/stage_3/ingress_nginx_svc.yaml.tt +31 -0
  77. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/kubernetes/stories/ingress/stories/nginx/stories/cert-manager/test/.keep +0 -0
  78. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/kubernetes/stories/ingress/stories/nginx/stories/cert-manager/test/stage_one/.keep +0 -0
  79. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/kubernetes/stories/ingress/stories/nginx/stories/cert-manager/test/stage_one/stage_dummy/.keep +0 -0
  80. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/kubernetes/stories/ingress/stories/nginx/stories/cert-manager/test/stage_one/stage_test.rb +32 -0
  81. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/rails/rails.yml +48 -9
  82. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/rails/templates/stage_one/.env +4 -0
  83. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/rails/templates/stage_one/.gitignore +55 -0
  84. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/rails/templates/stage_one/.keep +0 -0
  85. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/rails/templates/stage_one/docker-compose.yml.tt +36 -12
  86. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/rails/templates/stage_one/k8s/.keep +0 -0
  87. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/rails/templates/stage_one/k8s/app-deployment.yaml.tt +72 -0
  88. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/rails/templates/stage_one/k8s/app-service.yaml.tt +20 -0
  89. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/rails/templates/stage_one/k8s/database-deployment.yaml.tt +59 -0
  90. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/rails/templates/stage_one/k8s/database-service.yaml.tt +19 -0
  91. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/rails/templates/stage_one/k8s/db-data-persistentvolumeclaim.yaml.tt +14 -0
  92. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/rails/templates/stage_one/k8s/env-configmap.yaml.tt +12 -0
  93. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/rails/templates/stage_one/k8s/redis-deployment.yaml.tt +33 -0
  94. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/rails/templates/stage_one/k8s/redis-service.yaml.tt +19 -0
  95. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/rails/templates/stage_one/k8s/secret.yaml.tt +11 -0
  96. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/rails/templates/stage_one/k8s/sidekiq-deployment.yaml.tt +56 -0
  97. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/rails/test/.keep +0 -0
  98. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/rails/test/stage_one/.keep +0 -0
  99. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/rails/test/stage_one/stage_dummy/.keep +0 -0
  100. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/rails/test/stage_one/stage_test.rb +33 -0
  101. data/lib/roro/stacks/catalog/unstoppable/developer_styles/{okonomi → sashimi}/stories/roll_your_own/roll_your_own.yml +1 -0
  102. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/roll_your_own/templates/stage_one/%interpolated_stack_path%/%interpolated_story_name%.yml.tt +10 -0
  103. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/roll_your_own/templates/stage_one/%interpolated_stack_path%/templates/stage_one/.keep +0 -0
  104. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/roll_your_own/templates/stage_one/%interpolated_stack_path%/test/.keep +0 -0
  105. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/roll_your_own/templates/stage_one/%interpolated_stack_path%/test/stage_one/.keep +0 -0
  106. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/roll_your_own/templates/stage_one/%interpolated_stack_path%/test/stage_one/stage_dummy/.keep +0 -0
  107. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/roll_your_own/templates/stage_one/%interpolated_stack_path%/test/stage_one/stage_test.rb.tt +41 -0
  108. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/roll_your_own/templates/stage_one/.gitignore.tt +55 -0
  109. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/roll_your_own/test/stage_one/dummy/.keep +0 -0
  110. data/lib/roro/stacks/catalog/unstoppable/developer_styles/{okonomi → sashimi}/stories/roll_your_own/test/stage_one/stage_one_test.rb +2 -1
  111. data/lib/roro/version.rb +1 -1
  112. data/lib/roro.rb +4 -10
  113. data/mise/containers/backend/env/.keep +0 -0
  114. data/mise/containers/backend/scripts/.keep +0 -0
  115. data/mise/containers/database/env/.keep +0 -0
  116. data/mise/containers/database/scripts/.keep +0 -0
  117. data/mise/containers/frontend/env/.keep +0 -0
  118. data/mise/containers/frontend/scripts/.keep +0 -0
  119. data/mise/scripts/.keep +0 -0
  120. data/roro.gemspec +3 -3
  121. metadata +115 -72
  122. data/.ruby-version +0 -1
  123. data/lib/roro/cli/roll_your_own.rb +0 -12
  124. data/lib/roro/configurator.rb +0 -15
  125. data/lib/roro/stacks/catalog/unstoppable/developer_styles/okonomi/stories/roll_your_own/templates/stage_one/%interpolated_stack_path%/test/stage_one/stage_test.rb.tt +0 -37
  126. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/django/django.yml +0 -36
  127. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/django/templates/stage_one/Dockerfile.tt +0 -7
  128. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/django/templates/stage_one/docker-compose.yml.tt +0 -20
  129. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/django/templates/stage_one/requirements.txt.tt +0 -2
  130. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/django/templates/stage_two/settings.py +0 -130
  131. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/django/test/stage_one/stage_one_test.rb +0 -37
  132. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/expressjs/expressjs.yml +0 -7
  133. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/expressjs/templates/stage_one/Dockerfile.tt +0 -14
  134. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/expressjs/templates/stage_one/docker-compose.yml.tt +0 -21
  135. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/rails/templates/stage_one/Dockerfile.tt +0 -16
  136. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/rails/templates/stage_one/Gemfile.tt +0 -2
  137. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/rails/templates/stage_one/entrypoint.sh +0 -8
  138. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/rails/templates/stage_two/database.yml.tt +0 -16
  139. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/roro/templates/__MACOSX/scripts/._.DS_Store +0 -0
  140. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/roro/templates/scripts/.DS_Store +0 -0
  141. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/roro/templates/scripts/base/bundler.sh +0 -22
  142. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/roro/templates/scripts/base/git.sh +0 -21
  143. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/roro/templates/scripts/base/rvm.sh +0 -38
  144. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/roro/templates/scripts/base/utilities.sh +0 -53
  145. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/roro/templates/scripts/base.sh +0 -6
  146. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/roro/templates/scripts/initialize/clone_idea.sh +0 -14
  147. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/roro/templates/scripts/initialize/clone_repos.sh +0 -33
  148. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/roro/templates/scripts/initialize/install_correct_bundler.sh +0 -21
  149. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/roro/templates/scripts/initialize/install_rubies.sh +0 -6
  150. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/roro/templates/scripts/initialize.sh +0 -18
  151. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/roro/templates/scripts/roro.sh +0 -15
  152. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/roro/templates/scripts/source.sh +0 -28
  153. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/roro/templates/scripts/utility/bundle_all.sh +0 -12
  154. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/roro/templates/scripts/utility/git_pull_all.sh +0 -15
  155. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/roro/templates/scripts/utility/rvm_install_all.sh +0 -12
  156. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/roro/templates/scripts/utility/yarn_install_all.sh +0 -10
  157. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/wordpress/templates/stage_one/docker-compose.yml.tt +0 -31
  158. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/wordpress/wordpress.yml +0 -16
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 19be35517b076c033f63af8c5ce2663976a44c0985ae01e2b385a1e3185ace88
4
- data.tar.gz: 363daa801e5edbbb26457cd10dd595a136651354e92a013501d480686e4a372a
3
+ metadata.gz: 0f77094ee08c2da1aa1ada4646dd962af212dcc1ececb8ed0367199748324d25
4
+ data.tar.gz: 4d4463bd29b65c0bb29f7b031d64731204125a662e5674c65e5728efaa4e7153
5
5
  SHA512:
6
- metadata.gz: 0a7d48d17152790425c6eb85a18373dca236adb2b9535f41ac32fbb152eb1bcccf6be260bd343a0c52fc8914edf40044bb2e49f5fbd3a7c358a7df8960faf2d5
7
- data.tar.gz: 3d34abd1258190792277d4e0a3fb8ddef2cf33aecc48d46d766a8aae411713ce232ee666ffef8b2c834cf73b4400f884530503aa6ed69f992d2fd9964623038f
6
+ metadata.gz: c44d71a46941d6d941ebc22c30be2249b1fbd929eff11ee8ab2b0592ef9719cbc20dd1ac5d420d808edca76b049ff2b422ec0a9c7bec6cb2ca13ebdcd03fcc51
7
+ data.tar.gz: 542c821b8a53f59ff9d497802f0cae72cd92a0c5cfff4860a4e6c3c564b763a4325f0d568b5561fdb24c3e2791cef51e88782c157dc06d6934494749e9f93707
data/.circleci/config.yml CHANGED
@@ -25,7 +25,7 @@ defaults: &defaults
25
25
  major_only: &major_only
26
26
  filters:
27
27
  branches:
28
- only: master
28
+ only: main
29
29
 
30
30
  release: &release
31
31
  filters:
@@ -43,7 +43,7 @@ commands:
43
43
  steps:
44
44
  - run: |
45
45
  rake install &&
46
- printf "<< parameters.answers >>\ny\ny\ny\ny\ny\ny\ny$var\n" | roro rollon
46
+ printf "<< parameters.answers >>\na$var\n" | roro rollon
47
47
  - run: echo 'success'
48
48
 
49
49
  jobs:
@@ -52,7 +52,7 @@ jobs:
52
52
  steps:
53
53
  - checkout
54
54
 
55
- test-against-ruby:
55
+ test:
56
56
  parameters:
57
57
  version:
58
58
  description: "version tag"
@@ -71,7 +71,7 @@ jobs:
71
71
  parameters:
72
72
  answers:
73
73
  type: string
74
- default: "1\n4"
74
+ default: 1\1
75
75
  os:
76
76
  type: executor
77
77
  default: linux
@@ -82,7 +82,7 @@ jobs:
82
82
  version: 19.03.12
83
83
  - run: |
84
84
  rake install &&
85
- printf "<< parameters.answers >>\ny\ny\ny\ny\ny\ny\ny\ny\ny\ny\ny\ny\ny\ny\ny\ny\ny\ny\ny\ny\ny\ny\ny\ny\ny\ny\ny\ny\ny\ny\ny\ny\ny\ny\ny$var\n" | roro rollon
85
+ printf "<< parameters.answers >>\na$var\n" | roro rollon
86
86
  - run: echo 'success'
87
87
 
88
88
  release:
@@ -103,16 +103,32 @@ workflows:
103
103
  <<: *major_only
104
104
  matrix:
105
105
  parameters:
106
- answers: ["1\n1", "1\n2", "1\n3", "1\n4", "1\n5", "2\n1", "3\n1", "3\n2"]
106
+ answers:
107
+ - 1\n1
108
+ - 1\n2
109
+ - 1\n3
110
+ - 1\n4
111
+ - 1\n5
112
+ - 2\n1
113
+ - 2\n2\n1\n1
114
+ - 2\n2\n1\n2
115
+ - 3\n1
116
+ - 3\n2
117
+ - 4\n2
118
+ - 4\n3
107
119
  os: [linux]
108
120
 
109
121
  matrix-test-against-rubies:
110
122
  jobs:
111
- - test-against-ruby:
123
+ - test:
112
124
  <<: *major_only
113
125
  matrix:
114
126
  parameters:
115
- version: [ "2.5", "2.6", "2.7", "3.0" ]
127
+ version:
128
+ - '2.5'
129
+ - '2.6'
130
+ - '2.7'
131
+ - '3.0'
116
132
 
117
133
  gem-release:
118
134
  jobs:
data/.idea/.gitignore ADDED
@@ -0,0 +1,8 @@
1
+ # Default ignored files
2
+ /shelf/
3
+ /workspace.xml
4
+ # Editor-based HTTP Client requests
5
+ /httpRequests/
6
+ # Datasource local storage ignored files
7
+ /dataSources/
8
+ /dataSources.local.xml
@@ -0,0 +1,6 @@
1
+ <component name="InspectionProjectProfileManager">
2
+ <profile version="1.0">
3
+ <option name="myName" value="Project Default" />
4
+ <inspection_tool class="Rubocop" enabled="false" level="WARNING" enabled_by_default="false" />
5
+ </profile>
6
+ </component>
data/.idea/misc.xml ADDED
@@ -0,0 +1,4 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="ProjectRootManager" version="2" project-jdk-name="RVM: ruby-3.0.2" project-jdk-type="RUBY_SDK" />
4
+ </project>
data/.idea/modules.xml ADDED
@@ -0,0 +1,8 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="ProjectModuleManager">
4
+ <modules>
5
+ <module fileurl="file://$PROJECT_DIR$/.idea/roro.iml" filepath="$PROJECT_DIR$/.idea/roro.iml" />
6
+ </modules>
7
+ </component>
8
+ </project>
data/.idea/roro.iml ADDED
@@ -0,0 +1,116 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <module type="RUBY_MODULE" version="4">
3
+ <component name="ModuleRunConfigurationManager">
4
+ <shared />
5
+ </component>
6
+ <component name="NewModuleRootManager">
7
+ <content url="file://$MODULE_DIR$">
8
+ <sourceFolder url="file://$MODULE_DIR$/features" isTestSource="true" />
9
+ <sourceFolder url="file://$MODULE_DIR$/spec" isTestSource="true" />
10
+ <sourceFolder url="file://$MODULE_DIR$/test" isTestSource="true" />
11
+ </content>
12
+ <orderEntry type="inheritedJdk" />
13
+ <orderEntry type="sourceFolder" forTests="false" />
14
+ <orderEntry type="library" scope="PROVIDED" name="activesupport (v6.1.4.1, RVM: ruby-3.0.2) [gem]" level="application" />
15
+ <orderEntry type="library" scope="PROVIDED" name="addressable (v2.8.0, RVM: ruby-3.0.2) [gem]" level="application" />
16
+ <orderEntry type="library" scope="PROVIDED" name="apparition (v0.6.0, RVM: ruby-3.0.2) [gem]" level="application" />
17
+ <orderEntry type="library" scope="PROVIDED" name="bundler (v2.2.22, RVM: ruby-3.0.2) [gem]" level="application" />
18
+ <orderEntry type="library" scope="PROVIDED" name="byebug (v11.1.3, RVM: ruby-3.0.2) [gem]" level="application" />
19
+ <orderEntry type="library" scope="PROVIDED" name="capybara (v3.35.3, RVM: ruby-3.0.2) [gem]" level="application" />
20
+ <orderEntry type="library" scope="PROVIDED" name="childprocess (v3.0.0, RVM: ruby-3.0.2) [gem]" level="application" />
21
+ <orderEntry type="library" scope="PROVIDED" name="climate_control (v1.0.1, RVM: ruby-3.0.2) [gem]" level="application" />
22
+ <orderEntry type="library" scope="PROVIDED" name="coderay (v1.1.3, RVM: ruby-3.0.2) [gem]" level="application" />
23
+ <orderEntry type="library" scope="PROVIDED" name="concurrent-ruby (v1.1.9, RVM: ruby-3.0.2) [gem]" level="application" />
24
+ <orderEntry type="library" scope="PROVIDED" name="em-websocket (v0.5.2, RVM: ruby-3.0.2) [gem]" level="application" />
25
+ <orderEntry type="library" scope="PROVIDED" name="eventmachine (v1.2.7, RVM: ruby-3.0.2) [gem]" level="application" />
26
+ <orderEntry type="library" scope="PROVIDED" name="ffi (v1.15.4, RVM: ruby-3.0.2) [gem]" level="application" />
27
+ <orderEntry type="library" scope="PROVIDED" name="formatador (v0.3.0, RVM: ruby-3.0.2) [gem]" level="application" />
28
+ <orderEntry type="library" scope="PROVIDED" name="gem-release (v2.2.2, RVM: ruby-3.0.2) [gem]" level="application" />
29
+ <orderEntry type="library" scope="PROVIDED" name="given_core (v3.8.2, RVM: ruby-3.0.2) [gem]" level="application" />
30
+ <orderEntry type="library" scope="PROVIDED" name="guard (v2.18.0, RVM: ruby-3.0.2) [gem]" level="application" />
31
+ <orderEntry type="library" scope="PROVIDED" name="guard-compat (v1.2.1, RVM: ruby-3.0.2) [gem]" level="application" />
32
+ <orderEntry type="library" scope="PROVIDED" name="guard-livereload (v2.5.2, RVM: ruby-3.0.2) [gem]" level="application" />
33
+ <orderEntry type="library" scope="PROVIDED" name="guard-minitest (v2.4.6, RVM: ruby-3.0.2) [gem]" level="application" />
34
+ <orderEntry type="library" scope="PROVIDED" name="handsome_fencer-test (v0.2.2, RVM: ruby-3.0.2) [gem]" level="application" />
35
+ <orderEntry type="library" scope="PROVIDED" name="http_parser.rb (v0.6.0, RVM: ruby-3.0.2) [gem]" level="application" />
36
+ <orderEntry type="library" scope="PROVIDED" name="i18n (v1.8.10, RVM: ruby-3.0.2) [gem]" level="application" />
37
+ <orderEntry type="library" scope="PROVIDED" name="io-console (v0.5.9, RVM: ruby-3.0.2) [gem]" level="application" />
38
+ <orderEntry type="library" scope="PROVIDED" name="launchy (v2.5.0, RVM: ruby-3.0.2) [gem]" level="application" />
39
+ <orderEntry type="library" scope="PROVIDED" name="listen (v3.7.0, RVM: ruby-3.0.2) [gem]" level="application" />
40
+ <orderEntry type="library" scope="PROVIDED" name="lumberjack (v1.2.8, RVM: ruby-3.0.2) [gem]" level="application" />
41
+ <orderEntry type="library" scope="PROVIDED" name="method_source (v1.0.0, RVM: ruby-3.0.2) [gem]" level="application" />
42
+ <orderEntry type="library" scope="PROVIDED" name="mini_mime (v1.1.1, RVM: ruby-3.0.2) [gem]" level="application" />
43
+ <orderEntry type="library" scope="PROVIDED" name="minitest (v5.14.4, RVM: ruby-3.0.2) [gem]" level="application" />
44
+ <orderEntry type="library" scope="PROVIDED" name="minitest-focus (v1.3.1, RVM: ruby-3.0.2) [gem]" level="application" />
45
+ <orderEntry type="library" scope="PROVIDED" name="minitest-given (v3.8.2, RVM: ruby-3.0.2) [gem]" level="application" />
46
+ <orderEntry type="library" scope="PROVIDED" name="minitest-hooks (v1.5.0, RVM: ruby-3.0.2) [gem]" level="application" />
47
+ <orderEntry type="library" scope="PROVIDED" name="minitest-matchers_vaccine (v1.0.4, RVM: ruby-3.0.2) [gem]" level="application" />
48
+ <orderEntry type="library" scope="PROVIDED" name="minitest-profile (v0.0.2, RVM: ruby-3.0.2) [gem]" level="application" />
49
+ <orderEntry type="library" scope="PROVIDED" name="mocha (v1.13.0, RVM: ruby-3.0.2) [gem]" level="application" />
50
+ <orderEntry type="library" scope="PROVIDED" name="multi_json (v1.15.0, RVM: ruby-3.0.2) [gem]" level="application" />
51
+ <orderEntry type="library" scope="PROVIDED" name="nenv (v0.3.0, RVM: ruby-3.0.2) [gem]" level="application" />
52
+ <orderEntry type="library" scope="PROVIDED" name="net-scp (v3.0.0, RVM: ruby-3.0.2) [gem]" level="application" />
53
+ <orderEntry type="library" scope="PROVIDED" name="net-ssh (v6.1.0, RVM: ruby-3.0.2) [gem]" level="application" />
54
+ <orderEntry type="library" scope="PROVIDED" name="nokogiri (v1.12.5, RVM: ruby-3.0.2) [gem]" level="application" />
55
+ <orderEntry type="library" scope="PROVIDED" name="notiffany (v0.1.3, RVM: ruby-3.0.2) [gem]" level="application" />
56
+ <orderEntry type="library" scope="PROVIDED" name="pry (v0.14.1, RVM: ruby-3.0.2) [gem]" level="application" />
57
+ <orderEntry type="library" scope="PROVIDED" name="public_suffix (v4.0.6, RVM: ruby-3.0.2) [gem]" level="application" />
58
+ <orderEntry type="library" scope="PROVIDED" name="racc (v1.5.2, RVM: ruby-3.0.2) [gem]" level="application" />
59
+ <orderEntry type="library" scope="PROVIDED" name="rack (v2.2.3, RVM: ruby-3.0.2) [gem]" level="application" />
60
+ <orderEntry type="library" scope="PROVIDED" name="rack-livereload (v0.3.17, RVM: ruby-3.0.2) [gem]" level="application" />
61
+ <orderEntry type="library" scope="PROVIDED" name="rack-test (v1.1.0, RVM: ruby-3.0.2) [gem]" level="application" />
62
+ <orderEntry type="library" scope="PROVIDED" name="rake (v13.0.6, RVM: ruby-3.0.2) [gem]" level="application" />
63
+ <orderEntry type="library" scope="PROVIDED" name="rb-fsevent (v0.11.0, RVM: ruby-3.0.2) [gem]" level="application" />
64
+ <orderEntry type="library" scope="PROVIDED" name="rb-inotify (v0.10.1, RVM: ruby-3.0.2) [gem]" level="application" />
65
+ <orderEntry type="library" scope="PROVIDED" name="rbs (v1.0.4, RVM: ruby-3.0.2) [gem]" level="application" />
66
+ <orderEntry type="library" scope="PROVIDED" name="regexp_parser (v2.1.1, RVM: ruby-3.0.2) [gem]" level="application" />
67
+ <orderEntry type="library" scope="PROVIDED" name="reline (v0.2.7, RVM: ruby-3.0.2) [gem]" level="application" />
68
+ <orderEntry type="library" scope="PROVIDED" name="rubyzip (v2.3.2, RVM: ruby-3.0.2) [gem]" level="application" />
69
+ <orderEntry type="library" scope="PROVIDED" name="selenium-webdriver (v3.142.7, RVM: ruby-3.0.2) [gem]" level="application" />
70
+ <orderEntry type="library" scope="PROVIDED" name="shellany (v0.0.1, RVM: ruby-3.0.2) [gem]" level="application" />
71
+ <orderEntry type="library" scope="PROVIDED" name="shoulda (v2.11.3, RVM: ruby-3.0.2) [gem]" level="application" />
72
+ <orderEntry type="library" scope="PROVIDED" name="shoulda-context (v2.0.0.rc2, RVM: ruby-3.0.2) [gem]" level="application" />
73
+ <orderEntry type="library" scope="PROVIDED" name="shoulda-matchers (v4.5.1, RVM: ruby-3.0.2) [gem]" level="application" />
74
+ <orderEntry type="library" scope="PROVIDED" name="sorcerer (v2.0.1, RVM: ruby-3.0.2) [gem]" level="application" />
75
+ <orderEntry type="library" scope="PROVIDED" name="sshkit (v1.21.2, RVM: ruby-3.0.2) [gem]" level="application" />
76
+ <orderEntry type="library" scope="PROVIDED" name="thor (v1.1.0, RVM: ruby-3.0.2) [gem]" level="application" />
77
+ <orderEntry type="library" scope="PROVIDED" name="tzinfo (v2.0.4, RVM: ruby-3.0.2) [gem]" level="application" />
78
+ <orderEntry type="library" scope="PROVIDED" name="websocket-driver (v0.7.5, RVM: ruby-3.0.2) [gem]" level="application" />
79
+ <orderEntry type="library" scope="PROVIDED" name="websocket-extensions (v0.1.5, RVM: ruby-3.0.2) [gem]" level="application" />
80
+ <orderEntry type="library" scope="PROVIDED" name="xpath (v3.2.0, RVM: ruby-3.0.2) [gem]" level="application" />
81
+ <orderEntry type="library" scope="PROVIDED" name="zeitwerk (v2.4.2, RVM: ruby-3.0.2) [gem]" level="application" />
82
+ </component>
83
+ <component name="RakeTasksCache">
84
+ <option name="myRootTask">
85
+ <RakeTaskImpl id="rake">
86
+ <subtasks>
87
+ <RakeTaskImpl description="Build roro-0.3.26.gem into the pkg directory" fullCommand="build" id="build" />
88
+ <RakeTaskImpl id="build">
89
+ <subtasks>
90
+ <RakeTaskImpl description="Generate SHA512 checksum if roro-0.3.26.gem into the checksums directory" fullCommand="build:checksum" id="checksum" />
91
+ </subtasks>
92
+ </RakeTaskImpl>
93
+ <RakeTaskImpl description="Remove any temporary products" fullCommand="clean" id="clean" />
94
+ <RakeTaskImpl description="Remove any generated files" fullCommand="clobber" id="clobber" />
95
+ <RakeTaskImpl description="Build and install roro-0.3.26.gem into system gems" fullCommand="install" id="install" />
96
+ <RakeTaskImpl id="install">
97
+ <subtasks>
98
+ <RakeTaskImpl description="Build and install roro-0.3.26.gem into system gems without network access" fullCommand="install:local" id="local" />
99
+ </subtasks>
100
+ </RakeTaskImpl>
101
+ <RakeTaskImpl description="Create tag v0.3.26 and build and push roro-0.3.26.gem to rubygems.org" fullCommand="release[remote]" id="release[remote]" />
102
+ <RakeTaskImpl description="Run tests" fullCommand="test" id="test" />
103
+ <RakeTaskImpl description="" fullCommand="default" id="default" />
104
+ <RakeTaskImpl description="" fullCommand="release" id="release" />
105
+ <RakeTaskImpl id="release">
106
+ <subtasks>
107
+ <RakeTaskImpl description="" fullCommand="release:guard_clean" id="guard_clean" />
108
+ <RakeTaskImpl description="" fullCommand="release:rubygem_push" id="rubygem_push" />
109
+ <RakeTaskImpl description="" fullCommand="release:source_control_push" id="source_control_push" />
110
+ </subtasks>
111
+ </RakeTaskImpl>
112
+ </subtasks>
113
+ </RakeTaskImpl>
114
+ </option>
115
+ </component>
116
+ </module>
data/.idea/vcs.xml ADDED
@@ -0,0 +1,6 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="VcsDirectoryMappings">
4
+ <mapping directory="$PROJECT_DIR$" vcs="Git" />
5
+ </component>
6
+ </project>
data/CODE_OF_CONDUCT.md CHANGED
@@ -1,82 +1,36 @@
1
1
  # Contributor Covenant Code of Conduct
2
2
 
3
- I want participation in this project to be fun for everyone regardless of age, body size, disability, ethnicity, level of experience,
4
- nationality, personal appearance, race, religion, gender identity and expression,
5
- or sexual identity and orientation.
6
-
7
- ## Our Standards
8
-
9
- Some of these things make me happy:
10
-
11
- * When you use welcoming and inclusive language
3
+ Softare is hard. It is complicated. Sometimes working on it is fun, like when we solve a problem for another person with it, and other times painful, like when we spend all day failing to fix a bug.
4
+
5
+ Software makes me feel dumb every day.
6
+
7
+ ### Things that help
8
+
9
+ * When people don't assume things about me because of my age, body size, disabilities, ethnicity, level of experience, nationality, personal appearance, race, religion, gender identity and expression, or sexual identity and orientation.
10
+ * Use welcoming and inclusive language.
11
+ * When you avoid describing something as 'simple' or 'easy.'
12
+ * If it was simple or easy I would have figured it out already.
13
+ * If it was simple or easy then I must be dumb.
14
+ * When you focus on your privilege instead of that in others.
15
+ * When you tell me what you think my question is before answering.
16
+ * When you assume everybody has a [positive intent](https://archive.fortune.com/galleries/2008/fortune/0804/gallery.bestadvice.fortune/7.html).
17
+ * When you give genuine compliments to others:
18
+ * Tell them what they did
19
+ * Tell them why it was special or unexpected
20
+ * Tell them how it made you feel
12
21
  * When you write a user story from the perspective of someone with a different pronoun
13
- * When you understand we all want the same things for ourselves, our families, and other people even if you disagree with the politics of how to get them
22
+ * When you understand we all want the same things for ourselves, our families, and other people even if we may disagree with the politics of how to get them
14
23
  * When you invert and play with stereotypes
15
- * When you focus on your own privilege and not on what you assume is that in others
16
- * When you assume everybody has a positive intent
17
- * When you listen carefully to criticism before accepting or rejecting it
18
- * When you tell someone what you think they're asking before providing an answer
19
- * When you ask before offering criticism
20
- * When you acknowledge constructive criticism and either accept it or explain why you can not
21
- * When you accept that sometimes your criticism will be rejected
22
- * When you show empathy towards others
23
- * When you are positive and supportive of someone's efforts
24
- * When you assume as little as possible about others
25
- * When you are cheerful, even if you have to fake
26
- * When you give genuine compliments to others
27
-
28
-
29
-
30
- Examples of unacceptable behavior by participants include:
31
-
32
- * Unwelcome sexual attention or advances
33
- * Teasing someone for something that person is sensitive about, or that a reasonable person might guess she is
34
- * sensitive about.
35
- * Trolling, insulting/derogatory comments, and personal or political attacks
36
- * Public or private harassment
37
- * Publishing others' private information, such as a physical or electronic
38
- address, without explicit permission
39
- * Other conduct which could reasonably be considered inappropriate in a
40
- professional setting
41
-
42
- ## Our Responsibilities
43
-
44
- Project maintainers are responsible for clarifying the standards of acceptable
45
- behavior and are expected to take appropriate and fair corrective action in
46
- response to any instances of unacceptable behavior.
47
-
48
- Project maintainers have the right and responsibility to remove, edit, or
49
- reject comments, commits, code, wiki edits, issues, and other contributions
50
- that are not aligned to this Code of Conduct, or to ban temporarily or
51
- permanently any contributor for other behaviors that they deem inappropriate,
52
- threatening, offensive, or harmful.
53
-
54
- ## Scope
55
-
56
- This Code of Conduct applies both within project spaces and in public spaces
57
- when an individual is representing the project or its community. Examples of
58
- representing a project or community include using an official project e-mail
59
- address, posting via an official social media account, or acting as an appointed
60
- representative at an online or offline event. Representation of a project may be
61
- further defined and clarified by project maintainers.
62
-
63
- ## Enforcement
64
-
65
- Instances of abusive, harassing, or otherwise unacceptable behavior may be
66
- reported by contacting the project team at fred.schoeneman@gmail.com. All
67
- complaints will be reviewed and investigated and will result in a response that
68
- is deemed necessary and appropriate to the circumstances. The project team is
69
- obligated to maintain confidentiality with regard to the reporter of an incident.
70
- Further details of specific enforcement policies may be posted separately.
71
-
72
- Project maintainers who do not follow or enforce the Code of Conduct in good
73
- faith may face temporary or permanent repercussions as determined by other
74
- members of the project's leadership.
75
-
76
- ## Attribution
77
-
78
- This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
79
- available at [http://contributor-covenant.org/version/1/4][version]
80
24
 
81
- [homepage]: http://contributor-covenant.org
82
- [version]: http://contributor-covenant.org/version/1/4/
25
+ ### Criticism
26
+ * Ask before offering it.
27
+ * listen to and understand it before accepting or rejecting it.
28
+ * Accept that sometimes it will be rejected.
29
+ * Show that you understand it before explaining why you reject it.
30
+
31
+ ## Teasing or joking
32
+ Teasing and joking can make things fun. Other times it can make people feel less than.
33
+ * Make jokes about things I'm not sensitive bout.
34
+ * Don't make jokes about things a reasonable person might guess I'm sensitive about.
35
+ * Make fun of me for things I can change.
36
+ * Don't make fun of me for things I can't change.
@@ -9,11 +9,6 @@ module Roro
9
9
  def generate_containers(*containers)
10
10
  mise = Roro::CLI.mise
11
11
  containers = options['containers'] || (containers.empty? ? %w[frontend backend database] : containers)
12
- # siblings = Dir.glob('./*').select do |f|
13
- # File.directory?(f)
14
- # !f.match?(mise)
15
- # end
16
- # siblings = options[:containers] ? options[:containers] : default_containers
17
12
  create_file("#{mise}/scripts/.keep")
18
13
 
19
14
  containers.each { |s| s.split('/').last }.each do |container|
data/lib/roro/cli.rb CHANGED
@@ -1,13 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative 'cli/rollon'
4
- require_relative 'cli/generate/generate_containers'
5
- require_relative 'cli/generate/generate_environments'
6
- require_relative 'cli/generate/generate_exposed'
7
- require_relative 'cli/generate/generate_keys'
8
- require_relative 'cli/generate/generate_mise'
9
- require_relative 'cli/generate/generate_obfuscated'
10
-
11
3
  module Roro
12
4
  class CLI < Thor
13
5
  include Thor::Actions
@@ -16,6 +8,14 @@ module Roro
16
8
  "#{@template_root || File.dirname(__FILE__)}/templates"
17
9
  end
18
10
 
11
+ def self.roro_root
12
+ "#{File.dirname(__FILE__)}"
13
+ end
14
+
15
+ def self.dependency_root
16
+ "#{self.roro_root}/dependencies"
17
+ end
18
+
19
19
  def self.catalog_root
20
20
  "#{File.dirname(__FILE__)}/stacks/catalog/unstoppable/developer_styles"
21
21
  end
@@ -3,6 +3,7 @@
3
3
  module Roro
4
4
  module Configurators
5
5
  class AdventureChooser
6
+
6
7
  include Utilities
7
8
 
8
9
  attr_reader :itinerary, :stack, :manifest
@@ -3,6 +3,7 @@
3
3
  module Roro
4
4
  module Configurators
5
5
  class AdventurePicker < Thor
6
+
6
7
  include Utilities
7
8
 
8
9
  attr_reader :inflection
@@ -11,13 +11,16 @@ module Roro
11
11
  no_commands do
12
12
 
13
13
  def write(buildenv, storyfile)
14
- @env = buildenv
14
+ @env = buildenv[:env]
15
+ @env[:force] = true
15
16
  actions = read_yaml(storyfile)[:actions]
16
17
  unless actions.nil?
17
18
  self.source_paths << "#{stack_parent_path(storyfile)}/templates"
18
19
  actions.each do |a|
19
20
  eval a
20
21
  end
22
+ self.source_paths.shift
23
+
21
24
  end
22
25
  end
23
26
 
@@ -1,15 +1,15 @@
1
1
  # frozen_string_literal: true
2
-
3
2
  require 'yaml'
4
3
 
5
4
  module Roro
6
5
  module Configurators
7
6
  class Configurator
7
+
8
8
  include Utilities
9
9
 
10
10
  attr_reader :structure, :itinerary, :manifest, :stack, :env
11
11
 
12
- def initialize(options = {} )
12
+ def initialize(options = {})
13
13
  @options = options ? options : {}
14
14
  @stack = options[:stack] || CatalogBuilder.build
15
15
  @validator = Validator.new(@stack)
@@ -18,13 +18,16 @@ module Roro
18
18
  @structure = StructureBuilder.build
19
19
  @asker = QuestionAsker.new
20
20
  @writer = AdventureWriter.new
21
+ @env = @structure[:env]
21
22
  end
22
23
 
23
24
  def rollon
24
25
  validate_stack
25
26
  choose_adventure
27
+ satisfy_dependencies
26
28
  build_env
27
29
  write_story
30
+ structure[:env] = structure[:env].merge(@dependency_hash)
28
31
  end
29
32
 
30
33
  def validate_stack
@@ -34,30 +37,34 @@ module Roro
34
37
  def choose_adventure
35
38
  @adventure.build_itinerary(@stack)
36
39
  @itinerary = @adventure.itinerary
37
- @manifest = @adventure.manifest
40
+ @manifest = @adventure.manifest
38
41
  end
39
42
 
40
43
  def build_env
41
- @env = @structure[:env]
42
44
  manifest.each { |story| accrete_story(story) }
43
45
  override_environment_variables
44
46
  end
45
47
 
48
+ def satisfy_dependencies
49
+ @satisfier = DependencySatisfier.new
50
+ @dependency_hash = @satisfier.satisfy_dependencies(manifest)
51
+ end
52
+
46
53
  def accrete_story(story)
47
54
  content = read_yaml(story)[:env]
48
- content.keys.each { |k| @env[k].merge!(content[k]) } if content
55
+ content.keys.each { |k| @structure[:env][k].merge!(content[k]) } if content
49
56
  end
50
57
 
51
58
  def override_environment_variables
52
- @env.each do |e, v| v.each do |k, v|
53
- answer = @asker.confirm_default(@builder.override(e, k, v), v)
59
+ @structure[:env].each do |e, h| h.each do |k, v|
60
+ answer = @asker.confirm_default(@builder.override(e, k, v), h)
54
61
  answer.eql?('') ? return : v[:value] = answer
55
62
  end
56
63
  end
57
64
  end
58
65
 
59
66
  def write_story
60
- @manifest.each { |m| @writer.write(@env, m) }
67
+ @manifest.sort.each { |m| @writer.write(@structure, m) }
61
68
  end
62
69
  end
63
70
  end