rails_app_generator 0.0.15 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.builders/generators/project-plan.rb +15 -3
- data/.rubocop.yml +1 -0
- data/CHANGELOG.md +28 -0
- data/README.md +10 -1
- data/after_templates/rag_bootstrap/component-modal.html +18 -0
- data/after_templates/rag_bootstrap.rb +80 -0
- data/after_templates/rag_import_map/component-sortable.html +9 -0
- data/after_templates/rag_import_map/home.css +12 -0
- data/after_templates/rag_import_map/position_controller.js +10 -0
- data/after_templates/rag_import_map.rb +44 -0
- data/after_templates/rag_simple.rb +2 -13
- data/after_templates/rag_tailwind_hotwire/home/controller.rb +9 -0
- data/after_templates/rag_tailwind_hotwire/home/helper.rb +7 -0
- data/after_templates/rag_tailwind_hotwire/home/increment.html.erb +4 -0
- data/after_templates/rag_tailwind_hotwire/home/index.html +5 -0
- data/after_templates/rag_tailwind_hotwire.rb +23 -0
- data/docs/project-plan/project.drawio +62 -20
- data/docs/project-plan/project_done.svg +1 -1
- data/docs/project-plan/project_in_progress.svg +1 -1
- data/docs/project-plan/project_todo.svg +1 -1
- data/exe/rag +23 -51
- data/lib/rails_app_generator/app_generator.rb +4 -0
- data/lib/rails_app_generator/cli/diff.rb +49 -0
- data/lib/rails_app_generator/cli/profile.rb +37 -0
- data/lib/rails_app_generator/diff/processor.rb +4 -1
- data/lib/rails_app_generator/diff/report.rb +1 -1
- data/lib/rails_app_generator/starter.rb +4 -0
- data/lib/rails_app_generator/version.rb +1 -1
- data/lib/rails_app_generator.rb +2 -1
- data/package-lock.json +2 -2
- data/package.json +1 -1
- data/profiles/rag-import-map.json +11 -0
- data/profiles/rag-simple.json +1 -1
- data/profiles/rag-tailwind-hotwire.json +12 -0
- metadata +15 -4
- data/after_templates/___base_template.rb +0 -1
- data/after_templates/___r7_hotwire.rb +0 -1
- data/lib/rails_app_generator/cli.rb +0 -64
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 52910e6cbc4c2985a98a24d7786a1711e3004511d4047b97037c73f43355dd30
|
4
|
+
data.tar.gz: 7156016d4fc968fe23fa4c5068da48c5a5b087899822556c8484493a045026d8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0767dd3e641b70864186624f83ac45c9210d6ba884258d648c28c048da2ea8b6b0a4edc708543d4bec09a08a38f272f1311f5ba5d4ac2a614143cab9517b2d26
|
7
|
+
data.tar.gz: 03bcd1e0dd42e3f21869a0ab807fd7d91975f00ca50c32d305987d99d3d68d8b7f923a482afa2265a9a68800e1e927374599a91006ff61958546f2936015de49
|
@@ -7,22 +7,34 @@ KManager.action :project_plan do
|
|
7
7
|
.page('In progress', theme: :style_03, margin_left: 0, margin_top: 0) do
|
8
8
|
grid_layout(y: 90, direction: :horizontal, grid_h: 80, grid_w: 320, wrap_at: 3, grid: 0)
|
9
9
|
|
10
|
-
todo(title: 'cli support for profile')
|
11
|
-
|
12
10
|
end
|
13
11
|
.page('To Do', theme: :style_02, margin_left: 0, margin_top: 0) do
|
14
12
|
|
15
13
|
grid_layout(y:90, direction: :horizontal, grid_h: 80, grid_w: 320, wrap_at: 3, grid: 0)
|
16
14
|
|
15
|
+
todo(title: 'add auto open flag to profile and command line')
|
16
|
+
todo(title: 'add profile - stimulas')
|
17
|
+
todo(title: 'add profile - hotwire')
|
18
|
+
todo(title: 'add profile - turbo')
|
19
|
+
todo(title: 'add profile - vue')
|
20
|
+
todo(title: 'add profile - svelte')
|
21
|
+
todo(title: 'add profile - react')
|
22
|
+
todo(title: 'add profile - vite')
|
23
|
+
todo(title: 'add profile - docker') # https://www.youtube.com/watch?v=ZhrnqHVVo1g
|
24
|
+
todo(title: 'add encryption - https://youtu.be/ZmwNzod1trk?t=701')
|
17
25
|
todo(title: 'cli help support for diff')
|
18
26
|
todo(title: 'cli support for rails new (rag new should work like rails new) - buggy, need to work through')
|
19
27
|
todo(title: 'need an option for deleting target project path') # FileUtils.rm_rf(instance.target_path)
|
20
|
-
|
21
28
|
end
|
22
29
|
.page('Done', theme: :style_06, margin_left: 0, margin_top: 0) do
|
23
30
|
|
24
31
|
grid_layout(y:90, direction: :horizontal, grid_h: 80, grid_w: 320, wrap_at: 3, grid: 0)
|
25
32
|
|
33
|
+
todo(title: 'add profile - tailwind_hotwire')
|
34
|
+
todo(title: 'add profile - import_map') # vs esbuild - import_map is a replacement for webpacker
|
35
|
+
todo(title: 'profile - fix the bootstrap profile')
|
36
|
+
todo(title: 'cli support for profile')
|
37
|
+
todo(title: 'separate CLI methods into include modules')
|
26
38
|
todo(title: 'cli support for diff')
|
27
39
|
todo(title: 'add diff tool - open in editor')
|
28
40
|
todo(title: 'add diff tool supporting lhs only, rhs only, same and different')
|
data/.rubocop.yml
CHANGED
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,31 @@
|
|
1
|
+
## [0.1.1](https://github.com/klueless-io/rails_app_generator/compare/v0.1.0...v0.1.1) (2022-07-26)
|
2
|
+
|
3
|
+
|
4
|
+
### Bug Fixes
|
5
|
+
|
6
|
+
* add profile import_map ([9cda9ec](https://github.com/klueless-io/rails_app_generator/commit/9cda9ecc85992a0903450dbd9245795fc471d9a5))
|
7
|
+
|
8
|
+
# [0.1.0](https://github.com/klueless-io/rails_app_generator/compare/v0.0.15...v0.1.0) (2022-07-26)
|
9
|
+
|
10
|
+
|
11
|
+
### Bug Fixes
|
12
|
+
|
13
|
+
* fix cops ([caab557](https://github.com/klueless-io/rails_app_generator/commit/caab557ac6bd42df3e732024b8d71d97238c3a22))
|
14
|
+
* fix failing specs ([94dbc85](https://github.com/klueless-io/rails_app_generator/commit/94dbc85a898da8954927b8a0e2979f83d6850e79))
|
15
|
+
* separate CLI methods into include modules ([2357654](https://github.com/klueless-io/rails_app_generator/commit/235765457f736d56f5ee64b064d2fe666c71ead8))
|
16
|
+
|
17
|
+
|
18
|
+
### Features
|
19
|
+
|
20
|
+
* first release ([0bf3adb](https://github.com/klueless-io/rails_app_generator/commit/0bf3adba504a8524c821b4497c9d5e001126e3d3))
|
21
|
+
|
22
|
+
## [0.0.15](https://github.com/klueless-io/rails_app_generator/compare/v0.0.14...v0.0.15) (2022-07-26)
|
23
|
+
|
24
|
+
|
25
|
+
### Bug Fixes
|
26
|
+
|
27
|
+
* update project plan documentation ([7ed1728](https://github.com/klueless-io/rails_app_generator/commit/7ed1728e081149e56eb4292f37825169a5f21690))
|
28
|
+
|
1
29
|
## [0.0.14](https://github.com/klueless-io/rails_app_generator/compare/v0.0.13...v0.0.14) (2022-07-26)
|
2
30
|
|
3
31
|
|
data/README.md
CHANGED
@@ -22,6 +22,15 @@ Or install it yourself as:
|
|
22
22
|
gem install rails_app_generator
|
23
23
|
```
|
24
24
|
|
25
|
+
Use the Gem
|
26
|
+
|
27
|
+
```
|
28
|
+
rag rag-simple
|
29
|
+
rag rag-tailwind
|
30
|
+
rag rag-bootstrap
|
31
|
+
```
|
32
|
+
|
33
|
+
|
25
34
|
## Notes
|
26
35
|
|
27
36
|
You can use rails_app_generator to create Rails 7 applications
|
@@ -37,7 +46,7 @@ Templates for rails are separated from templates for addons
|
|
37
46
|
|
38
47
|
As a Developer, I want to create new Rails application with flexible opinions so that I can build different rails proof of concepts
|
39
48
|
|
40
|
-
|
49
|
+
[Project Plan](./docs/project-plan.md)
|
41
50
|
|
42
51
|
|
43
52
|
## Usage
|
@@ -0,0 +1,18 @@
|
|
1
|
+
<!-- Modal -->
|
2
|
+
<div class="modal fade" id="exampleModal" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true">
|
3
|
+
<div class="modal-dialog">
|
4
|
+
<div class="modal-content">
|
5
|
+
<div class="modal-header">
|
6
|
+
<h5 class="modal-title" id="exampleModalLabel">Modal title</h5>
|
7
|
+
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
|
8
|
+
</div>
|
9
|
+
<div class="modal-body">
|
10
|
+
...
|
11
|
+
</div>
|
12
|
+
<div class="modal-footer">
|
13
|
+
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Close</button>
|
14
|
+
<button type="button" class="btn btn-primary">Save changes</button>
|
15
|
+
</div>
|
16
|
+
</div>
|
17
|
+
</div>
|
18
|
+
</div>
|
@@ -1 +1,81 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# Rails 7 with Bootstrap CSS and custom CSS
|
4
|
+
# resources:
|
5
|
+
# https://www.youtube.com/watch?v=tYr8yn7yRKw
|
6
|
+
# https://youtu.be/phOUsR0dm5s?t=493
|
7
|
+
# https://www.youtube.com/watch?v=nxKDTtuKOo4
|
8
|
+
|
9
|
+
require 'pry'
|
10
|
+
|
11
|
+
def add_customizations
|
12
|
+
self.local_template_path = File.join(File.dirname(__FILE__), 'rag_bootstrap')
|
13
|
+
|
14
|
+
gac 'base rails 7 image created'
|
15
|
+
|
16
|
+
add_controller('home', 'index', 'about')
|
17
|
+
route("root 'home#index'")
|
18
|
+
|
19
|
+
# need a join template method
|
20
|
+
index_content = join_templates(
|
21
|
+
'component-nav.html',
|
22
|
+
'component-hero.html',
|
23
|
+
'component-cards-fancy.html',
|
24
|
+
'component-cards-staff.html',
|
25
|
+
'component-cards-styled.html',
|
26
|
+
'component-modal.html',
|
27
|
+
'component-footer.html'
|
28
|
+
)
|
29
|
+
|
30
|
+
# move the nav bar into
|
31
|
+
# 'app/views/shared/_navbar.html.erb'
|
32
|
+
# and add the nav bar to the layout
|
33
|
+
# 'app/views/layouts/application.html.erb'
|
34
|
+
# <%= render partial: 'shared/navbar' %>
|
35
|
+
|
36
|
+
create_file 'app/views/home/index.html.erb', index_content, force: true
|
37
|
+
|
38
|
+
gem 'sassc-rails'
|
39
|
+
|
40
|
+
after_bundle do
|
41
|
+
add_css_customizations
|
42
|
+
add_crud_people
|
43
|
+
|
44
|
+
rails_command('db:migrate')
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
48
|
+
def add_css_customizations
|
49
|
+
# Update the manifest to include the stylesheets
|
50
|
+
append_to_file 'app/assets/config/manifest.js' , read_template('manifest.js')
|
51
|
+
|
52
|
+
# This is how you would add custom styling via @import in the application.bootstrap.css
|
53
|
+
append_to_file 'app/assets/stylesheets/application.bootstrap.scss' , "@import 'custom-bootstrap-import.scss';"
|
54
|
+
create_file 'app/assets/stylesheets/custom-bootstrap-import.scss' , read_template('custom-bootstrap-import.scss')
|
55
|
+
|
56
|
+
# This is how you would add custom styling using standard CSS
|
57
|
+
create_file 'app/assets/stylesheets/custom-using-css.css' , read_template('custom-using-css.css')
|
58
|
+
|
59
|
+
# This is how you would add custom styling using standard SAAS/SCSS
|
60
|
+
create_file 'app/assets/stylesheets/custom-using-scss.scss' , read_template('custom-using-scss.scss')
|
61
|
+
|
62
|
+
# This is custom CSS for the fancier components
|
63
|
+
create_file 'app/assets/stylesheets/custom-component.css' , join_templates('component-cards-fancy.css', 'component-cards-staff.css')
|
64
|
+
|
65
|
+
# Update the layout so that the stylesheets are included
|
66
|
+
insert_into_file 'app/views/layouts/application.html.erb', read_template('application.html.erb'),
|
67
|
+
before: %( <%= javascript_include_tag "application", "data-turbo-track": "reload", defer: true %>)
|
68
|
+
gsub_file 'app/views/layouts/application.html.erb', %( <%= yield %>), read_template('application-yield.html.erb')
|
69
|
+
end
|
70
|
+
|
71
|
+
def add_crud_people
|
72
|
+
# Need to get the bootstrap form styling working
|
73
|
+
# Follow the instructions at: https://youtu.be/phOUsR0dm5s?t=493
|
74
|
+
add_scaffold('people', 'first_name', 'last_name', 'age:integer', 'address:text')
|
75
|
+
end
|
76
|
+
|
77
|
+
begin
|
78
|
+
add_customizations
|
79
|
+
rescue StandardError => e
|
80
|
+
puts e.message
|
81
|
+
end
|
@@ -0,0 +1,44 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# Episode #312 - Importmaps in Rails 7
|
4
|
+
# https://www.youtube.com/watch?v=veWpot6zfUQ
|
5
|
+
|
6
|
+
require 'pry'
|
7
|
+
|
8
|
+
def add_customizations
|
9
|
+
self.local_template_path = File.join(File.dirname(__FILE__), 'rag_import_map')
|
10
|
+
|
11
|
+
gac 'base rails 7 image created'
|
12
|
+
|
13
|
+
add_controller('home', 'index')
|
14
|
+
route("root 'home#index'")
|
15
|
+
|
16
|
+
# need a join template metehod
|
17
|
+
after_bundle do
|
18
|
+
# after bundle hook
|
19
|
+
bundle_add('importmap-rails')
|
20
|
+
rails_command('importmap:install')
|
21
|
+
|
22
|
+
bundle_add('hotwire-rails')
|
23
|
+
rails_command('hotwire:install')
|
24
|
+
|
25
|
+
# run("bin/importmap pin local-time --download")
|
26
|
+
|
27
|
+
# use CDN: ga.jsmp.io
|
28
|
+
run('bin/importmap pin sortablejs')
|
29
|
+
# => pin "sortablejs", to: "https://ga.jspm.io/npm:sortablejs@1.15.0/modular/sortable.esm.js"
|
30
|
+
# use CDN: jsdeliver
|
31
|
+
# run("bin/importmap pin sortablejs --from jsdelivr")
|
32
|
+
# => pin "sortablejs", to: "https://cdn.jsdelivr.net/npm/sortablejs@1.15.0/modular/sortable.esm.js"
|
33
|
+
|
34
|
+
append_to_file 'app/views/home/index.html.erb', read_template('component-sortable.html')
|
35
|
+
template 'position_controller.js', 'app/javascript/controllers/position_controller.js'
|
36
|
+
template 'home.css', 'app/assets/stylesheets/home.css'
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
begin
|
41
|
+
add_customizations
|
42
|
+
rescue StandardError => e
|
43
|
+
puts e.message
|
44
|
+
end
|
@@ -9,17 +9,6 @@ self.local_template_path = File.join(File.dirname(__FILE__), 'rag_simple')
|
|
9
9
|
|
10
10
|
gac 'base rails 7 image created'
|
11
11
|
|
12
|
-
|
13
|
-
|
14
|
-
<div class="container">
|
15
|
-
<div class="row">
|
16
|
-
<%= yield %>
|
17
|
-
</div>
|
18
|
-
</div>
|
19
|
-
HTML
|
12
|
+
after_bundle do
|
13
|
+
# if needed
|
20
14
|
end
|
21
|
-
|
22
|
-
gsub_file 'app/views/layouts/application.html.erb' , %( <%= yield %>), application_html
|
23
|
-
|
24
|
-
# after_bundle do
|
25
|
-
# end
|
@@ -0,0 +1,4 @@
|
|
1
|
+
<turbo-frame id='counter'>
|
2
|
+
<div class='mt-4' style='color: <%= rand_color %>'>Current Count: <%= @counter %></div>
|
3
|
+
<div class="mt-4"><%= link_to 'Increment', increment_path(counter: @counter), class: 'bg-blue-500 hover:bg-blue-700 text-white font-bold py-2 px-4 rounded' %></div>
|
4
|
+
</turbo-frame>
|
@@ -0,0 +1,23 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# How to Start a Ruby on Rails 7 App With Hotwire and Tailwind CSS
|
4
|
+
# https://www.youtube.com/watch?v=7G0oWn2Gn5c
|
5
|
+
|
6
|
+
require 'pry'
|
7
|
+
|
8
|
+
self.local_template_path = File.join(File.dirname(__FILE__), 'rag_tailwind_hotwire')
|
9
|
+
|
10
|
+
gac 'base rails 7 image created'
|
11
|
+
|
12
|
+
add_controller('home', 'index')
|
13
|
+
route("get 'home/increment', as: :increment")
|
14
|
+
route("root 'home#index'")
|
15
|
+
|
16
|
+
copy_file 'home/controller.rb' , 'app/controllers/home_controller.rb' , force: true
|
17
|
+
copy_file 'home/helper.rb' , 'app/helpers/home_helper.rb' , force: true
|
18
|
+
copy_file 'home/index.html' , 'app/views/home/index.html.erb' , force: true
|
19
|
+
copy_file 'home/increment.html.erb', 'app/views/home/increment.html.erb' , force: true
|
20
|
+
|
21
|
+
after_bundle do
|
22
|
+
gsub_file 'app/views/layouts/application.html.erb', %(container mx-auto mt-28 px-5 flex), 'container mt-8 mx-auto'
|
23
|
+
end
|
@@ -1,49 +1,91 @@
|
|
1
|
-
<mxfile host="
|
2
|
-
<diagram id="
|
1
|
+
<mxfile host="hAT">
|
2
|
+
<diagram id="EXU" 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="avE-2" value="cli support for profile" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#d5e8d4;strokeColor=#82b366;fontColor=#333333" vertex="1" parent="node_root_avE">
|
8
|
-
<mxGeometry x="10" y="10" width="300" height="60" as="geometry"/>
|
9
|
-
</mxCell>
|
5
|
+
<mxCell id="page_root_EXU" parent="EXU"/>
|
6
|
+
<mxCell id="node_root_EXU" parent="page_root_EXU"/>
|
10
7
|
</root>
|
11
8
|
</mxGraphModel>
|
12
9
|
</diagram>
|
13
|
-
<diagram id="
|
10
|
+
<diagram id="c1l" name="To Do">
|
14
11
|
<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
12
|
<root>
|
16
|
-
<mxCell id="
|
17
|
-
<mxCell id="
|
18
|
-
<mxCell id="
|
13
|
+
<mxCell id="page_root_c1l" parent="c1l"/>
|
14
|
+
<mxCell id="node_root_c1l" parent="page_root_c1l"/>
|
15
|
+
<mxCell id="c1l-2" 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_c1l">
|
19
16
|
<mxGeometry x="10" y="10" width="300" height="60" as="geometry"/>
|
20
17
|
</mxCell>
|
21
|
-
<mxCell id="
|
18
|
+
<mxCell id="c1l-3" value="add profile - stimulas" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_c1l">
|
22
19
|
<mxGeometry x="330" y="10" width="300" height="60" as="geometry"/>
|
23
20
|
</mxCell>
|
24
|
-
<mxCell id="
|
21
|
+
<mxCell id="c1l-4" value="add profile - hotwire" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_c1l">
|
25
22
|
<mxGeometry x="650" y="10" width="300" height="60" as="geometry"/>
|
26
23
|
</mxCell>
|
24
|
+
<mxCell id="c1l-5" value="add profile - turbo" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_c1l">
|
25
|
+
<mxGeometry x="10" y="90" width="300" height="60" as="geometry"/>
|
26
|
+
</mxCell>
|
27
|
+
<mxCell id="c1l-6" value="add profile - vue" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_c1l">
|
28
|
+
<mxGeometry x="330" y="90" width="300" height="60" as="geometry"/>
|
29
|
+
</mxCell>
|
30
|
+
<mxCell id="c1l-7" value="add profile - svelte" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_c1l">
|
31
|
+
<mxGeometry x="650" y="90" width="300" height="60" as="geometry"/>
|
32
|
+
</mxCell>
|
33
|
+
<mxCell id="c1l-8" value="add profile - react" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_c1l">
|
34
|
+
<mxGeometry x="10" y="170" width="300" height="60" as="geometry"/>
|
35
|
+
</mxCell>
|
36
|
+
<mxCell id="c1l-9" value="add profile - vite" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_c1l">
|
37
|
+
<mxGeometry x="330" y="170" width="300" height="60" as="geometry"/>
|
38
|
+
</mxCell>
|
39
|
+
<mxCell id="c1l-10" value="add profile - docker" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_c1l">
|
40
|
+
<mxGeometry x="650" y="170" width="300" height="60" as="geometry"/>
|
41
|
+
</mxCell>
|
42
|
+
<mxCell id="c1l-11" value="add encryption - https://youtu.be/ZmwNzod1trk?t=701" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_c1l">
|
43
|
+
<mxGeometry x="10" y="250" width="300" height="60" as="geometry"/>
|
44
|
+
</mxCell>
|
45
|
+
<mxCell id="c1l-12" 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_c1l">
|
46
|
+
<mxGeometry x="330" y="250" width="300" height="60" as="geometry"/>
|
47
|
+
</mxCell>
|
48
|
+
<mxCell id="c1l-13" 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_c1l">
|
49
|
+
<mxGeometry x="650" y="250" width="300" height="60" as="geometry"/>
|
50
|
+
</mxCell>
|
51
|
+
<mxCell id="c1l-14" 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_c1l">
|
52
|
+
<mxGeometry x="10" y="330" width="300" height="60" as="geometry"/>
|
53
|
+
</mxCell>
|
27
54
|
</root>
|
28
55
|
</mxGraphModel>
|
29
56
|
</diagram>
|
30
|
-
<diagram id="
|
57
|
+
<diagram id="oP6" name="Done">
|
31
58
|
<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">
|
32
59
|
<root>
|
33
|
-
<mxCell id="
|
34
|
-
<mxCell id="
|
35
|
-
<mxCell id="
|
60
|
+
<mxCell id="page_root_oP6" parent="oP6"/>
|
61
|
+
<mxCell id="node_root_oP6" parent="page_root_oP6"/>
|
62
|
+
<mxCell id="oP6-2" 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_oP6">
|
36
63
|
<mxGeometry x="10" y="10" width="300" height="60" as="geometry"/>
|
37
64
|
</mxCell>
|
38
|
-
<mxCell id="
|
65
|
+
<mxCell id="oP6-3" 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_oP6">
|
39
66
|
<mxGeometry x="330" y="10" width="300" height="60" as="geometry"/>
|
40
67
|
</mxCell>
|
41
|
-
<mxCell id="
|
68
|
+
<mxCell id="oP6-4" 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_oP6">
|
42
69
|
<mxGeometry x="650" y="10" width="300" height="60" as="geometry"/>
|
43
70
|
</mxCell>
|
44
|
-
<mxCell id="
|
71
|
+
<mxCell id="oP6-5" 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_oP6">
|
45
72
|
<mxGeometry x="10" y="90" width="300" height="60" as="geometry"/>
|
46
73
|
</mxCell>
|
74
|
+
<mxCell id="oP6-6" 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_oP6">
|
75
|
+
<mxGeometry x="330" y="90" width="300" height="60" as="geometry"/>
|
76
|
+
</mxCell>
|
77
|
+
<mxCell id="oP6-7" 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_oP6">
|
78
|
+
<mxGeometry x="650" y="90" width="300" height="60" as="geometry"/>
|
79
|
+
</mxCell>
|
80
|
+
<mxCell id="oP6-8" 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_oP6">
|
81
|
+
<mxGeometry x="10" y="170" width="300" height="60" as="geometry"/>
|
82
|
+
</mxCell>
|
83
|
+
<mxCell id="oP6-9" 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_oP6">
|
84
|
+
<mxGeometry x="330" y="170" width="300" height="60" as="geometry"/>
|
85
|
+
</mxCell>
|
86
|
+
<mxCell id="oP6-10" 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_oP6">
|
87
|
+
<mxGeometry x="650" y="170" width="300" height="60" as="geometry"/>
|
88
|
+
</mxCell>
|
47
89
|
</root>
|
48
90
|
</mxGraphModel>
|
49
91
|
</diagram>
|
@@ -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="142px" viewBox="-0.5 -0.5 942 142"><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="#f8cecc" stroke="#b85450" 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;">cli support for diff</div></div></div></foreignObject><text x="150" y="34" fill="#333333" font-family="Helvetica" font-size="12px" text-anchor="middle">cli support for diff</text></switch></g><rect x="320" y="0" width="300" height="60" rx="9" ry="9" fill="#f8cecc" stroke="#b85450" 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;">add diff tool - open in editor</div></div></div></foreignObject><text x="470" y="34" fill="#333333" font-family="Helvetica" font-size="12px" text-anchor="middle">add diff tool - open in editor</text></switch></g><rect x="640" y="0" width="300" height="60" rx="9" ry="9" fill="#f8cecc" stroke="#b85450" 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 diff tool supporting lhs only, rhs only, same and different</div></div></div></foreignObject><text x="790" y="34" fill="#333333" font-family="Helvetica" font-size="12px" text-anchor="middle">add diff tool supporting lhs only, rhs only, same...</text></switch></g><rect x="0" y="80" width="300" height="60" rx="9" ry="9" fill="#f8cecc" stroke="#b85450" 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 project plan to do list</div></div></div></foreignObject><text x="150" y="114" fill="#333333" font-family="Helvetica" font-size="12px" text-anchor="middle">add project plan to do list</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="222px" viewBox="-0.5 -0.5 942 222"><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="#f8cecc" stroke="#b85450" 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 profile - tailwind_hotwire</div></div></div></foreignObject><text x="150" y="34" fill="#333333" font-family="Helvetica" font-size="12px" text-anchor="middle">add profile - tailwind_hotwire</text></switch></g><rect x="320" y="0" width="300" height="60" rx="9" ry="9" fill="#f8cecc" stroke="#b85450" 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;">add profile - import_map</div></div></div></foreignObject><text x="470" y="34" fill="#333333" font-family="Helvetica" font-size="12px" text-anchor="middle">add profile - import_map</text></switch></g><rect x="640" y="0" width="300" height="60" rx="9" ry="9" fill="#f8cecc" stroke="#b85450" 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;">profile - fix the bootstrap profile</div></div></div></foreignObject><text x="790" y="34" fill="#333333" font-family="Helvetica" font-size="12px" text-anchor="middle">profile - fix the bootstrap profile</text></switch></g><rect x="0" y="80" width="300" height="60" rx="9" ry="9" fill="#f8cecc" stroke="#b85450" 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;">cli support for profile</div></div></div></foreignObject><text x="150" y="114" fill="#333333" font-family="Helvetica" font-size="12px" text-anchor="middle">cli support for profile</text></switch></g><rect x="320" y="80" width="300" height="60" rx="9" ry="9" fill="#f8cecc" stroke="#b85450" 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;">separate CLI methods into include modules</div></div></div></foreignObject><text x="470" y="114" fill="#333333" font-family="Helvetica" font-size="12px" text-anchor="middle">separate CLI methods into include modules</text></switch></g><rect x="640" y="80" width="300" height="60" rx="9" ry="9" fill="#f8cecc" stroke="#b85450" 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;">cli support for diff</div></div></div></foreignObject><text x="790" y="114" fill="#333333" font-family="Helvetica" font-size="12px" text-anchor="middle">cli support for diff</text></switch></g><rect x="0" y="160" width="300" height="60" rx="9" ry="9" fill="#f8cecc" stroke="#b85450" 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 diff tool - open in editor</div></div></div></foreignObject><text x="150" y="194" fill="#333333" font-family="Helvetica" font-size="12px" text-anchor="middle">add diff tool - open in editor</text></switch></g><rect x="320" y="160" width="300" height="60" rx="9" ry="9" fill="#f8cecc" stroke="#b85450" 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 diff tool supporting lhs only, rhs only, same and different</div></div></div></foreignObject><text x="470" y="194" fill="#333333" font-family="Helvetica" font-size="12px" text-anchor="middle">add diff tool supporting lhs only, rhs only, same...</text></switch></g><rect x="640" y="160" width="300" height="60" rx="9" ry="9" fill="#f8cecc" stroke="#b85450" 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 project plan to do list</div></div></div></foreignObject><text x="790" y="194" fill="#333333" font-family="Helvetica" font-size="12px" text-anchor="middle">add project plan to do list</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>
|
@@ -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="302px" height="62px" viewBox="-0.5 -0.5 302 62"><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="#d5e8d4" stroke="#82b366" 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;">
|
3
|
+
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="302px" height="62px" viewBox="-0.5 -0.5 302 62"><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="#d5e8d4" stroke="#82b366" 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 profile - import maps</div></div></div></foreignObject><text x="150" y="34" fill="#333333" font-family="Helvetica" font-size="12px" text-anchor="middle">add profile - import maps</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>
|
@@ -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="62px" viewBox="-0.5 -0.5 942 62"><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;">cli help support for diff</div></div></div></foreignObject><text x="150" y="34" fill="#333333" font-family="Helvetica" font-size="12px" text-anchor="middle">cli help support for diff</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;">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="34" 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="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;">need an option for deleting target project path</div></div></div></foreignObject><text x="790" y="34" 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="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;">add auto open flag to profile and command line</div></div></div></foreignObject><text x="150" 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="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;">add profile - stimulas</div></div></div></foreignObject><text x="470" y="34" fill="#333333" font-family="Helvetica" font-size="12px" text-anchor="middle">add profile - stimulas</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 profile - hotwire</div></div></div></foreignObject><text x="790" y="34" fill="#333333" font-family="Helvetica" font-size="12px" text-anchor="middle">add profile - hotwire</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 - turbo</div></div></div></foreignObject><text x="150" y="114" fill="#333333" font-family="Helvetica" font-size="12px" text-anchor="middle">add profile - turbo</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 - vue</div></div></div></foreignObject><text x="470" y="114" fill="#333333" font-family="Helvetica" font-size="12px" text-anchor="middle">add profile - vue</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 - svelte</div></div></div></foreignObject><text x="790" y="114" fill="#333333" font-family="Helvetica" font-size="12px" text-anchor="middle">add profile - svelte</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 - react</div></div></div></foreignObject><text x="150" y="194" fill="#333333" font-family="Helvetica" font-size="12px" text-anchor="middle">add profile - react</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 - vite</div></div></div></foreignObject><text x="470" y="194" fill="#333333" font-family="Helvetica" font-size="12px" text-anchor="middle">add profile - vite</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 - docker</div></div></div></foreignObject><text x="790" y="194" fill="#333333" font-family="Helvetica" font-size="12px" text-anchor="middle">add profile - docker</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 encryption - https://youtu.be/ZmwNzod1trk?t=701</div></div></div></foreignObject><text x="150" y="274" fill="#333333" font-family="Helvetica" font-size="12px" text-anchor="middle">add encryption - https://youtu.be/ZmwNzod1trk?t=701</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;">cli help support for diff</div></div></div></foreignObject><text x="470" y="274" fill="#333333" font-family="Helvetica" font-size="12px" text-anchor="middle">cli help support for diff</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;">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="274" 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="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;">need an option for deleting target project path</div></div></div></foreignObject><text x="150" 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>
|
data/exe/rag
CHANGED
@@ -9,62 +9,34 @@ $LOAD_PATH << source_path
|
|
9
9
|
|
10
10
|
require 'rails_app_generator'
|
11
11
|
|
12
|
+
first = ARGV.first
|
13
|
+
|
12
14
|
if ARGV.empty?
|
13
15
|
puts 'Please provide a profile for the new application'
|
14
16
|
puts
|
15
17
|
puts 'See --help for more info'
|
16
|
-
|
17
|
-
elsif %w[-v --version].include? ARGV[0]
|
18
|
+
elsif %w[-v --version].include?(first)
|
18
19
|
puts RailsAppGenerator::VERSION
|
19
|
-
|
20
|
+
elsif first == 'diff'
|
21
|
+
RailsAppGenerator::Cli::Diff.start(ARGV)
|
22
|
+
elsif first == 'new'
|
23
|
+
puts 'TODO: NEW'
|
24
|
+
|
25
|
+
# # Use RAG with in the same way as the Rails generator (the following commands should be equivalent)
|
26
|
+
# # rails new args
|
27
|
+
# # rag new args
|
28
|
+
# if ARGV.first == 'new'
|
29
|
+
# # NOTE: This is not yet working
|
30
|
+
# RailsAppGenerator::Cli::Standard.start ARGV[1..]
|
31
|
+
# exit 0
|
32
|
+
# elsif !ARGV.first.nil?
|
33
|
+
# end
|
34
|
+
|
35
|
+
else
|
36
|
+
fallback_profile_path = File.expand_path("#{Pathname.new(__FILE__).dirname}/../profiles")
|
37
|
+
args = ['profile'] + ARGV + ["--fallback-profile-path=#{fallback_profile_path}"]
|
38
|
+
|
39
|
+
RailsAppGenerator::Cli::Profile.start(args)
|
20
40
|
end
|
21
41
|
|
22
|
-
RailsAppGenerator::Cli.start(ARGV)
|
23
|
-
|
24
42
|
exit 0
|
25
|
-
|
26
|
-
# # Use RAG with in the same way as the Rails generator (the following commands should be equivalent)
|
27
|
-
# # rails new args
|
28
|
-
# # rag new args
|
29
|
-
# if ARGV.first == 'new'
|
30
|
-
# # NOTE: This is not yet working
|
31
|
-
# RailsAppGenerator::Cli::Standard.start ARGV[1..]
|
32
|
-
# exit 0
|
33
|
-
# elsif ARGV.first == 'diff'
|
34
|
-
# # args, opts = Thor::Arguments.split(ARGV[1..])
|
35
|
-
# RailsAppGenerator::Cli::Diff.start(ARGV[1..]) # , { lhs: true, rhs: true, compare: true } )
|
36
|
-
# exit 0
|
37
|
-
# elsif ARGV.first == 'diff_lhs'
|
38
|
-
# RailsAppGenerator::Cli::Diff.start(ARGV[1..], { lhs: true })
|
39
|
-
# exit 0
|
40
|
-
# elsif ARGV.first == 'diff_rhs'
|
41
|
-
# RailsAppGenerator::Cli::Diff.start(ARGV[1..], { rhs: true })
|
42
|
-
# exit 0
|
43
|
-
# elsif ARGV.first == 'diff_compare'
|
44
|
-
# RailsAppGenerator::Cli::Diff.start(ARGV[1..], { compare: true })
|
45
|
-
# exit 0
|
46
|
-
# elsif !ARGV.first.nil?
|
47
|
-
# profile_path = File.expand_path("#{Pathname.new(__FILE__).dirname}/../profiles")
|
48
|
-
# profile_name = ARGV[0]
|
49
|
-
# profile_name += '.json' unless profile_name.end_with?('.json')
|
50
|
-
# profile_file = File.join(profile_path, profile_name)
|
51
|
-
|
52
|
-
# RailsAppGenerator::Cli::Profile.start(profile_file)
|
53
|
-
|
54
|
-
# exit 0
|
55
|
-
# end
|
56
|
-
|
57
|
-
# if File.exist?(profile_file)
|
58
|
-
# puts "Using profile #{profile_file}"
|
59
|
-
|
60
|
-
# profile = JSON.parse(File.read(profile_file), symbolize_names: true)
|
61
|
-
# args = profile[:args]
|
62
|
-
# opts = profile[:opts]
|
63
|
-
# rails_options = RailsAppGenerator::RailsOptions.new(opts)
|
64
|
-
|
65
|
-
# instance = RailsAppGenerator::Starter.new(args)
|
66
|
-
# FileUtils.rm_rf(instance.target_path)
|
67
|
-
# instance.start(rails_options)
|
68
|
-
# else
|
69
|
-
# puts "Profile #{profile_file} not found"
|
70
|
-
# exit 1
|
@@ -0,0 +1,49 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module RailsAppGenerator
|
4
|
+
module Cli
|
5
|
+
# Folder Diff
|
6
|
+
class Diff < Thor
|
7
|
+
desc 'diff lhs_folder rhs_folder [options]', 'Diff two different rails folders'
|
8
|
+
|
9
|
+
# Run report to console for following options
|
10
|
+
option :show_left_only , type: :boolean
|
11
|
+
option :show_right_only , type: :boolean
|
12
|
+
option :show_same , type: :boolean
|
13
|
+
option :show_different , type: :boolean
|
14
|
+
|
15
|
+
# Open files in VSCode for for following options
|
16
|
+
option :open_left_only , type: :boolean
|
17
|
+
option :open_right_only , type: :boolean
|
18
|
+
option :open_same , type: :boolean
|
19
|
+
option :open_different , type: :boolean
|
20
|
+
|
21
|
+
# rubocop:disable Metrics/AbcSize
|
22
|
+
def diff(lhs_folder, rhs_folder)
|
23
|
+
# puts "Diffing #{lhs_folder} and #{rhs_folder}"
|
24
|
+
# puts JSON.pretty_generate(options)
|
25
|
+
processor = RailsAppGenerator::Diff::Processor.new(lhs_folder, rhs_folder)
|
26
|
+
compare_info = processor.compare
|
27
|
+
|
28
|
+
report = RailsAppGenerator::Diff::Report.new(
|
29
|
+
compare_info,
|
30
|
+
show_left_only: options[:show_left_only],
|
31
|
+
show_right_only: options[:show_right_only],
|
32
|
+
show_same: options[:show_same],
|
33
|
+
show_different: options[:show_different]
|
34
|
+
)
|
35
|
+
report.display
|
36
|
+
|
37
|
+
vscode = RailsAppGenerator::Diff::OpenInEditor.new(
|
38
|
+
compare_info,
|
39
|
+
open_left_only: options[:open_left_only],
|
40
|
+
open_right_only: options[:open_right_only],
|
41
|
+
open_same: options[:open_same],
|
42
|
+
open_different: options[:show_different]
|
43
|
+
)
|
44
|
+
vscode.open
|
45
|
+
end
|
46
|
+
# rubocop:enable Metrics/AbcSize
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
@@ -0,0 +1,37 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module RailsAppGenerator
|
4
|
+
module Cli
|
5
|
+
# Folder Diff
|
6
|
+
class Profile < Thor
|
7
|
+
desc 'xxx [options]', 'Create a new rails app based on a RAG profile'
|
8
|
+
|
9
|
+
option :profile_path , type: :string
|
10
|
+
option :fallback_profile_path , type: :string
|
11
|
+
|
12
|
+
# rubocop:disable Metrics/AbcSize
|
13
|
+
def profile(name)
|
14
|
+
path = options[:profile_path] || options[:fallback_profile_path]
|
15
|
+
profile_name = name.end_with?('.json') ? name : "#{name}.json"
|
16
|
+
profile_file = File.join(path, profile_name)
|
17
|
+
|
18
|
+
unless File.exist?(profile_file)
|
19
|
+
puts "Profile [#{profile_file}] not found"
|
20
|
+
exit 1
|
21
|
+
end
|
22
|
+
|
23
|
+
puts "Using profile #{profile_file}"
|
24
|
+
|
25
|
+
profile = JSON.parse(File.read(profile_file), symbolize_names: true)
|
26
|
+
args = profile[:args]
|
27
|
+
opts = RailsAppGenerator::RailsOptions.new(profile[:opts])
|
28
|
+
|
29
|
+
starter = RailsAppGenerator::Starter.new(args)
|
30
|
+
|
31
|
+
starter.delete_target_folder
|
32
|
+
starter.start(opts)
|
33
|
+
end
|
34
|
+
# rubocop:enable Metrics/AbcSize
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
@@ -8,7 +8,10 @@ module RailsAppGenerator
|
|
8
8
|
attr_reader :rhs_path
|
9
9
|
|
10
10
|
DEFAULT_EXCLUSION = lambda do |_file, relative_file|
|
11
|
-
relative_file.start_with?('tmp') ||
|
11
|
+
relative_file.start_with?('tmp') ||
|
12
|
+
relative_file.start_with?('node_modules') ||
|
13
|
+
relative_file.start_with?('log') ||
|
14
|
+
relative_file == 'Gemfile.lock'
|
12
15
|
end
|
13
16
|
|
14
17
|
def initialize(lhs_path, rhs_path)
|
@@ -14,7 +14,7 @@ module RailsAppGenerator
|
|
14
14
|
def initialize(compare_info, **opts)
|
15
15
|
@info = compare_info
|
16
16
|
|
17
|
-
@show_left_only = opts[:show_left_only].nil? ?
|
17
|
+
@show_left_only = opts[:show_left_only].nil? ? true : opts[:show_left_only]
|
18
18
|
@show_right_only = opts[:show_right_only].nil? ? true : opts[:show_right_only]
|
19
19
|
@show_same = opts[:show_same].nil? ? false : opts[:show_same]
|
20
20
|
@show_different = opts[:show_different].nil? ? true : opts[:show_different]
|
data/lib/rails_app_generator.rb
CHANGED
@@ -8,7 +8,8 @@ require 'rails/generators/rails/app/app_generator'
|
|
8
8
|
require 'bundler'
|
9
9
|
|
10
10
|
require 'rails_app_generator/version'
|
11
|
-
require 'rails_app_generator/cli'
|
11
|
+
require 'rails_app_generator/cli/diff'
|
12
|
+
require 'rails_app_generator/cli/profile'
|
12
13
|
require 'rails_app_generator/util'
|
13
14
|
require 'rails_app_generator/diff/file_pair'
|
14
15
|
require 'rails_app_generator/diff/compare_info'
|
data/package-lock.json
CHANGED
@@ -1,12 +1,12 @@
|
|
1
1
|
{
|
2
2
|
"name": "rails_app_generator",
|
3
|
-
"version": "0.
|
3
|
+
"version": "0.1.2",
|
4
4
|
"lockfileVersion": 2,
|
5
5
|
"requires": true,
|
6
6
|
"packages": {
|
7
7
|
"": {
|
8
8
|
"name": "rails_app_generator",
|
9
|
-
"version": "0.
|
9
|
+
"version": "0.1.2",
|
10
10
|
"devDependencies": {
|
11
11
|
"@klueless-js/semantic-release-rubygem": "github:klueless-js/semantic-release-rubygem",
|
12
12
|
"@semantic-release/changelog": "^6.0.1",
|
data/package.json
CHANGED
@@ -0,0 +1,11 @@
|
|
1
|
+
{
|
2
|
+
"args": {
|
3
|
+
"app_path": "import_map",
|
4
|
+
"destination_root": "/Users/davidcruwys/dev/kgems/rails_app_generator/a/rag"
|
5
|
+
},
|
6
|
+
"opts": {
|
7
|
+
"skip_test": true,
|
8
|
+
"skip_javascript": true,
|
9
|
+
"template": "/Users/davidcruwys/dev/kgems/rails_app_generator/after_templates/rag_import_map.rb"
|
10
|
+
}
|
11
|
+
}
|
data/profiles/rag-simple.json
CHANGED
@@ -0,0 +1,12 @@
|
|
1
|
+
{
|
2
|
+
"args": {
|
3
|
+
"app_path": "tailwind_hotwire",
|
4
|
+
"destination_root": "/Users/davidcruwys/dev/kgems/rails_app_generator/a/rag"
|
5
|
+
},
|
6
|
+
"opts": {
|
7
|
+
"skip_test": true,
|
8
|
+
"template": "/Users/davidcruwys/dev/kgems/rails_app_generator/after_templates/rag_tailwind_hotwire.rb",
|
9
|
+
"css": "tailwind",
|
10
|
+
"javascript": "esbuild"
|
11
|
+
}
|
12
|
+
}
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rails_app_generator
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- David Cruwys
|
@@ -146,8 +146,6 @@ files:
|
|
146
146
|
- README.md
|
147
147
|
- Rakefile
|
148
148
|
- after_templates/README.md
|
149
|
-
- after_templates/___base_template.rb
|
150
|
-
- after_templates/___r7_hotwire.rb
|
151
149
|
- after_templates/rag_bootstrap.rb
|
152
150
|
- after_templates/rag_bootstrap/application-yield.html.erb
|
153
151
|
- after_templates/rag_bootstrap/application.html.erb
|
@@ -158,11 +156,16 @@ files:
|
|
158
156
|
- after_templates/rag_bootstrap/component-cards-styled.html
|
159
157
|
- after_templates/rag_bootstrap/component-footer.html
|
160
158
|
- after_templates/rag_bootstrap/component-hero.html
|
159
|
+
- after_templates/rag_bootstrap/component-modal.html
|
161
160
|
- after_templates/rag_bootstrap/component-nav.html
|
162
161
|
- after_templates/rag_bootstrap/custom-bootstrap-import.scss
|
163
162
|
- after_templates/rag_bootstrap/custom-using-css.css
|
164
163
|
- after_templates/rag_bootstrap/custom-using-scss.scss
|
165
164
|
- after_templates/rag_bootstrap/manifest.js
|
165
|
+
- after_templates/rag_import_map.rb
|
166
|
+
- after_templates/rag_import_map/component-sortable.html
|
167
|
+
- after_templates/rag_import_map/home.css
|
168
|
+
- after_templates/rag_import_map/position_controller.js
|
166
169
|
- after_templates/rag_simple.rb
|
167
170
|
- after_templates/rag_tailwind.rb
|
168
171
|
- after_templates/rag_tailwind/component-cta.html
|
@@ -172,6 +175,11 @@ files:
|
|
172
175
|
- after_templates/rag_tailwind/component-nav.html
|
173
176
|
- after_templates/rag_tailwind/component-section-begin.html
|
174
177
|
- after_templates/rag_tailwind/component-section-end.html
|
178
|
+
- after_templates/rag_tailwind_hotwire.rb
|
179
|
+
- after_templates/rag_tailwind_hotwire/home/controller.rb
|
180
|
+
- after_templates/rag_tailwind_hotwire/home/helper.rb
|
181
|
+
- after_templates/rag_tailwind_hotwire/home/increment.html.erb
|
182
|
+
- after_templates/rag_tailwind_hotwire/home/index.html
|
175
183
|
- bin/console
|
176
184
|
- bin/setup
|
177
185
|
- docs/project-plan.md
|
@@ -207,7 +215,8 @@ files:
|
|
207
215
|
- lib/rails_app_generator/addons/views.rb
|
208
216
|
- lib/rails_app_generator/app_builder.rb
|
209
217
|
- lib/rails_app_generator/app_generator.rb
|
210
|
-
- lib/rails_app_generator/cli.rb
|
218
|
+
- lib/rails_app_generator/cli/diff.rb
|
219
|
+
- lib/rails_app_generator/cli/profile.rb
|
211
220
|
- lib/rails_app_generator/context.rb
|
212
221
|
- lib/rails_app_generator/dependencies.rb
|
213
222
|
- lib/rails_app_generator/diff/compare_info.rb
|
@@ -243,7 +252,9 @@ files:
|
|
243
252
|
- package.json
|
244
253
|
- profiles/rag-add-some-pages.json
|
245
254
|
- profiles/rag-bootstrap.json
|
255
|
+
- profiles/rag-import-map.json
|
246
256
|
- profiles/rag-simple.json
|
257
|
+
- profiles/rag-tailwind-hotwire.json
|
247
258
|
- profiles/rag-tailwind.json
|
248
259
|
- sig/rails_app_generator.rbs
|
249
260
|
- templates/README.md.erb
|
@@ -1 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
@@ -1 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
@@ -1,64 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module RailsAppGenerator
|
4
|
-
# Thor CLI
|
5
|
-
class Cli < Thor
|
6
|
-
desc 'diff lhs_folder rhs_folder [options]', 'Diff two different rails folders'
|
7
|
-
|
8
|
-
# Run report to console for following options
|
9
|
-
option :show_left_only , type: :boolean
|
10
|
-
option :show_right_only , type: :boolean
|
11
|
-
option :show_same , type: :boolean
|
12
|
-
option :show_different , type: :boolean
|
13
|
-
|
14
|
-
# Open files in VSCode for for following options
|
15
|
-
option :open_left_only , type: :boolean
|
16
|
-
option :open_right_only , type: :boolean
|
17
|
-
option :open_same , type: :boolean
|
18
|
-
option :open_different , type: :boolean
|
19
|
-
|
20
|
-
# rubocop:disable Metrics/AbcSize
|
21
|
-
def diff(lhs_folder, rhs_folder)
|
22
|
-
# puts "Diffing #{lhs_folder} and #{rhs_folder}"
|
23
|
-
# puts JSON.pretty_generate(options)
|
24
|
-
processor = RailsAppGenerator::Diff::Processor.new(lhs_folder, rhs_folder)
|
25
|
-
compare_info = processor.compare
|
26
|
-
|
27
|
-
report = RailsAppGenerator::Diff::Report.new(
|
28
|
-
compare_info,
|
29
|
-
show_left_only: options[:show_left_only],
|
30
|
-
show_right_only: options[:show_right_only],
|
31
|
-
show_same: options[:show_same],
|
32
|
-
show_different: options[:show_different]
|
33
|
-
)
|
34
|
-
report.display
|
35
|
-
|
36
|
-
vscode = RailsAppGenerator::Diff::OpenInEditor.new(
|
37
|
-
compare_info,
|
38
|
-
open_left_only: options[:open_left_only],
|
39
|
-
open_right_only: options[:open_right_only],
|
40
|
-
open_same: options[:open_same],
|
41
|
-
open_different: options[:show_different]
|
42
|
-
)
|
43
|
-
vscode.open
|
44
|
-
end
|
45
|
-
# rubocop:enable Metrics/AbcSize
|
46
|
-
|
47
|
-
# def initialize(profile_file)
|
48
|
-
# @profile_file = profile_file
|
49
|
-
# end
|
50
|
-
|
51
|
-
# def run
|
52
|
-
# puts "Using profile #{profile_file}"
|
53
|
-
|
54
|
-
# profile = JSON.parse(File.read(profile_file), symbolize_names: true)
|
55
|
-
# args = profile[:args]
|
56
|
-
# opts = profile[:opts]
|
57
|
-
# rails_options = RailsAppGenerator::RailsOptions.new(opts)
|
58
|
-
|
59
|
-
# instance = RailsAppGenerator::Starter.new(args)
|
60
|
-
# FileUtils.rm_rf(instance.target_path)
|
61
|
-
# instance.start(rails_options)
|
62
|
-
# end
|
63
|
-
end
|
64
|
-
end
|