rails_app_generator 0.0.10 → 0.0.13
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 +2 -6
- data/CHANGELOG.md +23 -0
- data/docs/project-plan/project.drawio +20 -32
- 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/lib/rails_app_generator/diff/compare_info.rb +41 -26
- data/lib/rails_app_generator/diff/file_pair.rb +18 -0
- data/lib/rails_app_generator/diff/open_in_editor.rb +39 -0
- data/lib/rails_app_generator/diff/processor.rb +0 -8
- data/lib/rails_app_generator/diff/report.rb +38 -0
- data/lib/rails_app_generator/util.rb +1 -1
- data/lib/rails_app_generator/version.rb +1 -1
- data/lib/rails_app_generator.rb +3 -0
- data/package-lock.json +2 -2
- data/package.json +1 -1
- metadata +4 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 92848a2f101d1eacb68fced1c5f1a3ab28b4c8314a24d34b2cf7bec51212bce6
|
4
|
+
data.tar.gz: 1028fb8c5a896879cdca537b6efd4d631504ddeddc2faa5dcd02e0fabbefcf43
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9617e90e25bef8a51ea05bfac6baac98561a7e376c8d25b78ad941a12349eb38063114f79b42824a776ee5b6eb7fb6a66d1b3248bacb82232890811379e41805
|
7
|
+
data.tar.gz: 5df793375d8f32e1cf33628e0370405f3ade92c6c5596277aea6062f3c4d8819d41e4ecf34e88de2e3e43d89983e315905c2119fd9ae5f138ffa9e59c34d91ee
|
@@ -10,7 +10,7 @@ KManager.action :project_plan do
|
|
10
10
|
|
11
11
|
grid_layout(y: 90, direction: :horizontal, grid_h: 80, grid_w: 320, wrap_at: 3, grid: 0)
|
12
12
|
|
13
|
-
todo(title: 'add diff tool
|
13
|
+
todo(title: 'add diff tool open in vscode option')
|
14
14
|
end
|
15
15
|
.page('To Do', theme: :style_02, margin_left: 0, margin_top: 0) do
|
16
16
|
|
@@ -19,11 +19,6 @@ KManager.action :project_plan do
|
|
19
19
|
|
20
20
|
todo(title: 'cli support for diff')
|
21
21
|
todo(title: 'cli support for profile')
|
22
|
-
todo(title: 'add diff tool with support')
|
23
|
-
todo(title: 'add diff tool with support')
|
24
|
-
todo(title: 'add diff tool left hand side only option')
|
25
|
-
todo(title: 'add diff tool right hand side only option')
|
26
|
-
todo(title: 'add diff tool open in vscode option')
|
27
22
|
todo(title: 'cli support for rails new (rag new should work like rails new) - buggy, need to work through')
|
28
23
|
todo(title: 'need an option for deleting target project path') # FileUtils.rm_rf(instance.target_path)
|
29
24
|
|
@@ -35,6 +30,7 @@ KManager.action :project_plan do
|
|
35
30
|
# h5(x: 300, y: 0, w: 400, h: 80, title: 'DrawIO DSL')
|
36
31
|
# p(x: 350, y: 40, w: 400, h: 80, title: 'Done')
|
37
32
|
|
33
|
+
todo(title: 'add diff tool supporting lhs only, rhs only, same and different')
|
38
34
|
todo(title: 'add project plan to do list')
|
39
35
|
|
40
36
|
grid_layout(y:90, direction: :horizontal, grid_h: 80, grid_w: 320, wrap_at: 3, grid: 0)
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,26 @@
|
|
1
|
+
## [0.0.12](https://github.com/klueless-io/rails_app_generator/compare/v0.0.11...v0.0.12) (2022-07-25)
|
2
|
+
|
3
|
+
|
4
|
+
### Bug Fixes
|
5
|
+
|
6
|
+
* add support for open in editor in diff tool ([9d94e26](https://github.com/klueless-io/rails_app_generator/commit/9d94e261c6bac8d17c65da00d6d7d8e2907422ae))
|
7
|
+
|
8
|
+
## [0.0.11](https://github.com/klueless-io/rails_app_generator/compare/v0.0.10...v0.0.11) (2022-07-25)
|
9
|
+
|
10
|
+
|
11
|
+
### Bug Fixes
|
12
|
+
|
13
|
+
* add support for FilePairs in diff tool ([e330e1c](https://github.com/klueless-io/rails_app_generator/commit/e330e1c3db06ac2710893a3909f36af290727b57))
|
14
|
+
|
15
|
+
## [0.0.10](https://github.com/klueless-io/rails_app_generator/compare/v0.0.9...v0.0.10) (2022-07-25)
|
16
|
+
|
17
|
+
|
18
|
+
### Bug Fixes
|
19
|
+
|
20
|
+
* add diff processor ([edd86a3](https://github.com/klueless-io/rails_app_generator/commit/edd86a3657ec83c566f84cd965820d780a2a1c43))
|
21
|
+
* fix gha specs ([6ae95de](https://github.com/klueless-io/rails_app_generator/commit/6ae95de2e53e77590375c3a9863a78744b38fa30))
|
22
|
+
* fix gha specs ([c7504f9](https://github.com/klueless-io/rails_app_generator/commit/c7504f97ddf25011a887b7b6ec4b0235e6dbd16d))
|
23
|
+
|
1
24
|
## [0.0.9](https://github.com/klueless-io/rails_app_generator/compare/v0.0.8...v0.0.9) (2022-07-24)
|
2
25
|
|
3
26
|
|
@@ -1,59 +1,47 @@
|
|
1
|
-
<mxfile host="
|
2
|
-
<diagram id="
|
1
|
+
<mxfile host="x0A">
|
2
|
+
<diagram id="Oq8" name="In progress">
|
3
3
|
<mxGraphModel dx="0" dy="0" background="#FFFAFA" grid="0" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1169" pageHeight="827" math="0" shadow="0">
|
4
4
|
<root>
|
5
|
-
<mxCell id="
|
6
|
-
<mxCell id="
|
7
|
-
<mxCell id="
|
5
|
+
<mxCell id="page_root_Oq8" parent="Oq8"/>
|
6
|
+
<mxCell id="node_root_Oq8" parent="page_root_Oq8"/>
|
7
|
+
<mxCell id="Oq8-1" value="DrawIO DSL" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fontColor=#1F2D3D;text;fontSize=28;fontStyle=1;fillColor=none" vertex="1" parent="node_root_Oq8">
|
8
8
|
<mxGeometry x="300" y="0" width="400" height="80" as="geometry"/>
|
9
9
|
</mxCell>
|
10
|
-
<mxCell id="
|
10
|
+
<mxCell id="Oq8-3" value="add diff tool open in vscode option" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#d5e8d4;strokeColor=#82b366;fontColor=#333333" vertex="1" parent="node_root_Oq8">
|
11
11
|
<mxGeometry x="10" y="10" width="300" height="60" as="geometry"/>
|
12
12
|
</mxCell>
|
13
|
-
<mxCell id="Oaa-4" 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_Oaa">
|
14
|
-
<mxGeometry x="330" y="10" width="300" height="60" as="geometry"/>
|
15
|
-
</mxCell>
|
16
|
-
<mxCell id="Oaa-5" value="add diff tool with support" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#d5e8d4;strokeColor=#82b366;fontColor=#333333" vertex="1" parent="node_root_Oaa">
|
17
|
-
<mxGeometry x="650" y="10" width="300" height="60" as="geometry"/>
|
18
|
-
</mxCell>
|
19
13
|
</root>
|
20
14
|
</mxGraphModel>
|
21
15
|
</diagram>
|
22
|
-
<diagram id="
|
16
|
+
<diagram id="Ip4" name="To Do">
|
23
17
|
<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">
|
24
18
|
<root>
|
25
|
-
<mxCell id="
|
26
|
-
<mxCell id="
|
27
|
-
<mxCell id="
|
28
|
-
<mxGeometry x="0" y="0" width="300" height="60" as="geometry"/>
|
29
|
-
</mxCell>
|
30
|
-
<mxCell id="CBi-2" value="add diff tool left hand side only option" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_CBi">
|
31
|
-
<mxGeometry x="0" y="0" width="300" height="60" as="geometry"/>
|
32
|
-
</mxCell>
|
33
|
-
<mxCell id="CBi-3" value="add diff tool right hand side only option" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_CBi">
|
34
|
-
<mxGeometry x="0" y="0" width="300" height="60" as="geometry"/>
|
35
|
-
</mxCell>
|
36
|
-
<mxCell id="CBi-4" value="add diff tool lhs/rhs differences" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_CBi">
|
19
|
+
<mxCell id="page_root_Ip4" parent="Ip4"/>
|
20
|
+
<mxCell id="node_root_Ip4" parent="page_root_Ip4"/>
|
21
|
+
<mxCell id="Ip4-1" value="cli support for diff" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_Ip4">
|
37
22
|
<mxGeometry x="0" y="0" width="300" height="60" as="geometry"/>
|
38
23
|
</mxCell>
|
39
|
-
<mxCell id="
|
24
|
+
<mxCell id="Ip4-2" value="cli support for profile" style="whiteSpace=wrap;html=1;rounded=1;glass=1;fillColor=#dae8fc;strokeColor=#6c8ebf;fontColor=#333333" vertex="1" parent="node_root_Ip4">
|
40
25
|
<mxGeometry x="0" y="0" width="300" height="60" as="geometry"/>
|
41
26
|
</mxCell>
|
42
|
-
<mxCell id="
|
27
|
+
<mxCell id="Ip4-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_Ip4">
|
43
28
|
<mxGeometry x="0" y="0" width="300" height="60" as="geometry"/>
|
44
29
|
</mxCell>
|
45
|
-
<mxCell id="
|
30
|
+
<mxCell id="Ip4-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_Ip4">
|
46
31
|
<mxGeometry x="0" y="0" width="300" height="60" as="geometry"/>
|
47
32
|
</mxCell>
|
48
33
|
</root>
|
49
34
|
</mxGraphModel>
|
50
35
|
</diagram>
|
51
|
-
<diagram id="
|
36
|
+
<diagram id="YZE" name="Done">
|
52
37
|
<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">
|
53
38
|
<root>
|
54
|
-
<mxCell id="
|
55
|
-
<mxCell id="
|
56
|
-
<mxCell id="
|
39
|
+
<mxCell id="page_root_YZE" parent="YZE"/>
|
40
|
+
<mxCell id="node_root_YZE" parent="page_root_YZE"/>
|
41
|
+
<mxCell id="YZE-1" 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_YZE">
|
42
|
+
<mxGeometry x="0" y="0" width="300" height="60" as="geometry"/>
|
43
|
+
</mxCell>
|
44
|
+
<mxCell id="YZE-2" 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_YZE">
|
57
45
|
<mxGeometry x="0" y="0" width="300" height="60" as="geometry"/>
|
58
46
|
</mxCell>
|
59
47
|
</root>
|
@@ -1,3 +1,3 @@
|
|
1
1
|
<?xml version="1.0" encoding="UTF-8"?>
|
2
2
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
3
|
-
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="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="#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 project plan to do list</div></div></div></foreignObject><text x="150" y="34" 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="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="#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 diff tool supporting lhs only, rhs only, same and different</div></div></div></foreignObject><text x="150" 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="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 project plan to do list</div></div></div></foreignObject><text x="150" y="34" 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="
|
3
|
+
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="692px" height="82px" viewBox="-0.5 -0.5 692 82"><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="290" y="0" width="400" height="80" rx="12" ry="12" fill="none" 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 flex-start; justify-content: unsafe flex-start; width: 398px; height: 1px; padding-top: 7px; margin-left: 292px;"><div data-drawio-colors="color: #1F2D3D; " style="box-sizing: border-box; font-size: 0px; text-align: left;"><div style="display: inline-block; font-size: 28px; font-family: Helvetica; color: rgb(31, 45, 61); line-height: 1.2; pointer-events: all; font-weight: bold; white-space: normal; overflow-wrap: normal;">DrawIO DSL</div></div></div></foreignObject><text x="292" y="35" fill="#1F2D3D" font-family="Helvetica" font-size="28px" font-weight="bold">DrawIO DSL</text></switch></g><rect x="0" y="10" width="300" height="60" rx="9" ry="9" fill="#d5e8d4" stroke="#82b366" pointer-events="all"/><path d="M 10.15 9 Q -1 9 -1 20.15 L -1 34 Q 150 52 301 34 L 301 20.15 Q 301 9 289.85 9 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: 40px; 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 vscode option</div></div></div></foreignObject><text x="150" y="44" fill="#333333" font-family="Helvetica" font-size="12px" text-anchor="middle">add diff tool open in vscode option</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="#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;">
|
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="#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 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="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 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="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 support for rails new (rag new should work like rails new) - buggy, need to work through</div></div></div></foreignObject><text x="150" 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="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;">need an option for deleting target project path</div></div></div></foreignObject><text x="150" 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>
|
@@ -2,58 +2,73 @@
|
|
2
2
|
|
3
3
|
module RailsAppGenerator
|
4
4
|
module Diff
|
5
|
-
# CompareInfo information
|
5
|
+
# CompareInfo stores LHS and RHS file information in segments
|
6
6
|
class CompareInfo
|
7
7
|
attr_reader :lhs_path
|
8
8
|
attr_reader :lhs_files
|
9
|
-
attr_reader :lhs_only
|
10
9
|
|
11
10
|
attr_reader :rhs_path
|
12
11
|
attr_reader :rhs_files
|
13
|
-
attr_reader :rhs_only
|
14
12
|
|
15
|
-
|
16
|
-
attr_reader :
|
13
|
+
# File segments
|
14
|
+
attr_reader :lhs_only
|
15
|
+
attr_reader :rhs_only
|
16
|
+
attr_reader :diff
|
17
|
+
attr_reader :same
|
17
18
|
|
18
19
|
def initialize(lhs_path, lhs_files, rhs_path, rhs_files)
|
19
|
-
@lhs_path
|
20
|
-
@lhs_files
|
21
|
-
@lhs_only = []
|
20
|
+
@lhs_path = lhs_path
|
21
|
+
@lhs_files = lhs_files
|
22
22
|
|
23
|
-
@rhs_path
|
24
|
-
@rhs_files
|
25
|
-
@rhs_only = []
|
23
|
+
@rhs_path = rhs_path
|
24
|
+
@rhs_files = rhs_files
|
26
25
|
|
27
|
-
@
|
28
|
-
@
|
26
|
+
@lhs_only = []
|
27
|
+
@rhs_only = []
|
28
|
+
@diff = []
|
29
|
+
@same = []
|
29
30
|
|
30
|
-
|
31
|
+
segment_files(lhs_path, lhs_files, rhs_path, rhs_files)
|
31
32
|
end
|
32
33
|
|
33
34
|
def debug
|
34
35
|
debug_stats
|
35
|
-
debug_files('left only', lhs_only)
|
36
|
-
debug_files('right only', rhs_only)
|
37
|
-
debug_files('same',
|
38
|
-
debug_files('diff',
|
36
|
+
debug_files('left only' , lhs_only)
|
37
|
+
debug_files('right only' , rhs_only)
|
38
|
+
debug_files('same' , same)
|
39
|
+
debug_files('diff' , diff)
|
39
40
|
end
|
40
41
|
|
41
42
|
private
|
42
43
|
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
44
|
+
# rubocop:disable Metrics/AbcSize
|
45
|
+
def segment_files(lhs_path, lhs_files, rhs_path, rhs_files)
|
46
|
+
lhs_only = lhs_files - rhs_files
|
47
|
+
rhs_only = rhs_files - lhs_files
|
47
48
|
matching_files = lhs_files & rhs_files
|
48
49
|
|
50
|
+
@lhs_only = lhs_only.map { |file| FilePair.new(file, lhs_file: File.join(lhs_path, file)) }
|
51
|
+
@rhs_only = rhs_only.map { |file| FilePair.new(file, rhs_file: File.join(rhs_path, file)) }
|
52
|
+
|
49
53
|
matching_files.each do |file|
|
54
|
+
file_pair = FilePair.new(
|
55
|
+
file,
|
56
|
+
lhs_file: File.join(lhs_path, file),
|
57
|
+
rhs_file: File.join(rhs_path, file)
|
58
|
+
)
|
59
|
+
|
50
60
|
if FileUtils.compare_file(File.join(lhs_path, file), File.join(rhs_path, file))
|
51
|
-
@
|
61
|
+
@same << file_pair
|
52
62
|
else
|
53
|
-
@
|
63
|
+
@diff << file_pair
|
54
64
|
end
|
55
65
|
end
|
56
66
|
end
|
67
|
+
# rubocop:enable Metrics/AbcSize
|
68
|
+
|
69
|
+
def rel_abs_file(path, files)
|
70
|
+
files.map { |file| FilePair.new(file, File.join(path, file)) }
|
71
|
+
end
|
57
72
|
|
58
73
|
# rubocop:disable Metrics/AbcSize
|
59
74
|
def debug_stats
|
@@ -66,8 +81,8 @@ module RailsAppGenerator
|
|
66
81
|
Util.kv('file count - left only' , lhs_only.count)
|
67
82
|
Util.kv('file count - right only' , rhs_only.count)
|
68
83
|
|
69
|
-
Util.kv('file count - same' ,
|
70
|
-
Util.kv('file count - different' ,
|
84
|
+
Util.kv('file count - same' , same.count)
|
85
|
+
Util.kv('file count - different' , diff.count)
|
71
86
|
end
|
72
87
|
# rubocop:enable Metrics/AbcSize
|
73
88
|
|
@@ -0,0 +1,18 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module RailsAppGenerator
|
4
|
+
module Diff
|
5
|
+
# FilePair stores the relative file path, plus the absolute file for both Left and Right site
|
6
|
+
class FilePair
|
7
|
+
attr_reader :file # relative file
|
8
|
+
attr_reader :lhs_file # absolute file for left hand side
|
9
|
+
attr_reader :rhs_file # absolute file for right hand side
|
10
|
+
|
11
|
+
def initialize(file, lhs_file: nil, rhs_file: nil)
|
12
|
+
@file = file
|
13
|
+
@lhs_file = lhs_file
|
14
|
+
@rhs_file = rhs_file
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module RailsAppGenerator
|
4
|
+
module Diff
|
5
|
+
# Diff Report
|
6
|
+
class OpenInEditor
|
7
|
+
attr_reader :info
|
8
|
+
|
9
|
+
attr_reader :open_left_only
|
10
|
+
attr_reader :open_right_only
|
11
|
+
attr_reader :open_same
|
12
|
+
attr_reader :open_different
|
13
|
+
|
14
|
+
def initialize(compare_info, **opts)
|
15
|
+
@info = compare_info
|
16
|
+
|
17
|
+
@open_left_only = opts[:open_left_only].nil? ? false : opts[:open_left_only]
|
18
|
+
@open_right_only = opts[:open_right_only].nil? ? true : opts[:open_right_only]
|
19
|
+
@open_same = opts[:open_same].nil? ? false : opts[:open_same]
|
20
|
+
@open_different = opts[:open_different].nil? ? true : opts[:open_different]
|
21
|
+
end
|
22
|
+
|
23
|
+
def open
|
24
|
+
open_files(info.lhs_only) if open_left_only
|
25
|
+
open_files(info.rhs_only) if open_right_only
|
26
|
+
open_files(info.same) if open_same
|
27
|
+
open_files(info.diff) if open_different
|
28
|
+
end
|
29
|
+
|
30
|
+
private
|
31
|
+
|
32
|
+
def open_files(files)
|
33
|
+
files.map do |f|
|
34
|
+
system("code --diff #{f.lhs_file} #{f.rhs_file}")
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
@@ -43,14 +43,6 @@ module RailsAppGenerator
|
|
43
43
|
.map { |file| file.delete_prefix(prefix_path) }
|
44
44
|
end
|
45
45
|
|
46
|
-
# def vscode_compare_files
|
47
|
-
# files_that_are_different.map do |file|
|
48
|
-
# system("code --diff #{File.join(lhs_path, file)} #{File.join(rhs_path, file)}")
|
49
|
-
# end
|
50
|
-
# end
|
51
|
-
|
52
|
-
# private
|
53
|
-
|
54
46
|
# def diff_exclusions(file)
|
55
47
|
# file.include?('config/credentials.yml.enc') ||
|
56
48
|
# file.include?('master.key')
|
@@ -0,0 +1,38 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module RailsAppGenerator
|
4
|
+
module Diff
|
5
|
+
# Diff Report
|
6
|
+
class Report
|
7
|
+
attr_reader :info
|
8
|
+
|
9
|
+
attr_reader :show_left_only
|
10
|
+
attr_reader :show_right_only
|
11
|
+
attr_reader :show_same
|
12
|
+
attr_reader :show_different
|
13
|
+
|
14
|
+
def initialize(compare_info, **opts)
|
15
|
+
@info = compare_info
|
16
|
+
|
17
|
+
@show_left_only = opts[:show_left_only].nil? ? false : opts[:show_left_only]
|
18
|
+
@show_right_only = opts[:show_right_only].nil? ? true : opts[:show_right_only]
|
19
|
+
@show_same = opts[:show_same].nil? ? false : opts[:show_same]
|
20
|
+
@show_different = opts[:show_different].nil? ? true : opts[:show_different]
|
21
|
+
end
|
22
|
+
|
23
|
+
def display
|
24
|
+
display_files('Files only in source folder' , info.lhs_only) if show_left_only
|
25
|
+
display_files('Files only in target folder' , info.rhs_only) if show_right_only
|
26
|
+
display_files('Files in both folders' , info.same) if show_same
|
27
|
+
display_files('Files that are different' , info.diff) if show_different
|
28
|
+
end
|
29
|
+
|
30
|
+
private
|
31
|
+
|
32
|
+
def display_files(heading, files)
|
33
|
+
Util.line(heading)
|
34
|
+
puts files.any? ? files.map(&:file) : 'NO FILES'
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
data/lib/rails_app_generator.rb
CHANGED
@@ -10,8 +10,11 @@ require 'bundler'
|
|
10
10
|
require 'rails_app_generator/version'
|
11
11
|
require 'rails_app_generator/cli'
|
12
12
|
require 'rails_app_generator/util'
|
13
|
+
require 'rails_app_generator/diff/file_pair'
|
13
14
|
require 'rails_app_generator/diff/compare_info'
|
14
15
|
require 'rails_app_generator/diff/processor'
|
16
|
+
require 'rails_app_generator/diff/report'
|
17
|
+
require 'rails_app_generator/diff/open_in_editor'
|
15
18
|
require 'rails_app_generator/options/base_map_option'
|
16
19
|
require 'rails_app_generator/options/map_option_ignore'
|
17
20
|
require 'rails_app_generator/options/map_option_string'
|
data/package-lock.json
CHANGED
@@ -1,12 +1,12 @@
|
|
1
1
|
{
|
2
2
|
"name": "rails_app_generator",
|
3
|
-
"version": "0.0.
|
3
|
+
"version": "0.0.13",
|
4
4
|
"lockfileVersion": 2,
|
5
5
|
"requires": true,
|
6
6
|
"packages": {
|
7
7
|
"": {
|
8
8
|
"name": "rails_app_generator",
|
9
|
-
"version": "0.0.
|
9
|
+
"version": "0.0.13",
|
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
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.
|
4
|
+
version: 0.0.13
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- David Cruwys
|
@@ -211,7 +211,10 @@ files:
|
|
211
211
|
- lib/rails_app_generator/context.rb
|
212
212
|
- lib/rails_app_generator/dependencies.rb
|
213
213
|
- lib/rails_app_generator/diff/compare_info.rb
|
214
|
+
- lib/rails_app_generator/diff/file_pair.rb
|
215
|
+
- lib/rails_app_generator/diff/open_in_editor.rb
|
214
216
|
- lib/rails_app_generator/diff/processor.rb
|
217
|
+
- lib/rails_app_generator/diff/report.rb
|
215
218
|
- lib/rails_app_generator/generators/advisories_generator.rb
|
216
219
|
- lib/rails_app_generator/generators/base.rb
|
217
220
|
- lib/rails_app_generator/generators/foo_generator.rb
|