rails_app_generator 0.0.15 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: cca2f1e34648c7901ae0a96f9b0f672aea90cf56c39454cdf8588df622df2597
4
- data.tar.gz: 3bf462300806d73a340fab47476c4f0b5999c26163ba82ef2253ffa8df99fd47
3
+ metadata.gz: 7cfde02d61ec2b1c82f6e6f41fc1f2e2ce9b1c8cc9574e35cd979c0c5c1af461
4
+ data.tar.gz: b75d287d8ff8478b380a61eca203733273172c85e2f2e4d92151ddacd2349294
5
5
  SHA512:
6
- metadata.gz: 26df78c51a7e7d73da6f6de478d0612c0244dc9ae36255486177ad0516332314de9dee46b5a82c3c572f71a26f47cb10015a62a23b39ca7ed113d6e509ab8d9e
7
- data.tar.gz: 719cd5df268fdcfe048f9c8002037192120d29792155d4bf53f5c76d5cb8e5fe2313a87bb8a3735dae52ec702205759d5f319916b8a65e90a37534fcdaf3b9f0
6
+ metadata.gz: 2f919095f76dfd58d779f8016cbd0d68b204b86556b31f8880961b1888b4890b0749dac2edccfc5178b82c7bbd642ca63eb7f1c6f4f32e5a9dcef533e8f78eb5
7
+ data.tar.gz: 31315631468f7b3bf3e0be1cbadbc7000db39cc5bfb74f89f022ff9a4836505b06e3b33505fe64564ef464e5b2e8e745b1342c65b0768e9a10f5514ac7a8ce8e
@@ -7,7 +7,6 @@ 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
10
 
12
11
  end
13
12
  .page('To Do', theme: :style_02, margin_left: 0, margin_top: 0) do
@@ -23,6 +22,8 @@ KManager.action :project_plan do
23
22
 
24
23
  grid_layout(y:90, direction: :horizontal, grid_h: 80, grid_w: 320, wrap_at: 3, grid: 0)
25
24
 
25
+ todo(title: 'cli support for profile')
26
+ todo(title: 'separate CLI methods into include modules')
26
27
  todo(title: 'cli support for diff')
27
28
  todo(title: 'add diff tool - open in editor')
28
29
  todo(title: 'add diff tool supporting lhs only, rhs only, same and different')
data/CHANGELOG.md CHANGED
@@ -1,3 +1,10 @@
1
+ ## [0.0.15](https://github.com/klueless-io/rails_app_generator/compare/v0.0.14...v0.0.15) (2022-07-26)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * update project plan documentation ([7ed1728](https://github.com/klueless-io/rails_app_generator/commit/7ed1728e081149e56eb4292f37825169a5f21690))
7
+
1
8
  ## [0.0.14](https://github.com/klueless-io/rails_app_generator/compare/v0.0.13...v0.0.14) (2022-07-26)
2
9
 
3
10
 
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
- See all [stories](./STORIES.md)
49
+ [Project Plan](./docs/project-plan.md)
41
50
 
42
51
 
43
52
  ## Usage
@@ -1,49 +1,52 @@
1
- <mxfile host="3Xt">
2
- <diagram id="avE" name="In progress">
1
+ <mxfile host="NQB">
2
+ <diagram id="LFr" 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="page_root_avE" parent="avE"/>
6
- <mxCell id="node_root_avE" parent="page_root_avE"/>
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_LFr" parent="LFr"/>
6
+ <mxCell id="node_root_LFr" parent="page_root_LFr"/>
10
7
  </root>
11
8
  </mxGraphModel>
12
9
  </diagram>
13
- <diagram id="uOE" name="To Do">
10
+ <diagram id="OEp" 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="page_root_uOE" parent="uOE"/>
17
- <mxCell id="node_root_uOE" parent="page_root_uOE"/>
18
- <mxCell id="uOE-2" 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_uOE">
13
+ <mxCell id="page_root_OEp" parent="OEp"/>
14
+ <mxCell id="node_root_OEp" parent="page_root_OEp"/>
15
+ <mxCell id="OEp-2" 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_OEp">
19
16
  <mxGeometry x="10" y="10" width="300" height="60" as="geometry"/>
20
17
  </mxCell>
21
- <mxCell id="uOE-3" 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_uOE">
18
+ <mxCell id="OEp-3" 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_OEp">
22
19
  <mxGeometry x="330" y="10" width="300" height="60" as="geometry"/>
23
20
  </mxCell>
24
- <mxCell id="uOE-4" 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_uOE">
21
+ <mxCell id="OEp-4" 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_OEp">
25
22
  <mxGeometry x="650" y="10" width="300" height="60" as="geometry"/>
26
23
  </mxCell>
27
24
  </root>
28
25
  </mxGraphModel>
29
26
  </diagram>
30
- <diagram id="Oa0" name="Done">
27
+ <diagram id="esj" name="Done">
31
28
  <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
29
  <root>
33
- <mxCell id="page_root_Oa0" parent="Oa0"/>
34
- <mxCell id="node_root_Oa0" parent="page_root_Oa0"/>
35
- <mxCell id="Oa0-2" 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_Oa0">
30
+ <mxCell id="page_root_esj" parent="esj"/>
31
+ <mxCell id="node_root_esj" parent="page_root_esj"/>
32
+ <mxCell id="esj-2" 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_esj">
36
33
  <mxGeometry x="10" y="10" width="300" height="60" as="geometry"/>
37
34
  </mxCell>
38
- <mxCell id="Oa0-3" 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_Oa0">
35
+ <mxCell id="esj-3" 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_esj">
39
36
  <mxGeometry x="330" y="10" width="300" height="60" as="geometry"/>
40
37
  </mxCell>
41
- <mxCell id="Oa0-4" 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_Oa0">
38
+ <mxCell id="esj-4" 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_esj">
42
39
  <mxGeometry x="650" y="10" width="300" height="60" as="geometry"/>
43
40
  </mxCell>
44
- <mxCell id="Oa0-5" 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_Oa0">
41
+ <mxCell id="esj-5" 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_esj">
45
42
  <mxGeometry x="10" y="90" width="300" height="60" as="geometry"/>
46
43
  </mxCell>
44
+ <mxCell id="esj-6" 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_esj">
45
+ <mxGeometry x="330" y="90" width="300" height="60" as="geometry"/>
46
+ </mxCell>
47
+ <mxCell id="esj-7" 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_esj">
48
+ <mxGeometry x="650" y="90" width="300" height="60" as="geometry"/>
49
+ </mxCell>
47
50
  </root>
48
51
  </mxGraphModel>
49
52
  </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="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 profile</div></div></div></foreignObject><text x="150" y="34" fill="#333333" font-family="Helvetica" font-size="12px" text-anchor="middle">cli support for profile</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;">separate CLI methods into include modules</div></div></div></foreignObject><text x="470" y="34" fill="#333333" font-family="Helvetica" font-size="12px" text-anchor="middle">separate CLI methods into include modules</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;">cli support for diff</div></div></div></foreignObject><text x="790" y="34" fill="#333333" font-family="Helvetica" font-size="12px" text-anchor="middle">cli support for diff</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 diff tool - open in editor</div></div></div></foreignObject><text x="150" y="114" fill="#333333" font-family="Helvetica" font-size="12px" text-anchor="middle">add diff tool - open in editor</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;">add diff tool supporting lhs only, rhs only, same and different</div></div></div></foreignObject><text x="470" y="114" 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="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;">add project plan to do list</div></div></div></foreignObject><text x="790" 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>
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
- exit 0
17
- elsif %w[-v --version].include? ARGV[0]
18
+ elsif %w[-v --version].include?(first)
18
19
  puts RailsAppGenerator::VERSION
19
- exit 0
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
@@ -56,6 +56,10 @@ module RailsAppGenerator
56
56
  end
57
57
  end
58
58
 
59
+ def delete_target_folder
60
+ FileUtils.rm_rf(target_path)
61
+ end
62
+
59
63
  private
60
64
 
61
65
  def capture_console
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module RailsAppGenerator
4
- VERSION = '0.0.15'
4
+ VERSION = '0.1.0'
5
5
  end
@@ -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.0.15",
3
+ "version": "0.1.0",
4
4
  "lockfileVersion": 2,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "rails_app_generator",
9
- "version": "0.0.15",
9
+ "version": "0.1.0",
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rails_app_generator",
3
- "version": "0.0.15",
3
+ "version": "0.1.0",
4
4
  "description": "Create new Rails Application with custom opinions",
5
5
  "scripts": {
6
6
  "release": "semantic-release"
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.0.15
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Cruwys
@@ -207,7 +207,8 @@ files:
207
207
  - lib/rails_app_generator/addons/views.rb
208
208
  - lib/rails_app_generator/app_builder.rb
209
209
  - lib/rails_app_generator/app_generator.rb
210
- - lib/rails_app_generator/cli.rb
210
+ - lib/rails_app_generator/cli/diff.rb
211
+ - lib/rails_app_generator/cli/profile.rb
211
212
  - lib/rails_app_generator/context.rb
212
213
  - lib/rails_app_generator/dependencies.rb
213
214
  - lib/rails_app_generator/diff/compare_info.rb
@@ -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