roro 0.3.24 → 0.3.30
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.circleci/config.yml +29 -20
- data/.gitignore +4 -0
- data/.idea/.gitignore +8 -0
- data/.idea/inspectionProfiles/Project_Default.xml +6 -0
- data/.idea/misc.xml +4 -0
- data/.idea/modules.xml +8 -0
- data/.idea/roro.iml +116 -0
- data/.idea/vcs.xml +6 -0
- data/CODE_OF_CONDUCT.md +34 -72
- data/lib/roro/cli/generate/generate.rb +3 -3
- data/lib/roro/cli/generate/generate_containers.rb +3 -6
- data/lib/roro/cli.rb +16 -8
- data/lib/roro/configurators/adventure_chooser.rb +1 -0
- data/lib/roro/configurators/adventure_picker.rb +7 -3
- data/lib/roro/configurators/adventure_writer.rb +4 -1
- data/lib/roro/configurators/configurator.rb +16 -9
- data/lib/roro/configurators/dependency_satisfier.rb +136 -0
- data/lib/roro/configurators/question_asker.rb +10 -4
- data/lib/roro/configurators/structure_builder.rb +2 -0
- data/lib/roro/configurators/validator.rb +2 -0
- data/lib/roro/dependencies/base.yml +90 -0
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/fatsufodo/stories/django/_django.yml +7 -0
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/fatsufodo/stories/django/django.yml +3 -8
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/fatsufodo/stories/django/templates/stage_two/{settings.py → settings.py.tt} +0 -0
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/fatsufodo/stories/django/test/stage_one/stage_one_test.rb +1 -1
- 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
- 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
- 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
- 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
- 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
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/okonomi/languages/python/test/stage_one/stage_test.rb +42 -0
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/okonomi/languages/ruby/ruby.yml +10 -0
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/okonomi/languages/ruby/stories/rails/rails.yml +36 -0
- 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
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/okonomi/languages/ruby/stories/rails/templates/stage_one/Dockerfile.tt +26 -0
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/okonomi/languages/ruby/stories/rails/versions/6_1/6_1.yml +44 -0
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/okonomi/languages/ruby/stories/rails/versions/6_1/templates/stage_one/.env +6 -0
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/okonomi/languages/ruby/stories/rails/versions/6_1/templates/stage_one/Dockerfile.tt +28 -0
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/okonomi/languages/ruby/stories/rails/versions/6_1/templates/stage_one/config/database.yml +19 -0
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/okonomi/languages/ruby/stories/rails/versions/6_1/test/stage_one/stage_dummy/.keep +0 -0
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/okonomi/languages/ruby/stories/rails/versions/6_1/test/stage_one/stage_dummy/Gemfile +66 -0
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/okonomi/languages/ruby/stories/rails/versions/6_1/test/stage_one/stage_test.rb +38 -0
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/okonomi/languages/ruby/stories/rails/versions/7_0/7_0.yml +38 -0
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/okonomi/languages/ruby/stories/rails/versions/7_0/templates/stage_one/.env +6 -0
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/okonomi/languages/ruby/stories/rails/versions/7_0/templates/stage_one/Dockerfile.tt +28 -0
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/okonomi/languages/ruby/stories/rails/versions/7_0/templates/stage_one/config/database.yml +19 -0
- 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
- 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
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/okonomi/languages/ruby/stories/rails/versions/7_0/templates/stage_one/entrypoints/.keep +0 -0
- 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
- 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
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/okonomi/languages/ruby/stories/rails/versions/7_0/test/.keep +0 -0
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/okonomi/languages/ruby/stories/rails/versions/7_0/test/stage_one/.keep +0 -0
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/okonomi/languages/ruby/stories/rails/versions/7_0/test/stage_one/stage_dummy/.keep +0 -0
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/okonomi/languages/ruby/stories/rails/versions/7_0/test/stage_one/stage_dummy/Gemfile +66 -0
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/okonomi/languages/ruby/stories/rails/versions/7_0/test/stage_one/stage_test.rb +37 -0
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/okonomi/okonomi.yml +4 -1
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/okonomi/templates/stage_one/.dockerignore +18 -0
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/omakase/stories/wordpress/templates/stage_one/.env +1 -1
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/omakase/stories/wordpress/test/stage_one/stage_test.rb +2 -10
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/sashimi.yml +1 -0
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/kubernetes/stories/ingress/stories/nginx/stories/cert-manager/cert-manager.yml +32 -0
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/kubernetes/stories/ingress/stories/nginx/stories/cert-manager/templates/stage_1/.keep +0 -0
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/kubernetes/stories/ingress/stories/nginx/stories/cert-manager/test/.keep +0 -0
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/kubernetes/stories/ingress/stories/nginx/stories/cert-manager/test/stage_one/.keep +0 -0
- 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
- 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
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/rails/rails.yml +48 -9
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/rails/templates/stage_one/.env +4 -0
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/rails/templates/stage_one/.gitignore +55 -0
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/rails/templates/stage_one/.keep +0 -0
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/rails/templates/stage_one/docker-compose.yml.tt +36 -12
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/rails/templates/stage_one/k8s/.keep +0 -0
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/rails/templates/stage_one/k8s/app-deployment.yaml.tt +72 -0
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/rails/templates/stage_one/k8s/app-service.yaml.tt +20 -0
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/rails/templates/stage_one/k8s/database-deployment.yaml.tt +59 -0
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/rails/templates/stage_one/k8s/database-service.yaml.tt +19 -0
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/rails/templates/stage_one/k8s/db-data-persistentvolumeclaim.yaml.tt +14 -0
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/rails/templates/stage_one/k8s/env-configmap.yaml.tt +12 -0
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/rails/templates/stage_one/k8s/redis-deployment.yaml.tt +33 -0
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/rails/templates/stage_one/k8s/redis-service.yaml.tt +19 -0
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/rails/templates/stage_one/k8s/secret.yaml.tt +11 -0
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/rails/templates/stage_one/k8s/sidekiq-deployment.yaml.tt +56 -0
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/rails/test/.keep +0 -0
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/rails/test/stage_one/.keep +0 -0
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/rails/test/stage_one/stage_dummy/.keep +0 -0
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/rails/test/stage_one/stage_test.rb +33 -0
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/{okonomi → sashimi}/stories/roll_your_own/roll_your_own.yml +1 -0
- 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
- 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
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/roll_your_own/templates/stage_one/%interpolated_stack_path%/test/.keep +0 -0
- 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
- 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
- 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
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/roll_your_own/templates/stage_one/.gitignore.tt +55 -0
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/roll_your_own/test/stage_one/dummy/.keep +0 -0
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/{okonomi → sashimi}/stories/roll_your_own/test/stage_one/stage_one_test.rb +8 -2
- data/lib/roro/version.rb +1 -1
- data/lib/roro.rb +4 -10
- data/mise/containers/backend/env/.keep +0 -0
- data/mise/containers/backend/scripts/.keep +0 -0
- data/mise/containers/database/env/.keep +0 -0
- data/mise/containers/database/scripts/.keep +0 -0
- data/mise/containers/frontend/env/.keep +0 -0
- data/mise/containers/frontend/scripts/.keep +0 -0
- data/mise/scripts/.keep +0 -0
- data/roro.gemspec +3 -5
- metadata +118 -76
- data/.ruby-version +0 -1
- data/lib/roro/cli/roll_your_own.rb +0 -12
- data/lib/roro/configurator.rb +0 -15
- 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
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/fatsufodo.yml +0 -1
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/django/django.yml +0 -36
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/django/templates/stage_one/Dockerfile.tt +0 -7
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/django/templates/stage_one/docker-compose.yml.tt +0 -20
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/django/templates/stage_one/requirements.txt.tt +0 -2
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/django/templates/stage_two/settings.py +0 -130
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/django/test/stage_one/stage_one_test.rb +0 -37
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/expressjs/expressjs.yml +0 -7
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/expressjs/templates/stage_one/Dockerfile.tt +0 -14
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/expressjs/templates/stage_one/docker-compose.yml.tt +0 -21
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/rails/templates/stage_one/Dockerfile.tt +0 -16
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/rails/templates/stage_one/Gemfile.tt +0 -2
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/rails/templates/stage_one/entrypoint.sh +0 -8
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/rails/templates/stage_two/database.yml.tt +0 -16
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/roro/templates/__MACOSX/scripts/._.DS_Store +0 -0
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/roro/templates/scripts/.DS_Store +0 -0
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/roro/templates/scripts/base/bundler.sh +0 -22
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/roro/templates/scripts/base/git.sh +0 -21
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/roro/templates/scripts/base/rvm.sh +0 -38
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/roro/templates/scripts/base/utilities.sh +0 -53
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/roro/templates/scripts/base.sh +0 -6
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/roro/templates/scripts/initialize/clone_idea.sh +0 -14
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/roro/templates/scripts/initialize/clone_repos.sh +0 -33
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/roro/templates/scripts/initialize/install_correct_bundler.sh +0 -21
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/roro/templates/scripts/initialize/install_rubies.sh +0 -6
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/roro/templates/scripts/initialize.sh +0 -18
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/roro/templates/scripts/roro.sh +0 -15
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/roro/templates/scripts/source.sh +0 -28
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/roro/templates/scripts/utility/bundle_all.sh +0 -12
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/roro/templates/scripts/utility/git_pull_all.sh +0 -15
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/roro/templates/scripts/utility/rvm_install_all.sh +0 -12
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/roro/templates/scripts/utility/yarn_install_all.sh +0 -10
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/wordpress/templates/stage_one/docker-compose.yml.tt +0 -31
- data/lib/roro/stacks/catalog/unstoppable/developer_styles/sashimi/stories/wordpress/wordpress.yml +0 -16
- data/process.yml +0 -401
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0f77094ee08c2da1aa1ada4646dd962af212dcc1ececb8ed0367199748324d25
|
4
|
+
data.tar.gz: 4d4463bd29b65c0bb29f7b031d64731204125a662e5674c65e5728efaa4e7153
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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:
|
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 >>\
|
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
|
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:
|
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 >>\
|
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
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
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:
|
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
|
123
|
+
- test:
|
119
124
|
<<: *major_only
|
120
125
|
matrix:
|
121
126
|
parameters:
|
122
|
-
version:
|
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
data/.idea/.gitignore
ADDED
data/.idea/misc.xml
ADDED
data/.idea/modules.xml
ADDED
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
data/CODE_OF_CONDUCT.md
CHANGED
@@ -1,74 +1,36 @@
|
|
1
1
|
# Contributor Covenant Code of Conduct
|
2
2
|
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
nationality, personal appearance, race, religion, or sexual identity and
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
*
|
18
|
-
*
|
19
|
-
*
|
20
|
-
*
|
21
|
-
*
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
*
|
28
|
-
*
|
29
|
-
*
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
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:
|
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:
|
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:
|
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
|
-
#
|
13
|
-
|
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 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
|
-
@
|
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 << "
|
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
|
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,
|
53
|
-
answer = @asker.confirm_default(@builder.override(e, k, v))
|
54
|
-
v[:value] = answer
|
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(@
|
67
|
+
@manifest.sort.each { |m| @writer.write(@structure, m) }
|
61
68
|
end
|
62
69
|
end
|
63
70
|
end
|