roro 0.3.24 → 0.3.30

Sign up to get free protection for your applications and to get access to all the features.
Files changed (163) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +29 -20
  3. data/.gitignore +4 -0
  4. data/.idea/.gitignore +8 -0
  5. data/.idea/inspectionProfiles/Project_Default.xml +6 -0
  6. data/.idea/misc.xml +4 -0
  7. data/.idea/modules.xml +8 -0
  8. data/.idea/roro.iml +116 -0
  9. data/.idea/vcs.xml +6 -0
  10. data/CODE_OF_CONDUCT.md +34 -72
  11. data/lib/roro/cli/generate/generate.rb +3 -3
  12. data/lib/roro/cli/generate/generate_containers.rb +3 -6
  13. data/lib/roro/cli.rb +16 -8
  14. data/lib/roro/configurators/adventure_chooser.rb +1 -0
  15. data/lib/roro/configurators/adventure_picker.rb +7 -3
  16. data/lib/roro/configurators/adventure_writer.rb +4 -1
  17. data/lib/roro/configurators/configurator.rb +16 -9
  18. data/lib/roro/configurators/dependency_satisfier.rb +136 -0
  19. data/lib/roro/configurators/question_asker.rb +10 -4
  20. data/lib/roro/configurators/structure_builder.rb +2 -0
  21. data/lib/roro/configurators/validator.rb +2 -0
  22. data/lib/roro/dependencies/base.yml +90 -0
  23. data/lib/roro/stacks/catalog/unstoppable/developer_styles/fatsufodo/stories/django/_django.yml +7 -0
  24. data/lib/roro/stacks/catalog/unstoppable/developer_styles/fatsufodo/stories/django/django.yml +3 -8
  25. data/lib/roro/stacks/catalog/unstoppable/developer_styles/fatsufodo/stories/django/templates/stage_two/{settings.py → settings.py.tt} +0 -0
  26. data/lib/roro/stacks/catalog/unstoppable/developer_styles/fatsufodo/stories/django/test/stage_one/stage_one_test.rb +1 -1
  27. 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
  28. 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
  29. 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
  30. 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
  31. 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
  32. data/lib/roro/stacks/catalog/unstoppable/developer_styles/okonomi/languages/python/test/stage_one/stage_test.rb +42 -0
  33. data/lib/roro/stacks/catalog/unstoppable/developer_styles/okonomi/languages/ruby/ruby.yml +10 -0
  34. data/lib/roro/stacks/catalog/unstoppable/developer_styles/okonomi/languages/ruby/stories/rails/rails.yml +36 -0
  35. 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
  36. data/lib/roro/stacks/catalog/unstoppable/developer_styles/okonomi/languages/ruby/stories/rails/templates/stage_one/Dockerfile.tt +26 -0
  37. data/lib/roro/stacks/catalog/unstoppable/developer_styles/okonomi/languages/ruby/stories/rails/versions/6_1/6_1.yml +44 -0
  38. data/lib/roro/stacks/catalog/unstoppable/developer_styles/okonomi/languages/ruby/stories/rails/versions/6_1/templates/stage_one/.env +6 -0
  39. data/lib/roro/stacks/catalog/unstoppable/developer_styles/okonomi/languages/ruby/stories/rails/versions/6_1/templates/stage_one/Dockerfile.tt +28 -0
  40. data/lib/roro/stacks/catalog/unstoppable/developer_styles/okonomi/languages/ruby/stories/rails/versions/6_1/templates/stage_one/config/database.yml +19 -0
  41. 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
  42. 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
  43. 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
  44. 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
  45. 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
  46. 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
  47. 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
  48. data/lib/roro/stacks/catalog/unstoppable/developer_styles/okonomi/languages/ruby/stories/rails/versions/6_1/test/stage_one/stage_dummy/.keep +0 -0
  49. data/lib/roro/stacks/catalog/unstoppable/developer_styles/okonomi/languages/ruby/stories/rails/versions/6_1/test/stage_one/stage_dummy/Gemfile +66 -0
  50. data/lib/roro/stacks/catalog/unstoppable/developer_styles/okonomi/languages/ruby/stories/rails/versions/6_1/test/stage_one/stage_test.rb +38 -0
  51. data/lib/roro/stacks/catalog/unstoppable/developer_styles/okonomi/languages/ruby/stories/rails/versions/7_0/7_0.yml +38 -0
  52. data/lib/roro/stacks/catalog/unstoppable/developer_styles/okonomi/languages/ruby/stories/rails/versions/7_0/templates/stage_one/.env +6 -0
  53. data/lib/roro/stacks/catalog/unstoppable/developer_styles/okonomi/languages/ruby/stories/rails/versions/7_0/templates/stage_one/Dockerfile.tt +28 -0
  54. data/lib/roro/stacks/catalog/unstoppable/developer_styles/okonomi/languages/ruby/stories/rails/versions/7_0/templates/stage_one/config/database.yml +19 -0
  55. 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
  56. 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
  57. data/lib/roro/stacks/catalog/unstoppable/developer_styles/okonomi/languages/ruby/stories/rails/versions/7_0/templates/stage_one/entrypoints/.keep +0 -0
  58. 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
  59. 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
  60. data/lib/roro/stacks/catalog/unstoppable/developer_styles/okonomi/languages/ruby/stories/rails/versions/7_0/test/.keep +0 -0
  61. data/lib/roro/stacks/catalog/unstoppable/developer_styles/okonomi/languages/ruby/stories/rails/versions/7_0/test/stage_one/.keep +0 -0
  62. data/lib/roro/stacks/catalog/unstoppable/developer_styles/okonomi/languages/ruby/stories/rails/versions/7_0/test/stage_one/stage_dummy/.keep +0 -0
  63. data/lib/roro/stacks/catalog/unstoppable/developer_styles/okonomi/languages/ruby/stories/rails/versions/7_0/test/stage_one/stage_dummy/Gemfile +66 -0
  64. data/lib/roro/stacks/catalog/unstoppable/developer_styles/okonomi/languages/ruby/stories/rails/versions/7_0/test/stage_one/stage_test.rb +37 -0
  65. data/lib/roro/stacks/catalog/unstoppable/developer_styles/okonomi/okonomi.yml +4 -1
  66. data/lib/roro/stacks/catalog/unstoppable/developer_styles/okonomi/templates/stage_one/.dockerignore +18 -0
  67. data/lib/roro/stacks/catalog/unstoppable/developer_styles/omakase/stories/wordpress/templates/stage_one/.env +1 -1
  68. data/lib/roro/stacks/catalog/unstoppable/developer_styles/omakase/stories/wordpress/test/stage_one/stage_test.rb +2 -10
  69. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/sashimi.yml +1 -0
  70. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/kubernetes/stories/ingress/stories/nginx/stories/cert-manager/cert-manager.yml +32 -0
  71. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/kubernetes/stories/ingress/stories/nginx/stories/cert-manager/templates/stage_1/.keep +0 -0
  72. 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
  73. 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
  74. 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
  75. 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
  76. 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
  77. 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
  78. 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
  79. 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
  80. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/kubernetes/stories/ingress/stories/nginx/stories/cert-manager/test/.keep +0 -0
  81. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/kubernetes/stories/ingress/stories/nginx/stories/cert-manager/test/stage_one/.keep +0 -0
  82. 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
  83. 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
  84. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/rails/rails.yml +48 -9
  85. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/rails/templates/stage_one/.env +4 -0
  86. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/rails/templates/stage_one/.gitignore +55 -0
  87. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/rails/templates/stage_one/.keep +0 -0
  88. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/rails/templates/stage_one/docker-compose.yml.tt +36 -12
  89. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/rails/templates/stage_one/k8s/.keep +0 -0
  90. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/rails/templates/stage_one/k8s/app-deployment.yaml.tt +72 -0
  91. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/rails/templates/stage_one/k8s/app-service.yaml.tt +20 -0
  92. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/rails/templates/stage_one/k8s/database-deployment.yaml.tt +59 -0
  93. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/rails/templates/stage_one/k8s/database-service.yaml.tt +19 -0
  94. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/rails/templates/stage_one/k8s/db-data-persistentvolumeclaim.yaml.tt +14 -0
  95. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/rails/templates/stage_one/k8s/env-configmap.yaml.tt +12 -0
  96. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/rails/templates/stage_one/k8s/redis-deployment.yaml.tt +33 -0
  97. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/rails/templates/stage_one/k8s/redis-service.yaml.tt +19 -0
  98. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/rails/templates/stage_one/k8s/secret.yaml.tt +11 -0
  99. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/rails/templates/stage_one/k8s/sidekiq-deployment.yaml.tt +56 -0
  100. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/rails/test/.keep +0 -0
  101. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/rails/test/stage_one/.keep +0 -0
  102. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/rails/test/stage_one/stage_dummy/.keep +0 -0
  103. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/rails/test/stage_one/stage_test.rb +33 -0
  104. data/lib/roro/stacks/catalog/unstoppable/developer_styles/{okonomi → sashimi}/stories/roll_your_own/roll_your_own.yml +1 -0
  105. 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
  106. 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
  107. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/roll_your_own/templates/stage_one/%interpolated_stack_path%/test/.keep +0 -0
  108. 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
  109. 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
  110. 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
  111. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/roll_your_own/templates/stage_one/.gitignore.tt +55 -0
  112. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/roll_your_own/test/stage_one/dummy/.keep +0 -0
  113. data/lib/roro/stacks/catalog/unstoppable/developer_styles/{okonomi → sashimi}/stories/roll_your_own/test/stage_one/stage_one_test.rb +8 -2
  114. data/lib/roro/version.rb +1 -1
  115. data/lib/roro.rb +4 -10
  116. data/mise/containers/backend/env/.keep +0 -0
  117. data/mise/containers/backend/scripts/.keep +0 -0
  118. data/mise/containers/database/env/.keep +0 -0
  119. data/mise/containers/database/scripts/.keep +0 -0
  120. data/mise/containers/frontend/env/.keep +0 -0
  121. data/mise/containers/frontend/scripts/.keep +0 -0
  122. data/mise/scripts/.keep +0 -0
  123. data/roro.gemspec +3 -5
  124. metadata +118 -76
  125. data/.ruby-version +0 -1
  126. data/lib/roro/cli/roll_your_own.rb +0 -12
  127. data/lib/roro/configurator.rb +0 -15
  128. 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
  129. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/fatsufodo.yml +0 -1
  130. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/django/django.yml +0 -36
  131. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/django/templates/stage_one/Dockerfile.tt +0 -7
  132. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/django/templates/stage_one/docker-compose.yml.tt +0 -20
  133. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/django/templates/stage_one/requirements.txt.tt +0 -2
  134. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/django/templates/stage_two/settings.py +0 -130
  135. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/django/test/stage_one/stage_one_test.rb +0 -37
  136. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/expressjs/expressjs.yml +0 -7
  137. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/expressjs/templates/stage_one/Dockerfile.tt +0 -14
  138. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/expressjs/templates/stage_one/docker-compose.yml.tt +0 -21
  139. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/rails/templates/stage_one/Dockerfile.tt +0 -16
  140. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/rails/templates/stage_one/Gemfile.tt +0 -2
  141. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/rails/templates/stage_one/entrypoint.sh +0 -8
  142. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/rails/templates/stage_two/database.yml.tt +0 -16
  143. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/roro/templates/__MACOSX/scripts/._.DS_Store +0 -0
  144. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/roro/templates/scripts/.DS_Store +0 -0
  145. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/roro/templates/scripts/base/bundler.sh +0 -22
  146. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/roro/templates/scripts/base/git.sh +0 -21
  147. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/roro/templates/scripts/base/rvm.sh +0 -38
  148. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/roro/templates/scripts/base/utilities.sh +0 -53
  149. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/roro/templates/scripts/base.sh +0 -6
  150. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/roro/templates/scripts/initialize/clone_idea.sh +0 -14
  151. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/roro/templates/scripts/initialize/clone_repos.sh +0 -33
  152. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/roro/templates/scripts/initialize/install_correct_bundler.sh +0 -21
  153. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/roro/templates/scripts/initialize/install_rubies.sh +0 -6
  154. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/roro/templates/scripts/initialize.sh +0 -18
  155. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/roro/templates/scripts/roro.sh +0 -15
  156. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/roro/templates/scripts/source.sh +0 -28
  157. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/roro/templates/scripts/utility/bundle_all.sh +0 -12
  158. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/roro/templates/scripts/utility/git_pull_all.sh +0 -15
  159. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/roro/templates/scripts/utility/rvm_install_all.sh +0 -12
  160. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/roro/templates/scripts/utility/yarn_install_all.sh +0 -10
  161. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/wordpress/templates/stage_one/docker-compose.yml.tt +0 -31
  162. data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/wordpress/wordpress.yml +0 -16
  163. data/process.yml +0 -401
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 041c08174ce7ef8801ff96de5579a5af5475ccea54855a34352ca85a820b95be
4
- data.tar.gz: 7f2bbabd5f24a2e1410dbb24d961cbea46bd7cf79ab1629c6f7109b108868f93
3
+ metadata.gz: 0f77094ee08c2da1aa1ada4646dd962af212dcc1ececb8ed0367199748324d25
4
+ data.tar.gz: 4d4463bd29b65c0bb29f7b031d64731204125a662e5674c65e5728efaa4e7153
5
5
  SHA512:
6
- metadata.gz: 3c9ecbf3a06d7146e01913113af6d3e83393de5cf5ac2b7dcd840ecaf9c16e4fe5f75609916b1f43b0cab7f2321f038ab457be6d8843bd39c756aa6fe6db0868
7
- data.tar.gz: 6c112af32e6b2693a87a1888455796a6883941057f64ef0ce16d43b978a39fae10f251451701e95995833077fef60b5eed467fa2cd836fd78c33ef39cfe55d8d
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,26 +82,19 @@ 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:
89
89
  <<: *defaults
90
90
  steps:
91
91
  - checkout
92
- - run: rake install
93
92
  - run: |
94
- export CI_KEY="Bx2LCiZo7Gedfz1OV9vh3w=="
95
- roro generate:exposed ci
96
- # - run: |
97
- # echo $(cat ./mise/containers/ruby_image/env/ci.env) >> $BASH_ENV
98
- # source $BASH_ENV
99
- # - run: echo $RUBYGEMS_API_KEY
100
- # - run: chmod +x ./.circleci/setup-gem-credentials.sh
101
- # - run: ./.circleci/setup-gem-credentials.sh
102
- # - run: chmod 0600 ./.gem/credentials
103
- # - run: git checkout .
104
- # - run: gem release
93
+ git config --global user.email "fred.schoeneman@gmail.com"
94
+ git config --global user.name "Fred Schoeneman"
95
+ - run: gem install gem-release
96
+ - run: gem bump
97
+ - run: gem release
105
98
 
106
99
  workflows:
107
100
  matrix-test-rollon:
@@ -110,16 +103,32 @@ workflows:
110
103
  <<: *major_only
111
104
  matrix:
112
105
  parameters:
113
- 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
114
119
  os: [linux]
115
120
 
116
121
  matrix-test-against-rubies:
117
122
  jobs:
118
- - test-against-ruby:
123
+ - test:
119
124
  <<: *major_only
120
125
  matrix:
121
126
  parameters:
122
- version: [ "2.5", "2.6", "2.7", "3.0" ]
127
+ version:
128
+ - '2.5'
129
+ - '2.6'
130
+ - '2.7'
131
+ - '3.0'
123
132
 
124
133
  gem-release:
125
134
  jobs:
data/.gitignore CHANGED
@@ -8,6 +8,10 @@
8
8
  Gemfile.lock
9
9
  .byebug_history
10
10
 
11
+ ## circleci
12
+ process.yml
13
+
14
+ ## roro
11
15
  roro/**/*.env
12
16
  roro/**/*.key
13
17
  *.key
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,74 +1,36 @@
1
1
  # Contributor Covenant Code of Conduct
2
2
 
3
- ## Our Pledge
4
-
5
- In the interest of fostering an open and welcoming environment, we as
6
- contributors and maintainers pledge to making participation in our project and
7
- our community a harassment-free experience for everyone, regardless of age, body
8
- size, disability, ethnicity, gender identity and expression, level of experience,
9
- nationality, personal appearance, race, religion, or sexual identity and
10
- orientation.
11
-
12
- ## Our Standards
13
-
14
- Examples of behavior that contributes to creating a positive environment
15
- include:
16
-
17
- * Using welcoming and inclusive language
18
- * Being respectful of differing viewpoints and experiences
19
- * Gracefully accepting constructive criticism
20
- * Focusing on what is best for the community
21
- * Showing empathy towards other community members
22
-
23
- Examples of unacceptable behavior by participants include:
24
-
25
- * The use of sexualized language or imagery and unwelcome sexual attention or
26
- advances
27
- * Trolling, insulting/derogatory comments, and personal or political attacks
28
- * Public or private harassment
29
- * Publishing others' private information, such as a physical or electronic
30
- address, without explicit permission
31
- * Other conduct which could reasonably be considered inappropriate in a
32
- professional setting
33
-
34
- ## Our Responsibilities
35
-
36
- Project maintainers are responsible for clarifying the standards of acceptable
37
- behavior and are expected to take appropriate and fair corrective action in
38
- response to any instances of unacceptable behavior.
39
-
40
- Project maintainers have the right and responsibility to remove, edit, or
41
- reject comments, commits, code, wiki edits, issues, and other contributions
42
- that are not aligned to this Code of Conduct, or to ban temporarily or
43
- permanently any contributor for other behaviors that they deem inappropriate,
44
- threatening, offensive, or harmful.
45
-
46
- ## Scope
47
-
48
- This Code of Conduct applies both within project spaces and in public spaces
49
- when an individual is representing the project or its community. Examples of
50
- representing a project or community include using an official project e-mail
51
- address, posting via an official social media account, or acting as an appointed
52
- representative at an online or offline event. Representation of a project may be
53
- further defined and clarified by project maintainers.
54
-
55
- ## Enforcement
56
-
57
- Instances of abusive, harassing, or otherwise unacceptable behavior may be
58
- reported by contacting the project team at fred.schoeneman@gmail.com. All
59
- complaints will be reviewed and investigated and will result in a response that
60
- is deemed necessary and appropriate to the circumstances. The project team is
61
- obligated to maintain confidentiality with regard to the reporter of an incident.
62
- Further details of specific enforcement policies may be posted separately.
63
-
64
- Project maintainers who do not follow or enforce the Code of Conduct in good
65
- faith may face temporary or permanent repercussions as determined by other
66
- members of the project's leadership.
67
-
68
- ## Attribution
69
-
70
- This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
71
- available at [http://contributor-covenant.org/version/1/4][version]
72
-
73
- [homepage]: http://contributor-covenant.org
74
- [version]: http://contributor-covenant.org/version/1/4/
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
21
+ * When you write a user story from the perspective of someone with a different pronoun
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
23
+ * When you invert and play with stereotypes
24
+
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.
@@ -7,13 +7,13 @@ module Roro
7
7
  aliases: :e,
8
8
  banner: 'one, two, three',
9
9
  desc: 'The environments to generate:',
10
- default: %w[base ci development production]
10
+ default: Roro::CLI.roro_environments
11
11
 
12
12
  method_option :containers,
13
13
  type: :array,
14
14
  aliases: :c,
15
15
  banner: 'container_one, container_two, container_three',
16
- default: %w[backend database frontend],
16
+ default: Roro::CLI.roro_default_containers,
17
17
  desc: 'The containers to generate:'
18
18
 
19
19
  method_option :mise_en_place,
@@ -26,7 +26,7 @@ module Roro
26
26
  type: :array,
27
27
  aliases: :k,
28
28
  banner: 'one.key two.key three.key',
29
- default: %w[base ci development production],
29
+ default: Roro::CLI.roro_environments,
30
30
  desc: 'The names of your keys to generate. If none supplied, Roro will infer them from your .env files:'
31
31
 
32
32
  desc 'generate', 'Generate stuff.'
@@ -8,12 +8,9 @@ module Roro
8
8
  method_options :containers => :array
9
9
  def generate_containers(*containers)
10
10
  mise = Roro::CLI.mise
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
11
+ containers = options['containers'] || (containers.empty? ? %w[frontend backend database] : containers)
12
+ create_file("#{mise}/scripts/.keep")
13
+
17
14
  containers.each { |s| s.split('/').last }.each do |container|
18
15
  create_file("#{mise}/containers/#{container}/scripts/.keep")
19
16
  create_file("#{mise}/containers/#{container}/env/.keep")
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
@@ -37,5 +37,13 @@ module Roro
37
37
  def self.roro_environments
38
38
  %w[base development production test staging ci]
39
39
  end
40
+
41
+ def self.stack_documentation_root
42
+ '<a href="url">link text</a>'
43
+ end
44
+
45
+ def self.roro_default_containers
46
+ %w[backend database frontend]
47
+ end
40
48
  end
41
49
  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
@@ -10,6 +11,8 @@ module Roro
10
11
  no_commands do
11
12
  def choose_adventure(stack)
12
13
  build_inflection(stack)
14
+ say("Rolling story on from stack: #{@stack}\n\n")
15
+ say(@getsome)
13
16
  choice = ask(@inflection)
14
17
  story_name = story_from(choice.to_s)
15
18
  "#{stack}/#{story_name}"
@@ -20,7 +23,8 @@ module Roro
20
23
  prompt = inflection_prompt
21
24
  options = inflection_options
22
25
  prompt_options = humanize(options)
23
- @inflection = ["#{prompt} #{prompt_options}", limited_to: options.keys]
26
+ @getsome = "#{prompt}\n"
27
+ @inflection = ["#{prompt_options}\n\n", "Choices: [#{set_color(options.keys.map { |k| k.to_i }.join(' '), :blue)}]"]
24
28
  end
25
29
 
26
30
  def inflection_prompt
@@ -45,9 +49,9 @@ module Roro
45
49
  array = []
46
50
  hash.map do |key, value|
47
51
  preface = get_story_preface("#{@stack}/#{value}")
48
- array << "\n(#{key}) #{value}:\n #{preface}"
52
+ array << "#{set_color("(#{key})", :bold)} #{set_color(value, :blue, :bold)}\n\s\s\s\s#{preface}"
49
53
  end
50
- array.join
54
+ array.join("\n\n")
51
55
  end
52
56
 
53
57
  def get_story_preface(story)
@@ -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))
54
- v[:value] = answer unless answer.eql?('y')
59
+ @structure[:env].each do |e, h| h.each do |k, v|
60
+ answer = @asker.confirm_default(@builder.override(e, k, v), h)
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