blade-setting 0.2.2 → 0.2.3
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/.idea/workspace.xml +86 -47
- data/bin/bs +78 -59
- data/lib/blade/setting.rb +16 -0
- data/lib/blade/setting/swagger_template.rb +143 -0
- data/lib/blade/setting/version.rb +1 -1
- data/reinstall.sh +2 -2
- metadata +3 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: d1433ba40da43a8f46a052cb40f97fba0e4c4488a9d6f61c7488843782f61634
|
|
4
|
+
data.tar.gz: df969ee95e0f7224c376b0222d7ecd76bc776e34d6c212351cc51863900d0b0f
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: b8ed07c14b798b2ab41f38f922ffa468f7e11fe731025e3c04e06cdd35f7e3d60fb4420f63f13518a187a85451b92038e0dc127a013c8736befec2364cf42fea
|
|
7
|
+
data.tar.gz: d904234565a9af09b2e08f6f51ac2a7c0c463518ffd8830ade491e00eda91902140b3133a48e6699b6c239f5ea2b919f592fb9f4feed064034394fc06f260e34
|
data/.idea/workspace.xml
CHANGED
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
<change afterPath="$PROJECT_DIR$/lib/blade/setting/base_template.rb" afterDir="false" />
|
|
7
7
|
<change afterPath="$PROJECT_DIR$/lib/blade/setting/controller_template.rb" afterDir="false" />
|
|
8
8
|
<change afterPath="$PROJECT_DIR$/lib/blade/setting/model_template.rb" afterDir="false" />
|
|
9
|
+
<change afterPath="$PROJECT_DIR$/lib/blade/setting/swagger_template.rb" afterDir="false" />
|
|
9
10
|
<change afterPath="$PROJECT_DIR$/lib/blade/setting/yml_template.rb" afterDir="false" />
|
|
10
11
|
<change afterPath="$PROJECT_DIR$/reinstall.sh" afterDir="false" />
|
|
11
12
|
<change beforePath="$PROJECT_DIR$/.idea/.rakeTasks" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/.rakeTasks" afterDir="false" />
|
|
@@ -49,16 +50,16 @@
|
|
|
49
50
|
</usages-collector>
|
|
50
51
|
<usages-collector id="statistics.file.extensions.edit">
|
|
51
52
|
<counts>
|
|
52
|
-
<entry key="bs" value="
|
|
53
|
+
<entry key="bs" value="2938" />
|
|
53
54
|
<entry key="gemspec" value="89" />
|
|
54
|
-
<entry key="rb" value="
|
|
55
|
-
<entry key="sh" value="
|
|
55
|
+
<entry key="rb" value="7237" />
|
|
56
|
+
<entry key="sh" value="36" />
|
|
56
57
|
</counts>
|
|
57
58
|
</usages-collector>
|
|
58
59
|
<usages-collector id="statistics.file.types.edit">
|
|
59
60
|
<counts>
|
|
60
|
-
<entry key="PLAIN_TEXT" value="
|
|
61
|
-
<entry key="Ruby" value="
|
|
61
|
+
<entry key="PLAIN_TEXT" value="36" />
|
|
62
|
+
<entry key="Ruby" value="10264" />
|
|
62
63
|
</counts>
|
|
63
64
|
</usages-collector>
|
|
64
65
|
<usages-collector id="statistics.file.extensions.open">
|
|
@@ -68,18 +69,18 @@
|
|
|
68
69
|
<entry key="console" value="1" />
|
|
69
70
|
<entry key="gemspec" value="1" />
|
|
70
71
|
<entry key="png" value="1" />
|
|
71
|
-
<entry key="rb" value="
|
|
72
|
+
<entry key="rb" value="36" />
|
|
72
73
|
<entry key="rspec" value="1" />
|
|
73
74
|
<entry key="setup" value="1" />
|
|
74
|
-
<entry key="sh" value="
|
|
75
|
+
<entry key="sh" value="2" />
|
|
75
76
|
<entry key="yml" value="2" />
|
|
76
77
|
</counts>
|
|
77
78
|
</usages-collector>
|
|
78
79
|
<usages-collector id="statistics.file.types.open">
|
|
79
80
|
<counts>
|
|
80
81
|
<entry key="Image" value="1" />
|
|
81
|
-
<entry key="PLAIN_TEXT" value="
|
|
82
|
-
<entry key="Ruby" value="
|
|
82
|
+
<entry key="PLAIN_TEXT" value="4" />
|
|
83
|
+
<entry key="Ruby" value="44" />
|
|
83
84
|
<entry key="YAML" value="2" />
|
|
84
85
|
</counts>
|
|
85
86
|
</usages-collector>
|
|
@@ -90,11 +91,20 @@
|
|
|
90
91
|
</component>
|
|
91
92
|
<component name="FileEditorManager">
|
|
92
93
|
<leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
|
|
93
|
-
<file pinned="false" current-in-tab="
|
|
94
|
+
<file pinned="false" current-in-tab="true">
|
|
94
95
|
<entry file="file://$PROJECT_DIR$/lib/blade/setting/version.rb">
|
|
95
96
|
<provider selected="true" editor-type-id="text-editor">
|
|
96
97
|
<state relative-caret-position="30">
|
|
97
|
-
<caret line="2" column="
|
|
98
|
+
<caret line="2" column="20" selection-start-line="2" selection-start-column="20" selection-end-line="2" selection-end-column="20" />
|
|
99
|
+
</state>
|
|
100
|
+
</provider>
|
|
101
|
+
</entry>
|
|
102
|
+
</file>
|
|
103
|
+
<file pinned="false" current-in-tab="false">
|
|
104
|
+
<entry file="file://$PROJECT_DIR$/reinstall.sh">
|
|
105
|
+
<provider selected="true" editor-type-id="text-editor">
|
|
106
|
+
<state relative-caret-position="15">
|
|
107
|
+
<caret line="1" column="26" selection-start-line="1" selection-start-column="26" selection-end-line="1" selection-end-column="26" />
|
|
98
108
|
</state>
|
|
99
109
|
</provider>
|
|
100
110
|
</entry>
|
|
@@ -102,17 +112,35 @@
|
|
|
102
112
|
<file pinned="false" current-in-tab="false">
|
|
103
113
|
<entry file="file://$PROJECT_DIR$/lib/blade/setting.rb">
|
|
104
114
|
<provider selected="true" editor-type-id="text-editor">
|
|
105
|
-
<state relative-caret-position="
|
|
106
|
-
<caret line="
|
|
115
|
+
<state relative-caret-position="394">
|
|
116
|
+
<caret line="62" column="14" lean-forward="true" selection-start-line="62" selection-start-column="14" selection-end-line="62" selection-end-column="14" />
|
|
107
117
|
</state>
|
|
108
118
|
</provider>
|
|
109
119
|
</entry>
|
|
110
120
|
</file>
|
|
111
|
-
<file pinned="false" current-in-tab="
|
|
112
|
-
<entry file="file://$PROJECT_DIR$/lib/blade/setting/
|
|
121
|
+
<file pinned="false" current-in-tab="false">
|
|
122
|
+
<entry file="file://$PROJECT_DIR$/lib/blade/setting/swagger_template.rb">
|
|
123
|
+
<provider selected="true" editor-type-id="text-editor">
|
|
124
|
+
<state relative-caret-position="1545">
|
|
125
|
+
<caret line="103" column="32" selection-start-line="103" selection-start-column="32" selection-end-line="103" selection-end-column="32" />
|
|
126
|
+
</state>
|
|
127
|
+
</provider>
|
|
128
|
+
</entry>
|
|
129
|
+
</file>
|
|
130
|
+
<file pinned="false" current-in-tab="false">
|
|
131
|
+
<entry file="file://$PROJECT_DIR$/lib/blade/setting/model_template.rb">
|
|
132
|
+
<provider selected="true" editor-type-id="text-editor">
|
|
133
|
+
<state relative-caret-position="179">
|
|
134
|
+
<caret line="12" column="22" selection-start-line="12" selection-start-column="22" selection-end-line="12" selection-end-column="31" />
|
|
135
|
+
</state>
|
|
136
|
+
</provider>
|
|
137
|
+
</entry>
|
|
138
|
+
</file>
|
|
139
|
+
<file pinned="false" current-in-tab="false">
|
|
140
|
+
<entry file="file://$PROJECT_DIR$/lib/blade/setting/base_template.rb">
|
|
113
141
|
<provider selected="true" editor-type-id="text-editor">
|
|
114
|
-
<state relative-caret-position="
|
|
115
|
-
<caret line="
|
|
142
|
+
<state relative-caret-position="570">
|
|
143
|
+
<caret line="794" column="4" selection-start-line="794" selection-start-column="4" selection-end-line="794" selection-end-column="4" />
|
|
116
144
|
</state>
|
|
117
145
|
</provider>
|
|
118
146
|
</entry>
|
|
@@ -120,8 +148,8 @@
|
|
|
120
148
|
<file pinned="false" current-in-tab="false">
|
|
121
149
|
<entry file="file://$PROJECT_DIR$/bin/bs">
|
|
122
150
|
<provider selected="true" editor-type-id="text-editor">
|
|
123
|
-
<state relative-caret-position="
|
|
124
|
-
<caret line="
|
|
151
|
+
<state relative-caret-position="542">
|
|
152
|
+
<caret line="120" column="29" selection-start-line="120" selection-start-column="29" selection-end-line="120" selection-end-column="29" />
|
|
125
153
|
</state>
|
|
126
154
|
</provider>
|
|
127
155
|
</entry>
|
|
@@ -160,6 +188,7 @@
|
|
|
160
188
|
<find>0.1.8</find>
|
|
161
189
|
<find>included</find>
|
|
162
190
|
<find>redis</find>
|
|
191
|
+
<find>sup</find>
|
|
163
192
|
</findStrings>
|
|
164
193
|
<replaceStrings>
|
|
165
194
|
<replace>blade/setting</replace>
|
|
@@ -200,13 +229,14 @@
|
|
|
200
229
|
<option value="$PROJECT_DIR$/blade-setting.gemspec" />
|
|
201
230
|
<option value="$PROJECT_DIR$/lib/blade/setting/model_template.rb" />
|
|
202
231
|
<option value="$PROJECT_DIR$/lib/blade/setting/view_template.rb" />
|
|
203
|
-
<option value="$PROJECT_DIR$/lib/blade/setting/base_template.rb" />
|
|
204
232
|
<option value="$PROJECT_DIR$/lib/blade/setting/yml_template.rb" />
|
|
205
|
-
<option value="$PROJECT_DIR$/lib/blade/setting/
|
|
233
|
+
<option value="$PROJECT_DIR$/lib/blade/setting/controller_template.rb" />
|
|
234
|
+
<option value="$PROJECT_DIR$/lib/blade/setting/base_template.rb" />
|
|
206
235
|
<option value="$PROJECT_DIR$/reinstall.sh" />
|
|
207
236
|
<option value="$PROJECT_DIR$/bin/bs" />
|
|
208
|
-
<option value="$PROJECT_DIR$/lib/blade/setting/
|
|
237
|
+
<option value="$PROJECT_DIR$/lib/blade/setting/swagger_template.rb" />
|
|
209
238
|
<option value="$PROJECT_DIR$/lib/blade/setting.rb" />
|
|
239
|
+
<option value="$PROJECT_DIR$/lib/blade/setting/version.rb" />
|
|
210
240
|
</list>
|
|
211
241
|
</option>
|
|
212
242
|
</component>
|
|
@@ -217,6 +247,7 @@
|
|
|
217
247
|
<sorting>DEFINITION_ORDER</sorting>
|
|
218
248
|
</component>
|
|
219
249
|
<component name="ProjectFrameBounds">
|
|
250
|
+
<option name="x" value="-1" />
|
|
220
251
|
<option name="y" value="23" />
|
|
221
252
|
<option name="width" value="1674" />
|
|
222
253
|
<option name="height" value="937" />
|
|
@@ -275,6 +306,7 @@
|
|
|
275
306
|
</panes>
|
|
276
307
|
</component>
|
|
277
308
|
<component name="PropertiesComponent">
|
|
309
|
+
<property name="SearchEverywhereHistoryKey" value="ver	FILE	file:///Users/icepoint1999/code/yunshen/blade-translate/lib/blade/setting/version.rb" />
|
|
278
310
|
<property name="WebServerToolWindowFactoryState" value="false" />
|
|
279
311
|
<property name="js-jscs-nodeInterpreter" value="/usr/local/bin/node" />
|
|
280
312
|
<property name="last_opened_file_path" value="$PROJECT_DIR$" />
|
|
@@ -349,15 +381,15 @@
|
|
|
349
381
|
<workItem from="1516678356632" duration="151000" />
|
|
350
382
|
<workItem from="1550567927497" duration="38943000" />
|
|
351
383
|
<workItem from="1551061926156" duration="25920000" />
|
|
352
|
-
<workItem from="1551757864469" duration="
|
|
384
|
+
<workItem from="1551757864469" duration="15691000" />
|
|
353
385
|
</task>
|
|
354
386
|
<servers />
|
|
355
387
|
</component>
|
|
356
388
|
<component name="TimeTrackingManager">
|
|
357
|
-
<option name="totallyTimeSpent" value="
|
|
389
|
+
<option name="totallyTimeSpent" value="84913000" />
|
|
358
390
|
</component>
|
|
359
391
|
<component name="ToolWindowManager">
|
|
360
|
-
<frame x="
|
|
392
|
+
<frame x="-1" y="23" width="1674" height="937" extended-state="0" />
|
|
361
393
|
<editor active="true" />
|
|
362
394
|
<layout>
|
|
363
395
|
<window_info active="true" id="Project" order="0" visible="true" weight="0.23100491" />
|
|
@@ -467,59 +499,66 @@
|
|
|
467
499
|
</state>
|
|
468
500
|
</provider>
|
|
469
501
|
</entry>
|
|
470
|
-
<entry file="file://$PROJECT_DIR$/lib/blade/setting/
|
|
502
|
+
<entry file="file://$PROJECT_DIR$/lib/blade/setting/yml_template.rb">
|
|
471
503
|
<provider selected="true" editor-type-id="text-editor">
|
|
472
|
-
<state relative-caret-position="
|
|
473
|
-
<caret line="
|
|
504
|
+
<state relative-caret-position="654">
|
|
505
|
+
<caret line="251" column="7" lean-forward="true" selection-start-line="251" selection-start-column="7" selection-end-line="251" selection-end-column="7" />
|
|
474
506
|
</state>
|
|
475
507
|
</provider>
|
|
476
508
|
</entry>
|
|
477
|
-
<entry file="file://$PROJECT_DIR$/
|
|
509
|
+
<entry file="file://$PROJECT_DIR$/lib/blade/setting/controller_template.rb">
|
|
478
510
|
<provider selected="true" editor-type-id="text-editor">
|
|
479
|
-
<state relative-caret-position="
|
|
480
|
-
<caret line="
|
|
511
|
+
<state relative-caret-position="197">
|
|
512
|
+
<caret line="31" column="14" selection-start-line="31" selection-start-column="14" selection-end-line="31" selection-end-column="14" />
|
|
481
513
|
</state>
|
|
482
514
|
</provider>
|
|
483
515
|
</entry>
|
|
484
|
-
<entry file="file://$PROJECT_DIR$/lib/blade/setting/
|
|
516
|
+
<entry file="file://$PROJECT_DIR$/lib/blade/setting/base_template.rb">
|
|
485
517
|
<provider selected="true" editor-type-id="text-editor">
|
|
486
|
-
<state relative-caret-position="
|
|
487
|
-
<caret line="
|
|
518
|
+
<state relative-caret-position="570">
|
|
519
|
+
<caret line="794" column="4" selection-start-line="794" selection-start-column="4" selection-end-line="794" selection-end-column="4" />
|
|
488
520
|
</state>
|
|
489
521
|
</provider>
|
|
490
522
|
</entry>
|
|
491
|
-
<entry file="file://$PROJECT_DIR$/lib/blade/setting/
|
|
523
|
+
<entry file="file://$PROJECT_DIR$/lib/blade/setting/model_template.rb">
|
|
492
524
|
<provider selected="true" editor-type-id="text-editor">
|
|
493
|
-
<state relative-caret-position="
|
|
494
|
-
<caret line="
|
|
525
|
+
<state relative-caret-position="179">
|
|
526
|
+
<caret line="12" column="22" selection-start-line="12" selection-start-column="22" selection-end-line="12" selection-end-column="31" />
|
|
495
527
|
</state>
|
|
496
528
|
</provider>
|
|
497
529
|
</entry>
|
|
498
|
-
<entry file="file://$PROJECT_DIR$/
|
|
530
|
+
<entry file="file://$PROJECT_DIR$/reinstall.sh">
|
|
499
531
|
<provider selected="true" editor-type-id="text-editor">
|
|
500
|
-
<state relative-caret-position="
|
|
501
|
-
<caret line="
|
|
532
|
+
<state relative-caret-position="15">
|
|
533
|
+
<caret line="1" column="26" selection-start-line="1" selection-start-column="26" selection-end-line="1" selection-end-column="26" />
|
|
502
534
|
</state>
|
|
503
535
|
</provider>
|
|
504
536
|
</entry>
|
|
505
537
|
<entry file="file://$PROJECT_DIR$/bin/bs">
|
|
506
538
|
<provider selected="true" editor-type-id="text-editor">
|
|
507
|
-
<state relative-caret-position="
|
|
508
|
-
<caret line="
|
|
539
|
+
<state relative-caret-position="542">
|
|
540
|
+
<caret line="120" column="29" selection-start-line="120" selection-start-column="29" selection-end-line="120" selection-end-column="29" />
|
|
541
|
+
</state>
|
|
542
|
+
</provider>
|
|
543
|
+
</entry>
|
|
544
|
+
<entry file="file://$PROJECT_DIR$/lib/blade/setting/swagger_template.rb">
|
|
545
|
+
<provider selected="true" editor-type-id="text-editor">
|
|
546
|
+
<state relative-caret-position="1545">
|
|
547
|
+
<caret line="103" column="32" selection-start-line="103" selection-start-column="32" selection-end-line="103" selection-end-column="32" />
|
|
509
548
|
</state>
|
|
510
549
|
</provider>
|
|
511
550
|
</entry>
|
|
512
551
|
<entry file="file://$PROJECT_DIR$/lib/blade/setting.rb">
|
|
513
552
|
<provider selected="true" editor-type-id="text-editor">
|
|
514
|
-
<state relative-caret-position="
|
|
515
|
-
<caret line="
|
|
553
|
+
<state relative-caret-position="394">
|
|
554
|
+
<caret line="62" column="14" lean-forward="true" selection-start-line="62" selection-start-column="14" selection-end-line="62" selection-end-column="14" />
|
|
516
555
|
</state>
|
|
517
556
|
</provider>
|
|
518
557
|
</entry>
|
|
519
|
-
<entry file="file://$PROJECT_DIR$/lib/blade/setting/
|
|
558
|
+
<entry file="file://$PROJECT_DIR$/lib/blade/setting/version.rb">
|
|
520
559
|
<provider selected="true" editor-type-id="text-editor">
|
|
521
|
-
<state relative-caret-position="
|
|
522
|
-
<caret line="
|
|
560
|
+
<state relative-caret-position="30">
|
|
561
|
+
<caret line="2" column="20" selection-start-line="2" selection-start-column="20" selection-end-line="2" selection-end-column="20" />
|
|
523
562
|
</state>
|
|
524
563
|
</provider>
|
|
525
564
|
</entry>
|
data/bin/bs
CHANGED
|
@@ -13,7 +13,7 @@ end
|
|
|
13
13
|
def ok
|
|
14
14
|
prompt = TTY::Prompt.new
|
|
15
15
|
prompt.ok("generate complete ! check files now")
|
|
16
|
-
|
|
16
|
+
cli
|
|
17
17
|
end
|
|
18
18
|
|
|
19
19
|
def fail()
|
|
@@ -33,83 +33,102 @@ end
|
|
|
33
33
|
|
|
34
34
|
require_relative '../lib/blade/setting'
|
|
35
35
|
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
menu.
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
36
|
+
def cli
|
|
37
|
+
prompt = TTY::Prompt.new
|
|
38
|
+
menu_result = prompt.collect do
|
|
39
|
+
key(:menu).select('select the menu you want to do') do |menu|
|
|
40
|
+
menu.choice "Generate yml and setting logic files", 1
|
|
41
|
+
menu.choice "Generate Model's crud scaffold", 2
|
|
42
|
+
menu.choice "Add graphql base file to your project", 3
|
|
43
|
+
menu.choice "Add Doorkeeper Token to project", 4
|
|
44
|
+
menu.choice "Add Base File for project [response.rb,application.json.jbuilder, application.helper, base_model_concern]", 0
|
|
45
|
+
menu.choice "Generate Swagger doc file by Model Module", 5
|
|
46
|
+
end
|
|
43
47
|
end
|
|
44
|
-
end
|
|
45
48
|
|
|
46
|
-
case menu_result[:menu]
|
|
47
|
-
when 1
|
|
48
|
-
|
|
49
|
-
|
|
49
|
+
case menu_result[:menu]
|
|
50
|
+
when 1
|
|
51
|
+
result = prompt.collect do
|
|
52
|
+
key(:setting_path).ask('The generated config file path', default: '/app/settings')
|
|
50
53
|
|
|
51
|
-
|
|
54
|
+
setting_choices = %w(redis sentry database influxdb scout_apm send_cloud elastic_search wechat carrierwave)
|
|
52
55
|
|
|
53
|
-
|
|
56
|
+
prompt.say('Please select the config file you want to generate,
|
|
54
57
|
(Use arrow keys, press Space to select and Enter to finish, and letter keys to filter)')
|
|
55
|
-
|
|
56
|
-
|
|
58
|
+
key(:configs).multi_select('check configs',
|
|
59
|
+
setting_choices, filter: true)
|
|
57
60
|
|
|
58
|
-
|
|
61
|
+
key(:yml_path).ask('The generated yml path', default: '/environments')
|
|
59
62
|
|
|
60
|
-
|
|
61
|
-
|
|
63
|
+
key(:extra_yml_path).ask('Other environment? (Input words like sit,dit,prod)', default: 'dev,sit,dit,prod') do |q|
|
|
64
|
+
q.convert -> (input) {input.split(/,\s*/)}
|
|
65
|
+
end
|
|
62
66
|
end
|
|
63
|
-
end
|
|
64
67
|
|
|
65
|
-
|
|
66
|
-
|
|
68
|
+
prompt.ok('config complete')
|
|
69
|
+
prompt.warn("generating files ...plz don't quit")
|
|
67
70
|
#生成setting logic
|
|
68
|
-
|
|
71
|
+
Blade::BladeSetting.generate_setting_logic(result[:setting_path], result[:configs])
|
|
69
72
|
|
|
70
|
-
|
|
71
|
-
|
|
73
|
+
prompt.warn('generating yml files ...')
|
|
74
|
+
Blade::BladeSetting.generate_setting_yml(result[:yml_path], result[:extra_yml_path], result[:configs])
|
|
72
75
|
|
|
73
|
-
|
|
76
|
+
prompt.ok("generate complete ! check files now")
|
|
74
77
|
|
|
75
78
|
|
|
76
|
-
when 2
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
79
|
+
when 2
|
|
80
|
+
model_result = prompt.collect do
|
|
81
|
+
key(:model_name).ask('enter the model name')
|
|
82
|
+
key(:namespace).ask('enter the controller namespace', default: 'api')
|
|
83
|
+
end
|
|
84
|
+
ActiveRecord::Base.connection
|
|
85
|
+
model = Blade::BladeSetting.get_model(model_result[:model_name].classify)
|
|
86
|
+
if (model.blank?)
|
|
87
|
+
prompt.error("Model doesn't exist")
|
|
88
|
+
exit(0);
|
|
89
|
+
end
|
|
90
|
+
prompt.warn("generating files ...please don't quit")
|
|
91
|
+
Blade::BladeSetting.generate_model_template(model, model_result[:model_name])
|
|
92
|
+
Blade::BladeSetting.generate_crud(model, model_result[:model_name], model_result[:namespace])
|
|
93
|
+
ok();
|
|
91
94
|
|
|
92
|
-
when 3
|
|
95
|
+
when 3
|
|
93
96
|
|
|
94
|
-
when 4
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
97
|
+
when 4
|
|
98
|
+
token_result = prompt.collect do
|
|
99
|
+
key(:app_name).ask('Enter the app name', default: 'My app')
|
|
100
|
+
key(:uri).ask('enter the redirect uri', default: 'http://localhost:3000')
|
|
101
|
+
end
|
|
102
|
+
if (!defined? Doorkeeper)
|
|
103
|
+
Blade::BladeSetting.generate_gem('doorkeeper')
|
|
104
|
+
prompt.error('You should install doorkeeper first')
|
|
105
|
+
fail()
|
|
106
|
+
else
|
|
107
|
+
app = Doorkeeper::Application.new(name: token_result[:app_name], redirect_uri: token_result[:uri], scopes: token_result[:uri])
|
|
108
|
+
app.save!
|
|
109
|
+
prompt.ok("The Uid is #{app.uid}")
|
|
110
|
+
prompt.ok("The secret key is #{app.secret}")
|
|
111
|
+
end
|
|
112
|
+
ok()
|
|
107
113
|
|
|
108
|
-
when
|
|
109
|
-
|
|
110
|
-
|
|
114
|
+
when 5
|
|
115
|
+
doc_result = prompt.collect do
|
|
116
|
+
key(:model).ask('Enter the module name', default: 'user')
|
|
117
|
+
end
|
|
118
|
+
doc_name_result = prompt.collect do
|
|
119
|
+
key(:name).ask('Enter the module name', default: doc_result[:model])
|
|
120
|
+
end
|
|
121
|
+
Blade::BladeSetting.generate_doc(doc_result[:model], doc_name_result[:name])
|
|
122
|
+
ok()
|
|
123
|
+
when 0
|
|
124
|
+
Blade::BladeSetting.generate_base_files
|
|
125
|
+
ok();
|
|
111
126
|
|
|
127
|
+
end
|
|
112
128
|
end
|
|
113
129
|
|
|
130
|
+
cli
|
|
131
|
+
|
|
132
|
+
|
|
114
133
|
|
|
115
134
|
|
data/lib/blade/setting.rb
CHANGED
|
@@ -2,6 +2,7 @@ require_relative '../blade/setting/yml_template'
|
|
|
2
2
|
require_relative '../blade/setting/model_template'
|
|
3
3
|
require_relative '../blade/setting/controller_template'
|
|
4
4
|
require_relative '../blade/setting/base_template'
|
|
5
|
+
require_relative '../blade/setting/swagger_template'
|
|
5
6
|
require 'rails/generators'
|
|
6
7
|
module Blade
|
|
7
8
|
|
|
@@ -170,7 +171,22 @@ end
|
|
|
170
171
|
|
|
171
172
|
def generate_gem(name)
|
|
172
173
|
gt.add_gem(name)
|
|
174
|
+
end
|
|
175
|
+
|
|
176
|
+
def generate_doc(model, name)
|
|
177
|
+
file = <<File
|
|
178
|
+
require 'swagger_helper'
|
|
179
|
+
|
|
180
|
+
describe '#{name}模块' do
|
|
181
|
+
|
|
182
|
+
#{Blade::Setting::SwaggerTemplate.generate_template(model, name)}
|
|
183
|
+
|
|
184
|
+
end
|
|
185
|
+
|
|
186
|
+
File
|
|
173
187
|
|
|
188
|
+
path = Rails.root.join('spec', 'integration', "#{model}_spec.rb")
|
|
189
|
+
gt.create_view_file(path, file)
|
|
174
190
|
end
|
|
175
191
|
|
|
176
192
|
def gt
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
module Blade
|
|
2
|
+
module Setting
|
|
3
|
+
class SwaggerTemplate
|
|
4
|
+
class << self
|
|
5
|
+
def render_routes(routes, model, name)
|
|
6
|
+
routes.map! do |route|
|
|
7
|
+
api_string = ""
|
|
8
|
+
path = route.path.spec.to_s
|
|
9
|
+
action = route.defaults[:action]
|
|
10
|
+
action_map = {update: "更新", index: "列表", create: "创建", destroy: "删除"}
|
|
11
|
+
action_method = {update: "put", index: "get", create: "post", destroy: "delete"}
|
|
12
|
+
action_in = {update: "body", index: "query", create: "body", destroy: "query"}
|
|
13
|
+
ActiveRecord::Base.connection
|
|
14
|
+
model_class = ActiveSupport::Dependencies.constantize(model.classify)
|
|
15
|
+
properties = {}
|
|
16
|
+
isSearch = (action == "index" || action == "destroy")
|
|
17
|
+
examples = {
|
|
18
|
+
data: {
|
|
19
|
+
},
|
|
20
|
+
status: {
|
|
21
|
+
code: "20000",
|
|
22
|
+
messages: []
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
property_prefix = nil
|
|
26
|
+
includes_actions = ["index", "create", "update", "destroy"]
|
|
27
|
+
if !includes_actions.include?(action)
|
|
28
|
+
next
|
|
29
|
+
end
|
|
30
|
+
model_example = {}
|
|
31
|
+
case action
|
|
32
|
+
when "create"
|
|
33
|
+
property_prefix = :create
|
|
34
|
+
|
|
35
|
+
when "update"
|
|
36
|
+
property_prefix = :update
|
|
37
|
+
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
if (property_prefix.present?)
|
|
41
|
+
properties[property_prefix] = {type: :object, properties: {}}
|
|
42
|
+
end
|
|
43
|
+
if (action == "index" || action == "destroy")
|
|
44
|
+
properties = []
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
required = []
|
|
48
|
+
excluded_columns = ["created_at", "deleted_at", "updated_at", "id"]
|
|
49
|
+
model_class.columns.each do |column|
|
|
50
|
+
if (!excluded_columns.include?(column.name))
|
|
51
|
+
if (action == "index")
|
|
52
|
+
properties.push("parameter name: :'search[#{column.name}]',description: '#{column.comment}', in: :query, type: :#{column.type} ")
|
|
53
|
+
end
|
|
54
|
+
if (property_prefix.present?)
|
|
55
|
+
properties[property_prefix][:properties][:"#{column.name}"] = {type: "#{column.type}".to_sym}
|
|
56
|
+
end
|
|
57
|
+
end
|
|
58
|
+
model_example[:"#{column.name}"] = column.comment
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
if (action == "update")
|
|
62
|
+
properties[:"#{model}_id"] = {type: :string}
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
if (action == "destroy")
|
|
66
|
+
properties.push("parameter name: :'#{model}_id', in: :query, type: :integer ")
|
|
67
|
+
end
|
|
68
|
+
|
|
69
|
+
if (action == "index")
|
|
70
|
+
examples[:data] = {
|
|
71
|
+
"#{model.pluralize}": [
|
|
72
|
+
model_example
|
|
73
|
+
],
|
|
74
|
+
"total_pages": 1,
|
|
75
|
+
"total_count": 1
|
|
76
|
+
}
|
|
77
|
+
end
|
|
78
|
+
|
|
79
|
+
if (action == "update" || action == "create")
|
|
80
|
+
examples[:data] = {
|
|
81
|
+
"#{model}": model_example
|
|
82
|
+
}
|
|
83
|
+
end
|
|
84
|
+
|
|
85
|
+
schema = {
|
|
86
|
+
type: :object,
|
|
87
|
+
properties: properties,
|
|
88
|
+
required: required
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
render_params = <<File
|
|
92
|
+
parameter name: "#{model}#{action_map[action.to_sym]}", in: :#{action_in[action.to_sym]},schema: #{schema}
|
|
93
|
+
File
|
|
94
|
+
if isSearch
|
|
95
|
+
render_params = <<File
|
|
96
|
+
#{properties.join("\n ")}
|
|
97
|
+
File
|
|
98
|
+
end
|
|
99
|
+
|
|
100
|
+
if (includes_actions.include?(action.to_s))
|
|
101
|
+
api_string = <<file
|
|
102
|
+
path "#{path.gsub("(.:format)", "").gsub(":id", "{id}")}" do
|
|
103
|
+
#{action_method[action.to_sym]} '#{model}#{action_map[action.to_sym]}' do
|
|
104
|
+
tags '#{model.classify} #{name} 模块'
|
|
105
|
+
security [access_token: [],user_session_key:[]]
|
|
106
|
+
consumes 'application/json'
|
|
107
|
+
#{render_params}
|
|
108
|
+
response '20000', '请求成功' do
|
|
109
|
+
# noinspection RubyArgCount
|
|
110
|
+
examples 'application/json' =>
|
|
111
|
+
#{examples}
|
|
112
|
+
run_test! do |response|
|
|
113
|
+
data = JSON.parse(response.body)
|
|
114
|
+
end
|
|
115
|
+
end
|
|
116
|
+
response '50000', '请求失败' do
|
|
117
|
+
run_test!
|
|
118
|
+
end
|
|
119
|
+
end
|
|
120
|
+
end
|
|
121
|
+
file
|
|
122
|
+
end
|
|
123
|
+
|
|
124
|
+
api_string
|
|
125
|
+
end
|
|
126
|
+
routes.join("\n")
|
|
127
|
+
end
|
|
128
|
+
|
|
129
|
+
|
|
130
|
+
def generate_template(model, name)
|
|
131
|
+
|
|
132
|
+
all_routes = Rails.application.routes.routes.to_a
|
|
133
|
+
|
|
134
|
+
routes = all_routes.filter {|route| route.path.spec.to_s.include?("/#{model.pluralize}")}
|
|
135
|
+
|
|
136
|
+
routes.uniq! {|p| p.defaults}
|
|
137
|
+
|
|
138
|
+
render_routes(routes, model, name)
|
|
139
|
+
end
|
|
140
|
+
end
|
|
141
|
+
end
|
|
142
|
+
end
|
|
143
|
+
end
|
data/reinstall.sh
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: blade-setting
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.2.
|
|
4
|
+
version: 0.2.3
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- icepoint0
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2019-03-
|
|
11
|
+
date: 2019-03-06 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: bundler
|
|
@@ -99,6 +99,7 @@ files:
|
|
|
99
99
|
- lib/blade/setting/base_template.rb
|
|
100
100
|
- lib/blade/setting/controller_template.rb
|
|
101
101
|
- lib/blade/setting/model_template.rb
|
|
102
|
+
- lib/blade/setting/swagger_template.rb
|
|
102
103
|
- lib/blade/setting/version.rb
|
|
103
104
|
- lib/blade/setting/yml_template.rb
|
|
104
105
|
- reinstall.sh
|