rails_app_generator 0.1.28 → 0.2.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.builders/generators/project-plan.rb +6 -3
- data/.rubocop.yml +2 -1
- data/CHANGELOG.md +29 -0
- data/after_templates/addons/acts_as_list/_.rb +0 -14
- data/after_templates/addons/mini_magick/_.rb +1 -1
- data/after_templates/application/printspeak/_.rb +55 -0
- data/after_templates/{rag_tailwind/component-section-begin.html → application/printspeak/app/assets/images/.keep} +0 -0
- data/after_templates/application/printspeak/app/assets/images/about/1.jpg +0 -0
- data/after_templates/application/printspeak/app/assets/images/about/2.jpg +0 -0
- data/after_templates/application/printspeak/app/assets/images/about/3.jpg +0 -0
- data/after_templates/application/printspeak/app/assets/images/about/4.jpg +0 -0
- data/after_templates/application/printspeak/app/assets/images/close-icon.svg +1 -0
- data/after_templates/application/printspeak/app/assets/images/header-bg.jpg +0 -0
- data/after_templates/application/printspeak/app/assets/images/logos/facebook.svg +34 -0
- data/after_templates/application/printspeak/app/assets/images/logos/google.svg +35 -0
- data/after_templates/application/printspeak/app/assets/images/logos/ibm.svg +24 -0
- data/after_templates/application/printspeak/app/assets/images/logos/microsoft.svg +42 -0
- data/after_templates/application/printspeak/app/assets/images/map-image.png +0 -0
- data/after_templates/application/printspeak/app/assets/images/navbar-logo.svg +1 -0
- data/after_templates/application/printspeak/app/assets/images/portfolio/1.jpg +0 -0
- data/after_templates/application/printspeak/app/assets/images/portfolio/2.jpg +0 -0
- data/after_templates/application/printspeak/app/assets/images/portfolio/3.jpg +0 -0
- data/after_templates/application/printspeak/app/assets/images/portfolio/4.jpg +0 -0
- data/after_templates/application/printspeak/app/assets/images/portfolio/5.jpg +0 -0
- data/after_templates/application/printspeak/app/assets/images/portfolio/6.jpg +0 -0
- data/after_templates/application/printspeak/app/assets/images/portfolio/alphagraphics.jpeg +0 -0
- data/after_templates/application/printspeak/app/assets/images/portfolio/brochure-transformed.jpeg +0 -0
- data/after_templates/application/printspeak/app/assets/images/portfolio/brochure.jpeg +0 -0
- data/after_templates/application/printspeak/app/assets/images/portfolio/kwikkopy.png +0 -0
- data/after_templates/application/printspeak/app/assets/images/portfolio/kwikkopy2.png +0 -0
- data/after_templates/application/printspeak/app/assets/images/printspeak-logo.svg +19 -0
- data/after_templates/application/printspeak/app/assets/images/team/1.jpg +0 -0
- data/after_templates/application/printspeak/app/assets/images/team/2.jpg +0 -0
- data/after_templates/application/printspeak/app/assets/images/team/3.jpg +0 -0
- data/after_templates/application/printspeak/app/assets/stylesheets/application.bootstrap.scss +3 -0
- data/after_templates/application/printspeak/app/assets/stylesheets/home/_global.scss +52 -0
- data/after_templates/application/printspeak/app/assets/stylesheets/home/_variables.scss +8 -0
- data/after_templates/application/printspeak/app/assets/stylesheets/home/components/_buttons.scss +24 -0
- data/after_templates/application/printspeak/app/assets/stylesheets/home/components/_navbar.scss +92 -0
- data/after_templates/application/printspeak/app/assets/stylesheets/home/sections/_contact.scss +71 -0
- data/after_templates/application/printspeak/app/assets/stylesheets/home/sections/_footer.scss +9 -0
- data/after_templates/application/printspeak/app/assets/stylesheets/home/sections/_masthead.scss +52 -0
- data/after_templates/application/printspeak/app/assets/stylesheets/home/sections/_portfolio.scss +108 -0
- data/after_templates/application/printspeak/app/assets/stylesheets/home/sections/_team.scss +24 -0
- data/after_templates/application/printspeak/app/assets/stylesheets/home/sections/_timeline.scss +214 -0
- data/after_templates/application/printspeak/app/assets/stylesheets/home/styles.scss +24 -0
- data/after_templates/application/printspeak/app/assets/stylesheets/home/variables/_colors.scss +15 -0
- data/after_templates/application/printspeak/app/assets/stylesheets/home/variables/_typography.scss +54 -0
- data/after_templates/application/printspeak/app/controllers/home_controller.rb +7 -0
- data/after_templates/application/printspeak/app/views/home/index.html.erb +321 -0
- data/after_templates/application/printspeak/app/views/layouts/_alerts.html.erb +2 -0
- data/after_templates/application/printspeak/app/views/layouts/_footer.html.erb +16 -0
- data/after_templates/application/printspeak/app/views/layouts/_navbar.html.erb +14 -0
- data/after_templates/application/printspeak/app/views/layouts/application.html.erb +29 -0
- data/after_templates/{rag_printspeak → application/printspeak/app/views}/page/_footer.html.erb +0 -0
- data/after_templates/{rag_printspeak → application/printspeak/app/views}/page/architecture.html.erb +0 -0
- data/after_templates/{rag_printspeak → application/printspeak/app/views}/page/blog.html.erb +0 -0
- data/after_templates/{rag_printspeak → application/printspeak/app/views}/page/faq.html.erb +0 -0
- data/after_templates/application/printspeak/app/views/page/page_controller.rb +27 -0
- data/after_templates/{rag_printspeak → application/printspeak/app/views}/page/readme.html.erb +0 -0
- data/after_templates/application/printspeak/db/seeds.rb +16 -0
- data/after_templates/printspeak_bak/_.rb +36 -0
- data/after_templates/{rag_printspeak → printspeak_bak}/application_controller.rb +0 -0
- data/after_templates/{rag_printspeak → printspeak_bak}/faq.html.erb +0 -0
- data/after_templates/{rag_printspeak → printspeak_bak}/layouts/_footer.html.erb +0 -0
- data/after_templates/{rag_printspeak → printspeak_bak}/layouts/_head.html.erb +0 -0
- data/after_templates/{rag_printspeak → printspeak_bak}/layouts/_navbar.html.erb +0 -0
- data/after_templates/{rag_printspeak → printspeak_bak}/layouts/application.html.erb +0 -0
- data/after_templates/printspeak_bak/page/_footer.html.erb +184 -0
- data/after_templates/printspeak_bak/page/architecture.html.erb +33 -0
- data/after_templates/printspeak_bak/page/blog.html.erb +44 -0
- data/after_templates/printspeak_bak/page/faq.html.erb +2 -0
- data/after_templates/{rag_printspeak → printspeak_bak}/page/home.html.erb +0 -0
- data/after_templates/{rag_printspeak → printspeak_bak}/page/page_controller.rb +0 -0
- data/after_templates/printspeak_bak/page/readme.html.erb +49 -0
- data/after_templates/{rag_bootstrap.rb → rag/bootstrap/_.rb} +1 -1
- data/after_templates/{rag_bootstrap → rag/bootstrap}/application-yield.html.erb +0 -0
- data/after_templates/{rag_bootstrap → rag/bootstrap}/application.html.erb +0 -0
- data/after_templates/{rag_bootstrap → rag/bootstrap}/component-cards-fancy.css +0 -0
- data/after_templates/{rag_bootstrap → rag/bootstrap}/component-cards-fancy.html +0 -0
- data/after_templates/{rag_bootstrap → rag/bootstrap}/component-cards-staff.css +0 -0
- data/after_templates/{rag_bootstrap → rag/bootstrap}/component-cards-staff.html +0 -0
- data/after_templates/{rag_bootstrap → rag/bootstrap}/component-cards-styled.html +0 -0
- data/after_templates/{rag_bootstrap → rag/bootstrap}/component-footer.html +0 -0
- data/after_templates/{rag_bootstrap → rag/bootstrap}/component-hero.html +0 -0
- data/after_templates/{rag_bootstrap → rag/bootstrap}/component-modal.html +0 -0
- data/after_templates/{rag_bootstrap → rag/bootstrap}/component-nav.html +0 -0
- data/after_templates/{rag_bootstrap → rag/bootstrap}/custom-bootstrap-import.scss +0 -0
- data/after_templates/{rag_bootstrap → rag/bootstrap}/custom-using-css.css +0 -0
- data/after_templates/{rag_bootstrap → rag/bootstrap}/custom-using-scss.scss +0 -0
- data/after_templates/{rag_bootstrap → rag/bootstrap}/manifest.js +0 -0
- data/after_templates/{rag_devise.rb → rag/devise/_.rb} +1 -1
- data/after_templates/{rag_devise → rag/devise}/application.html.erb +0 -0
- data/after_templates/{rag_devise → rag/devise}/application_controller.rb +0 -0
- data/after_templates/{rag_devise → rag/devise}/config/initializers/devise_turbo.rb +0 -0
- data/after_templates/{rag_devise → rag/devise}/layouts/_alerts.html.erb +0 -0
- data/after_templates/{rag_devise → rag/devise}/layouts/_footer.html.erb +0 -0
- data/after_templates/{rag_devise → rag/devise}/layouts/_navbar.html.erb +0 -0
- data/after_templates/{rag_devise → rag/devise}/layouts/application.html.erb +0 -0
- data/after_templates/{rag_devise → rag/devise}/post/_post.html.erb +0 -0
- data/after_templates/{rag_devise → rag/devise}/post/post.rb +0 -0
- data/after_templates/{rag_devise → rag/devise}/post/posts_controller.rb +0 -0
- data/after_templates/{rag_devise → rag/devise}/seed_data.rb +0 -0
- data/after_templates/{rag_devise → rag/devise}/turbo_controller.rb +0 -0
- data/after_templates/{rag_devise → rag/devise}/user.rb +0 -0
- data/after_templates/{rag_import_map.rb → rag/import_map/_.rb} +1 -1
- data/after_templates/{rag_import_map → rag/import_map}/component-sortable.html +0 -0
- data/after_templates/{rag_import_map → rag/import_map}/home.css +0 -0
- data/after_templates/{rag_import_map → rag/import_map}/position_controller.js +0 -0
- data/after_templates/{rag_simple.rb → rag/simple/_.rb} +1 -1
- data/after_templates/{rag_tailwind.rb → rag/tailwind/_.rb} +1 -1
- data/after_templates/{rag_tailwind → rag/tailwind}/component-cta.html +0 -0
- data/after_templates/{rag_tailwind → rag/tailwind}/component-faq.html +0 -0
- data/after_templates/{rag_tailwind → rag/tailwind}/component-footer.html +0 -0
- data/after_templates/{rag_tailwind → rag/tailwind}/component-hero.html +0 -0
- data/after_templates/{rag_tailwind → rag/tailwind}/component-nav.html +0 -0
- data/after_templates/{rag_tailwind/component-section-end.html → rag/tailwind/component-section-begin.html} +0 -0
- data/after_templates/{rag_tailwind_emulating_bootstrap/home/index.html.erb → rag/tailwind/component-section-end.html} +0 -0
- data/after_templates/{rag_tailwind_daisyui.rb → rag/tailwind_daisyui/_.rb} +1 -1
- data/after_templates/{rag_tailwind_daisyui → rag/tailwind_daisyui}/index.html.erb +0 -0
- data/after_templates/{rag_tailwind_emulating_bootstrap → rag/tailwind_emulating_bootstrap}/Procfile.dev +0 -0
- data/after_templates/{rag_tailwind_emulating_bootstrap.rb → rag/tailwind_emulating_bootstrap/_.rb} +1 -1
- data/after_templates/{rag_tailwind_emulating_bootstrap → rag/tailwind_emulating_bootstrap}/application.html.erb +0 -0
- data/after_templates/{rag_tailwind_emulating_bootstrap → rag/tailwind_emulating_bootstrap}/application.tailwind.css +0 -0
- data/after_templates/{rag_tailwind_emulating_bootstrap → rag/tailwind_emulating_bootstrap}/application_controller.rb +0 -0
- data/after_templates/{rag_tailwind_emulating_bootstrap → rag/tailwind_emulating_bootstrap}/home/_example.html.erb +0 -0
- data/after_templates/{rag_tailwind_emulating_bootstrap → rag/tailwind_emulating_bootstrap}/home/bootstrap.html.erb +0 -0
- data/after_templates/{rag_tailwind_emulating_bootstrap → rag/tailwind_emulating_bootstrap}/home/home_controller.rb +0 -0
- data/after_templates/rag/tailwind_emulating_bootstrap/home/index.html.erb +0 -0
- data/after_templates/{rag_tailwind_emulating_bootstrap → rag/tailwind_emulating_bootstrap}/home/tailwind.html.erb +0 -0
- data/after_templates/{rag_tailwind_hotwire.rb → rag/tailwind_hotwire/_.rb} +1 -1
- data/after_templates/{rag_tailwind_hotwire → rag/tailwind_hotwire}/home/controller.rb +0 -0
- data/after_templates/{rag_tailwind_hotwire → rag/tailwind_hotwire}/home/helper.rb +0 -0
- data/after_templates/{rag_tailwind_hotwire → rag/tailwind_hotwire}/home/increment.html.erb +0 -0
- data/after_templates/{rag_tailwind_hotwire → rag/tailwind_hotwire}/home/index.html +0 -0
- data/after_templates/{rag_tailwind_hotwire_flash.rb → rag/tailwind_hotwire_flash/_.rb} +1 -1
- data/after_templates/{rag_tailwind_hotwire_form.rb → rag/tailwind_hotwire_form/_.rb} +1 -1
- data/after_templates/{rag_tailwind_hotwire_form → rag/tailwind_hotwire_form}/_contact.html.erb +0 -0
- data/after_templates/{rag_tailwind_hotwire_form → rag/tailwind_hotwire_form}/_count.html.erb +0 -0
- data/after_templates/{rag_tailwind_hotwire_form → rag/tailwind_hotwire_form}/_flash.html.erb +0 -0
- data/after_templates/{rag_tailwind_hotwire_form → rag/tailwind_hotwire_form}/_form.html.erb +0 -0
- data/after_templates/{rag_tailwind_hotwire_form → rag/tailwind_hotwire_form}/_list.html.erb +0 -0
- data/after_templates/{rag_tailwind_hotwire_form → rag/tailwind_hotwire_form}/application.html.erb +0 -0
- data/after_templates/{rag_tailwind_hotwire_form → rag/tailwind_hotwire_form}/application.js +0 -0
- data/after_templates/{rag_tailwind_hotwire_form → rag/tailwind_hotwire_form}/application.tailwind.css +0 -0
- data/after_templates/{rag_tailwind_hotwire_form → rag/tailwind_hotwire_form}/application_helper.rb +0 -0
- data/after_templates/{rag_tailwind_hotwire_form → rag/tailwind_hotwire_form}/contact.rb +0 -0
- data/after_templates/{rag_tailwind_hotwire_form → rag/tailwind_hotwire_form}/contacts_controller.rb +0 -0
- data/after_templates/{rag_tailwind_hotwire_form → rag/tailwind_hotwire_form}/create.turbo_stream.erb +0 -0
- data/after_templates/{rag_tailwind_hotwire_form → rag/tailwind_hotwire_form}/edit.html.erb +0 -0
- data/after_templates/{rag_tailwind_hotwire_form → rag/tailwind_hotwire_form}/index.html.erb +0 -0
- data/after_templates/{rag_tailwind_hotwire_form → rag/tailwind_hotwire_form}/new.html.erb +0 -0
- data/after_templates/{rag_tailwind_hotwire_form → rag/tailwind_hotwire_form}/show.html.erb +0 -0
- data/after_templates/{rag_tailwind_hotwire_form → rag/tailwind_hotwire_form}/update.turbo_stream.erb +0 -0
- data/after_templates/{rag_tailwind_hotwire_form_search.rb → rag/tailwind_hotwire_form_search/_.rb} +1 -3
- data/after_templates/{rag_tailwind_hotwire_form_search → rag/tailwind_hotwire_form_search}/_contact.html.erb +0 -0
- data/after_templates/{rag_tailwind_hotwire_form_search → rag/tailwind_hotwire_form_search}/_count.html.erb +0 -0
- data/after_templates/{rag_tailwind_hotwire_form_search → rag/tailwind_hotwire_form_search}/_flash.html.erb +0 -0
- data/after_templates/{rag_tailwind_hotwire_form_search → rag/tailwind_hotwire_form_search}/_form.html.erb +0 -0
- data/after_templates/{rag_tailwind_hotwire_form_search → rag/tailwind_hotwire_form_search}/_list.html.erb +0 -0
- data/after_templates/{rag_tailwind_hotwire_form_search → rag/tailwind_hotwire_form_search}/_theme_changer.html.erb +0 -0
- data/after_templates/{rag_tailwind_hotwire_form_search → rag/tailwind_hotwire_form_search}/application.html.erb +0 -0
- data/after_templates/{rag_tailwind_hotwire_form_search → rag/tailwind_hotwire_form_search}/application.js +0 -0
- data/after_templates/{rag_tailwind_hotwire_form_search → rag/tailwind_hotwire_form_search}/application.tailwind.css +0 -0
- data/after_templates/{rag_tailwind_hotwire_form_search → rag/tailwind_hotwire_form_search}/application_helper.rb +0 -0
- data/after_templates/{rag_tailwind_hotwire_form_search → rag/tailwind_hotwire_form_search}/contact.rb +0 -0
- data/after_templates/{rag_tailwind_hotwire_form_search → rag/tailwind_hotwire_form_search}/contacts_controller.rb +0 -0
- data/after_templates/{rag_tailwind_hotwire_form_search → rag/tailwind_hotwire_form_search}/create.turbo_stream.erb +0 -0
- data/after_templates/{rag_tailwind_hotwire_form_search → rag/tailwind_hotwire_form_search}/edit.html.erb +0 -0
- data/after_templates/{rag_tailwind_hotwire_form_search → rag/tailwind_hotwire_form_search}/index.html.erb +0 -0
- data/after_templates/{rag_tailwind_hotwire_form_search → rag/tailwind_hotwire_form_search}/new.html.erb +0 -0
- data/after_templates/{rag_tailwind_hotwire_form_search → rag/tailwind_hotwire_form_search}/search_controller.js +0 -0
- data/after_templates/{rag_tailwind_hotwire_form_search → rag/tailwind_hotwire_form_search}/show.html.erb +0 -0
- data/after_templates/{rag_tailwind_hotwire_form_search → rag/tailwind_hotwire_form_search}/theme_changer_controller.js +0 -0
- data/after_templates/{rag_tailwind_hotwire_form_search → rag/tailwind_hotwire_form_search}/update.turbo_stream.erb +0 -0
- data/docs/last_run/app_generator_class.json +430 -0
- data/docs/last_run/app_generator_data.json +49 -0
- data/docs/last_run/rails_options_class.json +430 -0
- data/docs/last_run/rails_options_data.json +57 -0
- data/docs/project-plan/project.drawio +49 -46
- data/docs/project-plan/project_todo.svg +1 -1
- data/exe/rag +2 -0
- data/lib/rails_app_generator/addons/annotate.rb +0 -3
- data/lib/rails_app_generator/addons/twilio_ruby.rb +13 -0
- data/lib/rails_app_generator/app_generator.rb +37 -162
- data/lib/rails_app_generator/cli/profile.rb +3 -1
- data/lib/rails_app_generator/configuration/rag_configuration.rb +18 -0
- data/lib/rails_app_generator/configuration/rag_configuration_extension.rb +14 -0
- data/lib/rails_app_generator/options/build_option.rb +14 -9
- data/lib/rails_app_generator/options/options_builder.rb +57 -9
- data/lib/rails_app_generator/options/rails_options.rb +6 -68
- data/lib/rails_app_generator/rag_initializer.rb +252 -0
- data/lib/rails_app_generator/util.rb +26 -0
- data/lib/rails_app_generator/version.rb +1 -1
- data/lib/rails_app_generator.rb +4 -1
- data/package-lock.json +2 -2
- data/package.json +1 -1
- data/profiles/addons/mini_magick.json +2 -1
- data/profiles/application/printspeak.json +12 -0
- data/profiles/default/printspeak.json +12 -0
- data/profiles/{rag-printspeak.json → printspeak.json} +3 -2
- data/profiles/{rag-bootstrap.json → rag/bootstrap.json} +1 -1
- data/profiles/{rag-devise.json → rag/devise.json} +1 -1
- data/profiles/{rag-import-map.json → rag/import-map.json} +1 -1
- data/profiles/{rag-simple.json → rag/simple.json} +3 -2
- data/profiles/{rag-tailwind-daisyui.json → rag/tailwind-daisyui.json} +1 -1
- data/profiles/{rag-tailwind-emulating-bootstrap.json → rag/tailwind-emulating-bootstrap.json} +2 -3
- data/profiles/{rag-tailwind-hotwire-flash.json → rag/tailwind-hotwire-flash.json} +1 -1
- data/profiles/{rag-tailwind-hotwire-form-search.json → rag/tailwind-hotwire-form-search.json} +1 -1
- data/profiles/{rag-tailwind-hotwire-form.json → rag/tailwind-hotwire-form.json} +1 -1
- data/profiles/{rag-tailwind-hotwire.json → rag/tailwind-hotwire.json} +1 -1
- data/profiles/{rag-tailwind.json → rag/tailwind.json} +3 -2
- data/tasks/profile.thor +1 -1
- data/templates/thor_task/addon/addon.tt +2 -6
- data/templates/thor_task/profile/after_template.rb +1 -0
- metadata +208 -130
- data/after_templates/rag_printspeak.rb +0 -36
- data/profiles/rag-add-some-pages.json +0 -11
- data/profiles/rag-sample.json +0 -13
@@ -1,131 +1,134 @@
|
|
1
|
-
<mxfile host="
|
2
|
-
<diagram id="
|
1
|
+
<mxfile host="owd">
|
2
|
+
<diagram id="oUq" name="In progress">
|
3
3
|
<mxGraphModel dx="0" dy="0" background="#FFFAFA" grid="0" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1169" pageHeight="827" math="0" shadow="0">
|
4
4
|
<root>
|
5
|
-
<mxCell id="
|
6
|
-
<mxCell id="
|
7
|
-
<mxCell id="
|
5
|
+
<mxCell id="page_root_oUq" parent="oUq"/>
|
6
|
+
<mxCell id="node_root_oUq" parent="page_root_oUq"/>
|
7
|
+
<mxCell id="oUq-2" value="add profile - rag_tailwind_hotwire_flash" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#d5e8d4;strokeColor=#82b366;fontColor=#333333" vertex="1" parent="node_root_oUq">
|
8
8
|
<mxGeometry x="10" y="10" width="300" height="60" as="geometry"/>
|
9
9
|
</mxCell>
|
10
10
|
</root>
|
11
11
|
</mxGraphModel>
|
12
12
|
</diagram>
|
13
|
-
<diagram id="
|
13
|
+
<diagram id="0xA" name="To Do">
|
14
14
|
<mxGraphModel dx="0" dy="0" background="#FFFAFA" grid="0" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1169" pageHeight="827" math="0" shadow="0">
|
15
15
|
<root>
|
16
|
-
<mxCell id="
|
17
|
-
<mxCell id="
|
18
|
-
<mxCell id="
|
16
|
+
<mxCell id="page_root_0xA" parent="0xA"/>
|
17
|
+
<mxCell id="node_root_0xA" parent="page_root_0xA"/>
|
18
|
+
<mxCell id="0xA-2" value="add google fonts" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_0xA">
|
19
19
|
<mxGeometry x="10" y="10" width="300" height="60" as="geometry"/>
|
20
20
|
</mxCell>
|
21
|
-
<mxCell id="
|
21
|
+
<mxCell id="0xA-3" value="broken profile - tailwind-hotwire-form - tailwind-hotwire-form-search, tailwind-hotwire-flash, " style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_0xA">
|
22
22
|
<mxGeometry x="330" y="10" width="300" height="60" as="geometry"/>
|
23
23
|
</mxCell>
|
24
|
-
<mxCell id="
|
24
|
+
<mxCell id="0xA-4" value="look at the sample tailwind pages in P7 and turn them into an addon" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_0xA">
|
25
25
|
<mxGeometry x="650" y="10" width="300" height="60" as="geometry"/>
|
26
26
|
</mxCell>
|
27
|
-
<mxCell id="
|
27
|
+
<mxCell id="0xA-5" value="add auto open flag to profile and command line" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_0xA">
|
28
28
|
<mxGeometry x="10" y="90" width="300" height="60" as="geometry"/>
|
29
29
|
</mxCell>
|
30
|
-
<mxCell id="
|
30
|
+
<mxCell id="0xA-6" value="add profile - stimulas" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_0xA">
|
31
31
|
<mxGeometry x="330" y="90" width="300" height="60" as="geometry"/>
|
32
32
|
</mxCell>
|
33
|
-
<mxCell id="
|
33
|
+
<mxCell id="0xA-7" value="add profile - hotwire" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_0xA">
|
34
34
|
<mxGeometry x="650" y="90" width="300" height="60" as="geometry"/>
|
35
35
|
</mxCell>
|
36
|
-
<mxCell id="
|
36
|
+
<mxCell id="0xA-8" value="add profile - turbo" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_0xA">
|
37
37
|
<mxGeometry x="10" y="170" width="300" height="60" as="geometry"/>
|
38
38
|
</mxCell>
|
39
|
-
<mxCell id="
|
39
|
+
<mxCell id="0xA-9" value="add profile - vue" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_0xA">
|
40
40
|
<mxGeometry x="330" y="170" width="300" height="60" as="geometry"/>
|
41
41
|
</mxCell>
|
42
|
-
<mxCell id="
|
42
|
+
<mxCell id="0xA-10" value="add profile - svelte" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_0xA">
|
43
43
|
<mxGeometry x="650" y="170" width="300" height="60" as="geometry"/>
|
44
44
|
</mxCell>
|
45
|
-
<mxCell id="
|
45
|
+
<mxCell id="0xA-11" value="add profile - react" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_0xA">
|
46
46
|
<mxGeometry x="10" y="250" width="300" height="60" as="geometry"/>
|
47
47
|
</mxCell>
|
48
|
-
<mxCell id="
|
48
|
+
<mxCell id="0xA-12" value="add profile - vite" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_0xA">
|
49
49
|
<mxGeometry x="330" y="250" width="300" height="60" as="geometry"/>
|
50
50
|
</mxCell>
|
51
|
-
<mxCell id="
|
51
|
+
<mxCell id="0xA-13" value="add profile - docker" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_0xA">
|
52
52
|
<mxGeometry x="650" y="250" width="300" height="60" as="geometry"/>
|
53
53
|
</mxCell>
|
54
|
-
<mxCell id="
|
54
|
+
<mxCell id="0xA-14" value="add encryption" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_0xA">
|
55
55
|
<mxGeometry x="10" y="330" width="300" height="60" as="geometry"/>
|
56
56
|
</mxCell>
|
57
|
-
<mxCell id="
|
57
|
+
<mxCell id="0xA-15" value="cli help support for diff" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_0xA">
|
58
58
|
<mxGeometry x="330" y="330" width="300" height="60" as="geometry"/>
|
59
59
|
</mxCell>
|
60
|
-
<mxCell id="
|
60
|
+
<mxCell id="0xA-16" value="cli support for rails new (rag new should work like rails new) - buggy, need to work through" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_0xA">
|
61
61
|
<mxGeometry x="650" y="330" width="300" height="60" as="geometry"/>
|
62
62
|
</mxCell>
|
63
|
+
<mxCell id="0xA-17" value="need an option for deleting target project path" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_0xA">
|
64
|
+
<mxGeometry x="10" y="410" width="300" height="60" as="geometry"/>
|
65
|
+
</mxCell>
|
63
66
|
</root>
|
64
67
|
</mxGraphModel>
|
65
68
|
</diagram>
|
66
|
-
<diagram id="
|
69
|
+
<diagram id="fvb" name="Done">
|
67
70
|
<mxGraphModel dx="0" dy="0" background="#FFFAFA" grid="0" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1169" pageHeight="827" math="0" shadow="0">
|
68
71
|
<root>
|
69
|
-
<mxCell id="
|
70
|
-
<mxCell id="
|
71
|
-
<mxCell id="
|
72
|
+
<mxCell id="page_root_fvb" parent="fvb"/>
|
73
|
+
<mxCell id="node_root_fvb" parent="page_root_fvb"/>
|
74
|
+
<mxCell id="fvb-2" value="add addon - groupdate" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_fvb">
|
72
75
|
<mxGeometry x="10" y="10" width="300" height="60" as="geometry"/>
|
73
76
|
</mxCell>
|
74
|
-
<mxCell id="
|
77
|
+
<mxCell id="fvb-3" value="add addon - chartkick" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_fvb">
|
75
78
|
<mxGeometry x="330" y="10" width="300" height="60" as="geometry"/>
|
76
79
|
</mxCell>
|
77
|
-
<mxCell id="
|
80
|
+
<mxCell id="fvb-4" value="add addon - browser" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_fvb">
|
78
81
|
<mxGeometry x="650" y="10" width="300" height="60" as="geometry"/>
|
79
82
|
</mxCell>
|
80
|
-
<mxCell id="
|
83
|
+
<mxCell id="fvb-5" value="add addon - faker" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_fvb">
|
81
84
|
<mxGeometry x="10" y="90" width="300" height="60" as="geometry"/>
|
82
85
|
</mxCell>
|
83
|
-
<mxCell id="
|
86
|
+
<mxCell id="fvb-6" value="add addon - acts_as_list" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_fvb">
|
84
87
|
<mxGeometry x="330" y="90" width="300" height="60" as="geometry"/>
|
85
88
|
</mxCell>
|
86
|
-
<mxCell id="
|
89
|
+
<mxCell id="fvb-7" value="add addon - twilio" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_fvb">
|
87
90
|
<mxGeometry x="650" y="90" width="300" height="60" as="geometry"/>
|
88
91
|
</mxCell>
|
89
|
-
<mxCell id="
|
92
|
+
<mxCell id="fvb-8" value="add addon - honeybadger" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_fvb">
|
90
93
|
<mxGeometry x="10" y="170" width="300" height="60" as="geometry"/>
|
91
94
|
</mxCell>
|
92
|
-
<mxCell id="
|
95
|
+
<mxCell id="fvb-9" value="add profile - rails-html-sanitizer" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_fvb">
|
93
96
|
<mxGeometry x="330" y="170" width="300" height="60" as="geometry"/>
|
94
97
|
</mxCell>
|
95
|
-
<mxCell id="
|
98
|
+
<mxCell id="fvb-10" value="add profile - tailwind-emulating-bootstrap" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_fvb">
|
96
99
|
<mxGeometry x="650" y="170" width="300" height="60" as="geometry"/>
|
97
100
|
</mxCell>
|
98
|
-
<mxCell id="
|
101
|
+
<mxCell id="fvb-11" value="add profile - tailwind-hotwire-form-search" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_fvb">
|
99
102
|
<mxGeometry x="10" y="250" width="300" height="60" as="geometry"/>
|
100
103
|
</mxCell>
|
101
|
-
<mxCell id="
|
104
|
+
<mxCell id="fvb-12" value="add profile - tailwind-hotwire-form" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_fvb">
|
102
105
|
<mxGeometry x="330" y="250" width="300" height="60" as="geometry"/>
|
103
106
|
</mxCell>
|
104
|
-
<mxCell id="
|
107
|
+
<mxCell id="fvb-13" value="add profile - tailwind-hotwire" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_fvb">
|
105
108
|
<mxGeometry x="650" y="250" width="300" height="60" as="geometry"/>
|
106
109
|
</mxCell>
|
107
|
-
<mxCell id="
|
110
|
+
<mxCell id="fvb-14" value="add profile - import-map" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_fvb">
|
108
111
|
<mxGeometry x="10" y="330" width="300" height="60" as="geometry"/>
|
109
112
|
</mxCell>
|
110
|
-
<mxCell id="
|
113
|
+
<mxCell id="fvb-15" value="profile - fix the bootstrap profile" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_fvb">
|
111
114
|
<mxGeometry x="330" y="330" width="300" height="60" as="geometry"/>
|
112
115
|
</mxCell>
|
113
|
-
<mxCell id="
|
116
|
+
<mxCell id="fvb-16" value="cli support for profile" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_fvb">
|
114
117
|
<mxGeometry x="650" y="330" width="300" height="60" as="geometry"/>
|
115
118
|
</mxCell>
|
116
|
-
<mxCell id="
|
119
|
+
<mxCell id="fvb-17" value="separate CLI methods into include modules" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_fvb">
|
117
120
|
<mxGeometry x="10" y="410" width="300" height="60" as="geometry"/>
|
118
121
|
</mxCell>
|
119
|
-
<mxCell id="
|
122
|
+
<mxCell id="fvb-18" value="cli support for diff" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_fvb">
|
120
123
|
<mxGeometry x="330" y="410" width="300" height="60" as="geometry"/>
|
121
124
|
</mxCell>
|
122
|
-
<mxCell id="
|
125
|
+
<mxCell id="fvb-19" value="add diff tool - open in editor" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_fvb">
|
123
126
|
<mxGeometry x="650" y="410" width="300" height="60" as="geometry"/>
|
124
127
|
</mxCell>
|
125
|
-
<mxCell id="
|
128
|
+
<mxCell id="fvb-20" value="add diff tool supporting lhs only, rhs only, same and different" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_fvb">
|
126
129
|
<mxGeometry x="10" y="490" width="300" height="60" as="geometry"/>
|
127
130
|
</mxCell>
|
128
|
-
<mxCell id="
|
131
|
+
<mxCell id="fvb-21" value="add project plan to do list" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#f8cecc;strokeColor=#b85450;fontColor=#333333" vertex="1" parent="node_root_fvb">
|
129
132
|
<mxGeometry x="330" y="490" width="300" height="60" as="geometry"/>
|
130
133
|
</mxCell>
|
131
134
|
</root>
|
@@ -1,3 +1,3 @@
|
|
1
1
|
<?xml version="1.0" encoding="UTF-8"?>
|
2
2
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
3
|
-
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="942px" height="382px" viewBox="-0.5 -0.5 942 382"><defs><linearGradient x1="0%" y1="0%" x2="0%" y2="100%" id="mx-gradient-ffffff-0.9-ffffff-0.1-s-0"><stop offset="0%" style="stop-color: rgb(255, 255, 255); stop-opacity: 0.9;"/><stop offset="100%" style="stop-color: rgb(255, 255, 255); stop-opacity: 0.1;"/></linearGradient></defs><g><rect x="0" y="0" width="300" height="60" rx="9" ry="9" fill="#dae8fc" stroke="#6c8ebf" pointer-events="all"/><path d="M 10.15 -1 Q -1 -1 -1 10.15 L -1 24 Q 150 42 301 24 L 301 10.15 Q 301 -1 289.85 -1 Z" fill="url(#mx-gradient-ffffff-0.9-ffffff-0.1-s-0)" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 298px; height: 1px; padding-top: 30px; margin-left: 1px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">generator for new profiles</div></div></div></foreignObject><text x="150" y="34" fill="#333333" font-family="Helvetica" font-size="12px" text-anchor="middle">generator for new profiles</text></switch></g><rect x="320" y="0" width="300" height="60" rx="9" ry="9" fill="#dae8fc" stroke="#6c8ebf" pointer-events="all"/><path d="M 330.15 -1 Q 319 -1 319 10.15 L 319 24 Q 470 42 621 24 L 621 10.15 Q 621 -1 609.85 -1 Z" fill="url(#mx-gradient-ffffff-0.9-ffffff-0.1-s-0)" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 298px; height: 1px; padding-top: 30px; margin-left: 321px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">look at the sample tailwind pages in P7 and turn them into an addon</div></div></div></foreignObject><text x="470" y="34" fill="#333333" font-family="Helvetica" font-size="12px" text-anchor="middle">look at the sample tailwind pages in P7 and turn t...</text></switch></g><rect x="640" y="0" width="300" height="60" rx="9" ry="9" fill="#dae8fc" stroke="#6c8ebf" pointer-events="all"/><path d="M 650.15 -1 Q 639 -1 639 10.15 L 639 24 Q 790 42 941 24 L 941 10.15 Q 941 -1 929.85 -1 Z" fill="url(#mx-gradient-ffffff-0.9-ffffff-0.1-s-0)" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 298px; height: 1px; padding-top: 30px; margin-left: 641px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">add auto open flag to profile and command line</div></div></div></foreignObject><text x="790" y="34" fill="#333333" font-family="Helvetica" font-size="12px" text-anchor="middle">add auto open flag to profile and command line</text></switch></g><rect x="0" y="80" width="300" height="60" rx="9" ry="9" fill="#dae8fc" stroke="#6c8ebf" pointer-events="all"/><path d="M 10.15 79 Q -1 79 -1 90.15 L -1 104 Q 150 122 301 104 L 301 90.15 Q 301 79 289.85 79 Z" fill="url(#mx-gradient-ffffff-0.9-ffffff-0.1-s-0)" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 298px; height: 1px; padding-top: 110px; margin-left: 1px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">add profile - stimulas</div></div></div></foreignObject><text x="150" y="114" fill="#333333" font-family="Helvetica" font-size="12px" text-anchor="middle">add profile - stimulas</text></switch></g><rect x="320" y="80" width="300" height="60" rx="9" ry="9" fill="#dae8fc" stroke="#6c8ebf" pointer-events="all"/><path d="M 330.15 79 Q 319 79 319 90.15 L 319 104 Q 470 122 621 104 L 621 90.15 Q 621 79 609.85 79 Z" fill="url(#mx-gradient-ffffff-0.9-ffffff-0.1-s-0)" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 298px; height: 1px; padding-top: 110px; margin-left: 321px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">add profile - hotwire</div></div></div></foreignObject><text x="470" y="114" fill="#333333" font-family="Helvetica" font-size="12px" text-anchor="middle">add profile - hotwire</text></switch></g><rect x="640" y="80" width="300" height="60" rx="9" ry="9" fill="#dae8fc" stroke="#6c8ebf" pointer-events="all"/><path d="M 650.15 79 Q 639 79 639 90.15 L 639 104 Q 790 122 941 104 L 941 90.15 Q 941 79 929.85 79 Z" fill="url(#mx-gradient-ffffff-0.9-ffffff-0.1-s-0)" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 298px; height: 1px; padding-top: 110px; margin-left: 641px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">add profile - turbo</div></div></div></foreignObject><text x="790" y="114" fill="#333333" font-family="Helvetica" font-size="12px" text-anchor="middle">add profile - turbo</text></switch></g><rect x="0" y="160" width="300" height="60" rx="9" ry="9" fill="#dae8fc" stroke="#6c8ebf" pointer-events="all"/><path d="M 10.15 159 Q -1 159 -1 170.15 L -1 184 Q 150 202 301 184 L 301 170.15 Q 301 159 289.85 159 Z" fill="url(#mx-gradient-ffffff-0.9-ffffff-0.1-s-0)" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 298px; height: 1px; padding-top: 190px; margin-left: 1px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">add profile - vue</div></div></div></foreignObject><text x="150" y="194" fill="#333333" font-family="Helvetica" font-size="12px" text-anchor="middle">add profile - vue</text></switch></g><rect x="320" y="160" width="300" height="60" rx="9" ry="9" fill="#dae8fc" stroke="#6c8ebf" pointer-events="all"/><path d="M 330.15 159 Q 319 159 319 170.15 L 319 184 Q 470 202 621 184 L 621 170.15 Q 621 159 609.85 159 Z" fill="url(#mx-gradient-ffffff-0.9-ffffff-0.1-s-0)" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 298px; height: 1px; padding-top: 190px; margin-left: 321px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">add profile - svelte</div></div></div></foreignObject><text x="470" y="194" fill="#333333" font-family="Helvetica" font-size="12px" text-anchor="middle">add profile - svelte</text></switch></g><rect x="640" y="160" width="300" height="60" rx="9" ry="9" fill="#dae8fc" stroke="#6c8ebf" pointer-events="all"/><path d="M 650.15 159 Q 639 159 639 170.15 L 639 184 Q 790 202 941 184 L 941 170.15 Q 941 159 929.85 159 Z" fill="url(#mx-gradient-ffffff-0.9-ffffff-0.1-s-0)" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 298px; height: 1px; padding-top: 190px; margin-left: 641px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">add profile - react</div></div></div></foreignObject><text x="790" y="194" fill="#333333" font-family="Helvetica" font-size="12px" text-anchor="middle">add profile - react</text></switch></g><rect x="0" y="240" width="300" height="60" rx="9" ry="9" fill="#dae8fc" stroke="#6c8ebf" pointer-events="all"/><path d="M 10.15 239 Q -1 239 -1 250.15 L -1 264 Q 150 282 301 264 L 301 250.15 Q 301 239 289.85 239 Z" fill="url(#mx-gradient-ffffff-0.9-ffffff-0.1-s-0)" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 298px; height: 1px; padding-top: 270px; margin-left: 1px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">add profile - vite</div></div></div></foreignObject><text x="150" y="274" fill="#333333" font-family="Helvetica" font-size="12px" text-anchor="middle">add profile - vite</text></switch></g><rect x="320" y="240" width="300" height="60" rx="9" ry="9" fill="#dae8fc" stroke="#6c8ebf" pointer-events="all"/><path d="M 330.15 239 Q 319 239 319 250.15 L 319 264 Q 470 282 621 264 L 621 250.15 Q 621 239 609.85 239 Z" fill="url(#mx-gradient-ffffff-0.9-ffffff-0.1-s-0)" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 298px; height: 1px; padding-top: 270px; margin-left: 321px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">add profile - docker</div></div></div></foreignObject><text x="470" y="274" fill="#333333" font-family="Helvetica" font-size="12px" text-anchor="middle">add profile - docker</text></switch></g><rect x="640" y="240" width="300" height="60" rx="9" ry="9" fill="#dae8fc" stroke="#6c8ebf" pointer-events="all"/><path d="M 650.15 239 Q 639 239 639 250.15 L 639 264 Q 790 282 941 264 L 941 250.15 Q 941 239 929.85 239 Z" fill="url(#mx-gradient-ffffff-0.9-ffffff-0.1-s-0)" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 298px; height: 1px; padding-top: 270px; margin-left: 641px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">add encryption</div></div></div></foreignObject><text x="790" y="274" fill="#333333" font-family="Helvetica" font-size="12px" text-anchor="middle">add encryption</text></switch></g><rect x="0" y="320" width="300" height="60" rx="9" ry="9" fill="#dae8fc" stroke="#6c8ebf" pointer-events="all"/><path d="M 10.15 319 Q -1 319 -1 330.15 L -1 344 Q 150 362 301 344 L 301 330.15 Q 301 319 289.85 319 Z" fill="url(#mx-gradient-ffffff-0.9-ffffff-0.1-s-0)" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 298px; height: 1px; padding-top: 350px; margin-left: 1px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">cli help support for diff</div></div></div></foreignObject><text x="150" y="354" fill="#333333" font-family="Helvetica" font-size="12px" text-anchor="middle">cli help support for diff</text></switch></g><rect x="320" y="320" width="300" height="60" rx="9" ry="9" fill="#dae8fc" stroke="#6c8ebf" pointer-events="all"/><path d="M 330.15 319 Q 319 319 319 330.15 L 319 344 Q 470 362 621 344 L 621 330.15 Q 621 319 609.85 319 Z" fill="url(#mx-gradient-ffffff-0.9-ffffff-0.1-s-0)" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 298px; height: 1px; padding-top: 350px; margin-left: 321px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">cli support for rails new (rag new should work like rails new) - buggy, need to work through</div></div></div></foreignObject><text x="470" y="354" fill="#333333" font-family="Helvetica" font-size="12px" text-anchor="middle">cli support for rails new (rag new should work lik...</text></switch></g><rect x="640" y="320" width="300" height="60" rx="9" ry="9" fill="#dae8fc" stroke="#6c8ebf" pointer-events="all"/><path d="M 650.15 319 Q 639 319 639 330.15 L 639 344 Q 790 362 941 344 L 941 330.15 Q 941 319 929.85 319 Z" fill="url(#mx-gradient-ffffff-0.9-ffffff-0.1-s-0)" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 298px; height: 1px; padding-top: 350px; margin-left: 641px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">need an option for deleting target project path</div></div></div></foreignObject><text x="790" y="354" fill="#333333" font-family="Helvetica" font-size="12px" text-anchor="middle">need an option for deleting target project path</text></switch></g></g><switch><g requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"/><a transform="translate(0,-5)" xlink:href="https://www.diagrams.net/doc/faq/svg-export-text-problems" target="_blank"><text text-anchor="middle" font-size="10px" x="50%" y="100%">Text is not SVG - cannot display</text></a></switch></svg>
|
3
|
+
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="942px" height="462px" viewBox="-0.5 -0.5 942 462"><defs><linearGradient x1="0%" y1="0%" x2="0%" y2="100%" id="mx-gradient-ffffff-0.9-ffffff-0.1-s-0"><stop offset="0%" style="stop-color: rgb(255, 255, 255); stop-opacity: 0.9;"/><stop offset="100%" style="stop-color: rgb(255, 255, 255); stop-opacity: 0.1;"/></linearGradient></defs><g><rect x="0" y="0" width="300" height="60" rx="9" ry="9" fill="#dae8fc" stroke="#6c8ebf" pointer-events="all"/><path d="M 10.15 -1 Q -1 -1 -1 10.15 L -1 24 Q 150 42 301 24 L 301 10.15 Q 301 -1 289.85 -1 Z" fill="url(#mx-gradient-ffffff-0.9-ffffff-0.1-s-0)" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 298px; height: 1px; padding-top: 30px; margin-left: 1px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">add google fonts</div></div></div></foreignObject><text x="150" y="34" fill="#333333" font-family="Helvetica" font-size="12px" text-anchor="middle">add google fonts</text></switch></g><rect x="320" y="0" width="300" height="60" rx="9" ry="9" fill="#dae8fc" stroke="#6c8ebf" pointer-events="all"/><path d="M 330.15 -1 Q 319 -1 319 10.15 L 319 24 Q 470 42 621 24 L 621 10.15 Q 621 -1 609.85 -1 Z" fill="url(#mx-gradient-ffffff-0.9-ffffff-0.1-s-0)" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 298px; height: 1px; padding-top: 30px; margin-left: 321px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">broken profile - tailwind-hotwire-form - tailwind-hotwire-form-search, tailwind-hotwire-flash, </div></div></div></foreignObject><text x="470" y="34" fill="#333333" font-family="Helvetica" font-size="12px" text-anchor="middle">broken profile - tailwind-hotwire-form - tailwind-...</text></switch></g><rect x="640" y="0" width="300" height="60" rx="9" ry="9" fill="#dae8fc" stroke="#6c8ebf" pointer-events="all"/><path d="M 650.15 -1 Q 639 -1 639 10.15 L 639 24 Q 790 42 941 24 L 941 10.15 Q 941 -1 929.85 -1 Z" fill="url(#mx-gradient-ffffff-0.9-ffffff-0.1-s-0)" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 298px; height: 1px; padding-top: 30px; margin-left: 641px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">look at the sample tailwind pages in P7 and turn them into an addon</div></div></div></foreignObject><text x="790" y="34" fill="#333333" font-family="Helvetica" font-size="12px" text-anchor="middle">look at the sample tailwind pages in P7 and turn t...</text></switch></g><rect x="0" y="80" width="300" height="60" rx="9" ry="9" fill="#dae8fc" stroke="#6c8ebf" pointer-events="all"/><path d="M 10.15 79 Q -1 79 -1 90.15 L -1 104 Q 150 122 301 104 L 301 90.15 Q 301 79 289.85 79 Z" fill="url(#mx-gradient-ffffff-0.9-ffffff-0.1-s-0)" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 298px; height: 1px; padding-top: 110px; margin-left: 1px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">add auto open flag to profile and command line</div></div></div></foreignObject><text x="150" y="114" fill="#333333" font-family="Helvetica" font-size="12px" text-anchor="middle">add auto open flag to profile and command line</text></switch></g><rect x="320" y="80" width="300" height="60" rx="9" ry="9" fill="#dae8fc" stroke="#6c8ebf" pointer-events="all"/><path d="M 330.15 79 Q 319 79 319 90.15 L 319 104 Q 470 122 621 104 L 621 90.15 Q 621 79 609.85 79 Z" fill="url(#mx-gradient-ffffff-0.9-ffffff-0.1-s-0)" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 298px; height: 1px; padding-top: 110px; margin-left: 321px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">add profile - stimulas</div></div></div></foreignObject><text x="470" y="114" fill="#333333" font-family="Helvetica" font-size="12px" text-anchor="middle">add profile - stimulas</text></switch></g><rect x="640" y="80" width="300" height="60" rx="9" ry="9" fill="#dae8fc" stroke="#6c8ebf" pointer-events="all"/><path d="M 650.15 79 Q 639 79 639 90.15 L 639 104 Q 790 122 941 104 L 941 90.15 Q 941 79 929.85 79 Z" fill="url(#mx-gradient-ffffff-0.9-ffffff-0.1-s-0)" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 298px; height: 1px; padding-top: 110px; margin-left: 641px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">add profile - hotwire</div></div></div></foreignObject><text x="790" y="114" fill="#333333" font-family="Helvetica" font-size="12px" text-anchor="middle">add profile - hotwire</text></switch></g><rect x="0" y="160" width="300" height="60" rx="9" ry="9" fill="#dae8fc" stroke="#6c8ebf" pointer-events="all"/><path d="M 10.15 159 Q -1 159 -1 170.15 L -1 184 Q 150 202 301 184 L 301 170.15 Q 301 159 289.85 159 Z" fill="url(#mx-gradient-ffffff-0.9-ffffff-0.1-s-0)" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 298px; height: 1px; padding-top: 190px; margin-left: 1px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">add profile - turbo</div></div></div></foreignObject><text x="150" y="194" fill="#333333" font-family="Helvetica" font-size="12px" text-anchor="middle">add profile - turbo</text></switch></g><rect x="320" y="160" width="300" height="60" rx="9" ry="9" fill="#dae8fc" stroke="#6c8ebf" pointer-events="all"/><path d="M 330.15 159 Q 319 159 319 170.15 L 319 184 Q 470 202 621 184 L 621 170.15 Q 621 159 609.85 159 Z" fill="url(#mx-gradient-ffffff-0.9-ffffff-0.1-s-0)" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 298px; height: 1px; padding-top: 190px; margin-left: 321px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">add profile - vue</div></div></div></foreignObject><text x="470" y="194" fill="#333333" font-family="Helvetica" font-size="12px" text-anchor="middle">add profile - vue</text></switch></g><rect x="640" y="160" width="300" height="60" rx="9" ry="9" fill="#dae8fc" stroke="#6c8ebf" pointer-events="all"/><path d="M 650.15 159 Q 639 159 639 170.15 L 639 184 Q 790 202 941 184 L 941 170.15 Q 941 159 929.85 159 Z" fill="url(#mx-gradient-ffffff-0.9-ffffff-0.1-s-0)" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 298px; height: 1px; padding-top: 190px; margin-left: 641px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">add profile - svelte</div></div></div></foreignObject><text x="790" y="194" fill="#333333" font-family="Helvetica" font-size="12px" text-anchor="middle">add profile - svelte</text></switch></g><rect x="0" y="240" width="300" height="60" rx="9" ry="9" fill="#dae8fc" stroke="#6c8ebf" pointer-events="all"/><path d="M 10.15 239 Q -1 239 -1 250.15 L -1 264 Q 150 282 301 264 L 301 250.15 Q 301 239 289.85 239 Z" fill="url(#mx-gradient-ffffff-0.9-ffffff-0.1-s-0)" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 298px; height: 1px; padding-top: 270px; margin-left: 1px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">add profile - react</div></div></div></foreignObject><text x="150" y="274" fill="#333333" font-family="Helvetica" font-size="12px" text-anchor="middle">add profile - react</text></switch></g><rect x="320" y="240" width="300" height="60" rx="9" ry="9" fill="#dae8fc" stroke="#6c8ebf" pointer-events="all"/><path d="M 330.15 239 Q 319 239 319 250.15 L 319 264 Q 470 282 621 264 L 621 250.15 Q 621 239 609.85 239 Z" fill="url(#mx-gradient-ffffff-0.9-ffffff-0.1-s-0)" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 298px; height: 1px; padding-top: 270px; margin-left: 321px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">add profile - vite</div></div></div></foreignObject><text x="470" y="274" fill="#333333" font-family="Helvetica" font-size="12px" text-anchor="middle">add profile - vite</text></switch></g><rect x="640" y="240" width="300" height="60" rx="9" ry="9" fill="#dae8fc" stroke="#6c8ebf" pointer-events="all"/><path d="M 650.15 239 Q 639 239 639 250.15 L 639 264 Q 790 282 941 264 L 941 250.15 Q 941 239 929.85 239 Z" fill="url(#mx-gradient-ffffff-0.9-ffffff-0.1-s-0)" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 298px; height: 1px; padding-top: 270px; margin-left: 641px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">add profile - docker</div></div></div></foreignObject><text x="790" y="274" fill="#333333" font-family="Helvetica" font-size="12px" text-anchor="middle">add profile - docker</text></switch></g><rect x="0" y="320" width="300" height="60" rx="9" ry="9" fill="#dae8fc" stroke="#6c8ebf" pointer-events="all"/><path d="M 10.15 319 Q -1 319 -1 330.15 L -1 344 Q 150 362 301 344 L 301 330.15 Q 301 319 289.85 319 Z" fill="url(#mx-gradient-ffffff-0.9-ffffff-0.1-s-0)" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 298px; height: 1px; padding-top: 350px; margin-left: 1px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">add encryption</div></div></div></foreignObject><text x="150" y="354" fill="#333333" font-family="Helvetica" font-size="12px" text-anchor="middle">add encryption</text></switch></g><rect x="320" y="320" width="300" height="60" rx="9" ry="9" fill="#dae8fc" stroke="#6c8ebf" pointer-events="all"/><path d="M 330.15 319 Q 319 319 319 330.15 L 319 344 Q 470 362 621 344 L 621 330.15 Q 621 319 609.85 319 Z" fill="url(#mx-gradient-ffffff-0.9-ffffff-0.1-s-0)" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 298px; height: 1px; padding-top: 350px; margin-left: 321px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">cli help support for diff</div></div></div></foreignObject><text x="470" y="354" fill="#333333" font-family="Helvetica" font-size="12px" text-anchor="middle">cli help support for diff</text></switch></g><rect x="640" y="320" width="300" height="60" rx="9" ry="9" fill="#dae8fc" stroke="#6c8ebf" pointer-events="all"/><path d="M 650.15 319 Q 639 319 639 330.15 L 639 344 Q 790 362 941 344 L 941 330.15 Q 941 319 929.85 319 Z" fill="url(#mx-gradient-ffffff-0.9-ffffff-0.1-s-0)" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 298px; height: 1px; padding-top: 350px; margin-left: 641px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">cli support for rails new (rag new should work like rails new) - buggy, need to work through</div></div></div></foreignObject><text x="790" y="354" fill="#333333" font-family="Helvetica" font-size="12px" text-anchor="middle">cli support for rails new (rag new should work lik...</text></switch></g><rect x="0" y="400" width="300" height="60" rx="9" ry="9" fill="#dae8fc" stroke="#6c8ebf" pointer-events="all"/><path d="M 10.15 399 Q -1 399 -1 410.15 L -1 424 Q 150 442 301 424 L 301 410.15 Q 301 399 289.85 399 Z" fill="url(#mx-gradient-ffffff-0.9-ffffff-0.1-s-0)" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 298px; height: 1px; padding-top: 430px; margin-left: 1px;"><div data-drawio-colors="color: #333333; " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">need an option for deleting target project path</div></div></div></foreignObject><text x="150" y="434" fill="#333333" font-family="Helvetica" font-size="12px" text-anchor="middle">need an option for deleting target project path</text></switch></g></g><switch><g requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"/><a transform="translate(0,-5)" xlink:href="https://www.diagrams.net/doc/faq/svg-export-text-problems" target="_blank"><text text-anchor="middle" font-size="10px" x="50%" y="100%">Text is not SVG - cannot display</text></a></switch></svg>
|
data/exe/rag
CHANGED
@@ -22,6 +22,8 @@ elsif first == 'diff'
|
|
22
22
|
elsif first == 'new'
|
23
23
|
RailsAppGenerator::AppGenerator.start(ARGV[1..], destination_root: '/Users/davidcruwys/dev/kgems/rails_app_generator/a/rag')
|
24
24
|
else
|
25
|
+
require 'rails_app_generator/rag_initializer'
|
26
|
+
|
25
27
|
fallback_profile_path = File.expand_path("#{Pathname.new(__FILE__).dirname}/../profiles")
|
26
28
|
args = ['profile'] + ARGV + ["--fallback-profile-path=#{fallback_profile_path}"]
|
27
29
|
|
@@ -8,9 +8,6 @@ module RailsAppGenerator
|
|
8
8
|
depends_on :active_record
|
9
9
|
|
10
10
|
required_gem gem.version('annotate', '3.2.0', 'Annotates Rails/ActiveRecord Models, routes, fixtures, and others based on the database schema.')
|
11
|
-
# required_gem gem.version('bob', '1.2.3', 'Something Here with lots of data and other stuff to fill out the comment')
|
12
|
-
# required_gem gem.new 'jbuilder', %w[1 2], 'Build JSON APIs with ease [https://github.com/rails/jbuilder]', { xxx: 'yyy', zzz: 'aaa' }, true
|
13
|
-
# required_gem gem.version('rails', %w[abc xyz], %(Bundle edge Rails instead: gem "rails", github: "rails/rails", branch: "main"))
|
14
11
|
|
15
12
|
def apply
|
16
13
|
template('auto_annotate_models.rake', 'lib/tasks/auto_annotate_models.rake', force: true)
|
@@ -0,0 +1,13 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module RailsAppGenerator
|
4
|
+
# Custom add-ons for RailsAppGenerator
|
5
|
+
module AddOns
|
6
|
+
# Add TwilioRuby to rails application
|
7
|
+
class TwilioRuby < RailsAppGenerator::Addon
|
8
|
+
required_gem gem.version('twilio-ruby', '5.70.0', 'The official library for communicating with the Twilio REST API, building TwiML, and generating Twilio JWT Capability Tokens')
|
9
|
+
|
10
|
+
def apply; end
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
@@ -5,158 +5,6 @@
|
|
5
5
|
module RailsAppGenerator
|
6
6
|
# AppGenerator is a wrapper for Rails::AppGenerator
|
7
7
|
class AppGenerator < Rails::Generators::AppGenerator
|
8
|
-
class_option :test , type: :string , default: 'rspec'
|
9
|
-
|
10
|
-
# Gem Current Latest Requested Groups
|
11
|
-
# aws-sdk
|
12
|
-
# capistrano-bundler 1.6.0 2.1.0 ~> 1.2 development, test
|
13
|
-
# capybara 3.33.0 3.37.1 = 3.33.0 development, test
|
14
|
-
# clamby 1.6.6 1.6.8 = 1.6.6 default
|
15
|
-
# createsend 5.1.1 6.0.0 ~> 5.1 default
|
16
|
-
# database_cleaner 1.7.0 2.0.1 = 1.7.0 development, test
|
17
|
-
# erubi 1.10.0 1.11.0
|
18
|
-
# factory_bot 5.2.0 6.2.1
|
19
|
-
# factory_bot_rails 5.2.0 6.2.0 = 5.2.0 development, test
|
20
|
-
# guard-bundler 2.2.1 3.0.0 = 2.2.1 development, test
|
21
|
-
# guard-rubocop 1.4.0 1.5.0 = 1.4.0 development, test
|
22
|
-
# http-accept 1.7.0 2.2.0
|
23
|
-
# net-ssh 6.1.0 7.0.1
|
24
|
-
# oauth2 1.4.10 2.0.6
|
25
|
-
# omniauth-oauth2 1.7.3 1.8.0
|
26
|
-
# paper_trail 10.3.1 12.3.0 ~> 10.3 default
|
27
|
-
# pg 0.21.0 1.4.2 ~> 0.20 default
|
28
|
-
# pg_search 2.3.0 2.3.6 ~> 2.0 default
|
29
|
-
# pry 0.13.1 0.14.1
|
30
|
-
# public_suffix 2.0.5 5.0.0 ~> 2.0 default
|
31
|
-
# pusher 1.4.3 2.0.2 ~> 1.3 default
|
32
|
-
# rack-mini-profiler 0.10.7 3.0.0 ~> 0.10 default
|
33
|
-
# rack-test 0.6.3 2.0.2
|
34
|
-
# rails 5.0.7.2 7.0.3.1 = 5.0.7.2 default
|
35
|
-
# railties 5.0.7.2 7.0.3.1
|
36
|
-
# ransack 1.8.10 3.2.1 ~> 1.8 default
|
37
|
-
# redis 3.3.5 4.7.1 ~> 3.3 default
|
38
|
-
# redis-store 1.6.0 1.9.1
|
39
|
-
# regexp_parser 1.8.2 2.5.0
|
40
|
-
# rspec 3.10.0 3.11.0
|
41
|
-
# rspec-core 3.10.1 3.11.0 = 3.10.1 development, test
|
42
|
-
# rspec-expectations 3.10.1 3.11.0 = 3.10.1 development, test
|
43
|
-
# rspec-mocks 3.10.2 3.11.1 = 3.10.2 development, test
|
44
|
-
# rspec-rails 4.1.2 5.1.2 = 4.1.2 development, test
|
45
|
-
# rspec-support 3.10.2 3.11.0 = 3.10.2 development, test
|
46
|
-
# rubyzip 1.3.0 2.3.2 ~> 1.3 default
|
47
|
-
# scenic 1.5.4 1.6.0 = 1.5.4 default
|
48
|
-
# scout_apm 4.1.2 5.2.0 ~> 4.1 default
|
49
|
-
# selenium-webdriver 3.142.7 4.3.0 = 3.142.7 development, test
|
50
|
-
# shoulda-matchers 4.0.1 5.1.0 = 4.0.1 development, test
|
51
|
-
# sidekiq 4.2.10 6.5.1 ~> 4.2 default
|
52
|
-
# sidekiq-pool 1.9.3 2.0.1 ~> 1.8 default
|
53
|
-
# sidekiq-unique-jobs 6.0.25 7.1.27 ~> 6.0 default
|
54
|
-
# spring 2.1.1 4.0.0 ~> 2.0 development, test
|
55
|
-
# sprockets 3.7.2 4.1.1 ~> 3.7 default
|
56
|
-
# sprockets-rails 3.2.2 3.4.2
|
57
|
-
# timecop 0.8.1 0.9.5 = 0.8.1 development, test
|
58
|
-
# tzinfo 1.2.10 2.0.5
|
59
|
-
# uglifier 3.2.0 4.2.0 ~> 3.2 default
|
60
|
-
# unicorn 5.8.0 6.1.0 ~> 5.3 default
|
61
|
-
# webmock 3.13.0 3.16.0 = 3.13.0 development, test
|
62
|
-
# websocket-driver 0.6.5 0.7.5
|
63
|
-
|
64
|
-
# acts_as_list 0.9.19 1.0.4 ~> 0.9 default
|
65
|
-
# arel 7.1.4 9.0.0
|
66
|
-
# bigdecimal 1.4.4 3.1.2 ~> 1.4 development, test
|
67
|
-
# binding_of_caller 0.8.0 1.0.0 ~> 0.8 default
|
68
|
-
# browser 2.7.1 5.3.1 ~> 2.3 default
|
69
|
-
# capistrano-bundler 1.6.0 2.1.0 ~> 1.2 development, test
|
70
|
-
# capybara 3.33.0 3.37.1 = 3.33.0 development, test
|
71
|
-
# chartkick 2.3.5 4.2.0 ~> 2.3 default
|
72
|
-
# childprocess 3.0.0 4.1.0
|
73
|
-
# clamby 1.6.6 1.6.8 = 1.6.6 default
|
74
|
-
# createsend 5.1.1 6.0.0 ~> 5.1 default
|
75
|
-
# database_cleaner 1.7.0 2.0.1 = 1.7.0 development, test
|
76
|
-
# factory_bot 5.2.0 6.2.1
|
77
|
-
# factory_bot_rails 5.2.0 6.2.0 = 5.2.0 development, test
|
78
|
-
# faker 1.9.6 2.22.0 ~> 1.7 default
|
79
|
-
# groupdate 4.3.0 6.1.0 ~> 4.1 default
|
80
|
-
# guard-bundler 2.2.1 3.0.0 = 2.2.1 development, test
|
81
|
-
# guard-rubocop 1.4.0 1.5.0 = 1.4.0 development, test
|
82
|
-
# hashie 3.6.0 5.0.0
|
83
|
-
# http-accept 1.7.0 2.1.1
|
84
|
-
# k_log 0.0.18 0.0.33 = 0.0.18 development, test
|
85
|
-
# net-ssh 6.1.0 7.0.1
|
86
|
-
# oauth2 1.4.10 2.0.6
|
87
|
-
# omniauth-oauth2 1.7.3 1.8.0
|
88
|
-
# paper_trail 10.3.1 12.3.0 ~> 10.3 default
|
89
|
-
# pg 0.21.0 1.4.2 ~> 0.20 default
|
90
|
-
# pg_search 2.3.0 2.3.6 ~> 2.0 default
|
91
|
-
# pry 0.13.1 0.14.1
|
92
|
-
# public_suffix 2.0.5 5.0.0 ~> 2.0 default
|
93
|
-
# pusher 1.4.3 2.0.2 ~> 1.3 default
|
94
|
-
# rack-mini-profiler 0.10.7 3.0.0 ~> 0.10 default
|
95
|
-
# rack-test 0.6.3 2.0.2
|
96
|
-
# rails 5.0.7.2 7.0.3.1 = 5.0.7.2 default
|
97
|
-
# railties 5.0.7.2 7.0.3.1
|
98
|
-
# ransack 1.8.10 3.2.1 ~> 1.8 default
|
99
|
-
# redis 3.3.5 4.7.1 ~> 3.3 default
|
100
|
-
# redis-store 1.6.0 1.9.1
|
101
|
-
# regexp_parser 1.8.2 2.5.0
|
102
|
-
# rspec 3.10.0 3.11.0
|
103
|
-
# rspec-core 3.10.1 3.11.0 = 3.10.1 development, test
|
104
|
-
# rspec-expectations 3.10.1 3.11.0 = 3.10.1 development, test
|
105
|
-
# rspec-mocks 3.10.2 3.11.1 = 3.10.2 development, test
|
106
|
-
# rspec-rails 4.1.2 5.1.2 = 4.1.2 development, test
|
107
|
-
# rspec-support 3.10.2 3.11.0 = 3.10.2 development, test
|
108
|
-
# rubyzip 1.3.0 2.3.2 ~> 1.3 default
|
109
|
-
# scenic 1.5.4 1.6.0 = 1.5.4 default
|
110
|
-
# scout_apm 4.1.2 5.2.0 ~> 4.1 default
|
111
|
-
# selenium-webdriver 3.142.7 4.3.0 = 3.142.7 development, test
|
112
|
-
# shoulda-matchers 4.0.1 5.1.0 = 4.0.1 development, test
|
113
|
-
# sidekiq 4.2.10 6.5.1 ~> 4.2 default
|
114
|
-
# sidekiq-pool 1.9.3 2.0.1 ~> 1.8 default
|
115
|
-
# sidekiq-unique-jobs 6.0.25 7.1.27 ~> 6.0 default
|
116
|
-
# spring 2.1.1 4.0.0 ~> 2.0 development, test
|
117
|
-
# sprockets 3.7.2 4.1.1 ~> 3.7 default
|
118
|
-
# sprockets-rails 3.2.2 3.4.2
|
119
|
-
# timecop 0.8.1 0.9.5 = 0.8.1 development, test
|
120
|
-
# tzinfo 1.2.10 2.0.5
|
121
|
-
# uglifier 3.2.0 4.2.0 ~> 3.2 default
|
122
|
-
# unicorn 5.8.0 6.1.0 ~> 5.3 default
|
123
|
-
# webmock 3.13.0 3.14.0 = 3.13.0 development, test
|
124
|
-
# websocket-driver 0.6.5 0.7.5
|
125
|
-
|
126
|
-
class_option :add_irbrc , type: :boolean, default: false
|
127
|
-
class_option :add_foreman , type: :boolean, default: false
|
128
|
-
class_option :add_devise , type: :boolean, default: false
|
129
|
-
class_option :add_dotenv , type: :boolean, default: false
|
130
|
-
class_option :add_docker , type: :boolean, default: false
|
131
|
-
class_option :add_docker_compose , type: :boolean, default: false
|
132
|
-
class_option :add_rubocop , type: :boolean, default: false
|
133
|
-
class_option :add_annotate , type: :boolean, default: false
|
134
|
-
class_option :add_continuous_integration , type: :boolean, default: false
|
135
|
-
class_option :add_high_voltage , type: :boolean, default: false
|
136
|
-
class_option :add_generators , type: :boolean, default: false
|
137
|
-
class_option :add_lograge , type: :boolean, default: false
|
138
|
-
class_option :add_pundit , type: :boolean, default: false
|
139
|
-
class_option :add_services , type: :boolean, default: false
|
140
|
-
class_option :add_sidekiq , type: :boolean, default: false
|
141
|
-
class_option :add_views , type: :boolean, default: false
|
142
|
-
class_option :add_errors , type: :boolean, default: false
|
143
|
-
class_option :add_scaffold , type: :boolean, default: false
|
144
|
-
class_option :add_factory_bot , type: :boolean, default: false
|
145
|
-
class_option :add_shoulda , type: :boolean, default: false
|
146
|
-
|
147
|
-
# NEW GEM ADDONS
|
148
|
-
class_option :add_acts_as_list , type: :boolean, default: false
|
149
|
-
class_option :add_browser , type: :boolean, default: false
|
150
|
-
class_option :add_chartkick , type: :boolean, default: false
|
151
|
-
class_option :add_faker , type: :boolean, default: false
|
152
|
-
class_option :add_groupdate , type: :boolean, default: false
|
153
|
-
class_option :add_hexapdf , type: :boolean, default: false
|
154
|
-
class_option :add_httparty , type: :boolean, default: false
|
155
|
-
class_option :add_honeybadger , type: :boolean, default: false
|
156
|
-
class_option :add_mini_magick , type: :boolean, default: false
|
157
|
-
class_option :add_rails_html_sanitizer , type: :boolean, default: false
|
158
|
-
class_option :add_twilio_ruby , type: :boolean, default: false
|
159
|
-
|
160
8
|
class << self
|
161
9
|
# points to the original rails templates
|
162
10
|
attr_writer :rails_template_path
|
@@ -179,6 +27,35 @@ module RailsAppGenerator
|
|
179
27
|
@addon_template_path ||= gem_template_path('rails_app_generator', 'templates/addons/%<addon>s')
|
180
28
|
end
|
181
29
|
|
30
|
+
def add_class_option(option)
|
31
|
+
find_name = option.name.to_s
|
32
|
+
existing_option = class_options.find { |class_option| class_option[1].name == find_name }
|
33
|
+
|
34
|
+
return if existing_option
|
35
|
+
|
36
|
+
args = {
|
37
|
+
type: option.type,
|
38
|
+
default: option.default,
|
39
|
+
required: option.required
|
40
|
+
}
|
41
|
+
|
42
|
+
# for some reason, Railties uses :desc while thor uses :description and thor has nice humanization when key is missing
|
43
|
+
args[:desc] = option.description unless option.description
|
44
|
+
|
45
|
+
class_option(option.name, **args)
|
46
|
+
end
|
47
|
+
|
48
|
+
def to_h
|
49
|
+
thor_options = class_options.map { |o| o[1] }
|
50
|
+
options_hash = RailsAppGenerator::Util.thor_options_to_hash(thor_options)
|
51
|
+
|
52
|
+
# class_options_detailed: options_hash,
|
53
|
+
{
|
54
|
+
class_option_keys: options_hash.map { |option| option[:name] },
|
55
|
+
class_options: options_hash.map { |option| option.slice(:name, :description, :type, :default, :required) }
|
56
|
+
}
|
57
|
+
end
|
58
|
+
|
182
59
|
private
|
183
60
|
|
184
61
|
def gem_template_path(gem_name, template_path)
|
@@ -202,16 +79,11 @@ module RailsAppGenerator
|
|
202
79
|
|
203
80
|
attr_reader :addon_instances
|
204
81
|
|
205
|
-
# attr_reader :before_bundle_addon_callbacks
|
206
|
-
# attr_reader :after_bundle_addon_callbacks
|
207
|
-
|
208
82
|
def initialize(*args)
|
209
83
|
super
|
210
84
|
|
211
85
|
@force_copy = false
|
212
86
|
@addon_instances = []
|
213
|
-
# @before_bundle_addon_callbacks = []
|
214
|
-
# @after_bundle_addon_callbacks = []
|
215
87
|
|
216
88
|
# puts '----------------------------------------------------'
|
217
89
|
# puts options
|
@@ -271,6 +143,8 @@ module RailsAppGenerator
|
|
271
143
|
# end
|
272
144
|
|
273
145
|
def create_root_files
|
146
|
+
RailsAppGenerator::Util.write_last_run('app_generator_data.json', to_h)
|
147
|
+
|
274
148
|
super
|
275
149
|
|
276
150
|
add_if(:irbrc)
|
@@ -331,13 +205,14 @@ module RailsAppGenerator
|
|
331
205
|
end
|
332
206
|
|
333
207
|
no_commands do
|
334
|
-
|
335
|
-
|
336
|
-
|
337
|
-
|
338
|
-
File.join(File.dirname(xxx), File.basename(xxx, '.*'))
|
208
|
+
def to_h
|
209
|
+
{
|
210
|
+
options: options
|
211
|
+
}
|
339
212
|
end
|
340
213
|
|
214
|
+
# https://codingpackets.com/blog/rails-generators-cheat-sheet/
|
215
|
+
|
341
216
|
# force_copy? # defaults to false
|
342
217
|
# force_copy(true) # set to true
|
343
218
|
# force_copy(false) # set to false
|