@@ -41,31 +41,19 @@ func NewRunnerCommand(use string) *cobra.Command {
41
41
Short : "generate source & unit tests files" ,
42
42
Run : func (cmd * cobra.Command , args []string ) {
43
43
44
- fmt .Printf ("\033 [32m%s\033 [0m\n " , logo )
45
-
46
44
if len (name ) == 0 {
47
45
fmt .Println ("[Error] invalid usecase name\033 [0m" )
48
46
return
49
47
}
50
48
51
- gen := gen .NewGenerator (
52
- gen.Genflag {
53
- Name : name ,
54
- UsecasesString : usecasesString ,
55
- SourceDir : sourceDir ,
56
- TestDir : testDir ,
57
- ConfigFilePath : configFilePath ,
58
- },
49
+ run (
50
+ name ,
51
+ usecasesString ,
52
+ sourceDir ,
53
+ testDir ,
54
+ configFilePath ,
59
55
)
60
56
61
- err := gen .Run ()
62
-
63
- if err != nil {
64
- fmt .Printf ("\033 [31m[Error] failed to generate: %s\n \033 [0m" , err .Error ())
65
- } else {
66
- fmt .Printf ("\033 [32m[Log] Done!\n \n \033 [0m" )
67
- }
68
-
69
57
},
70
58
}
71
59
@@ -78,3 +66,74 @@ func NewRunnerCommand(use string) *cobra.Command {
78
66
79
67
return genCmd
80
68
}
69
+
70
+ // Procedural runner command
71
+ // name: the prefix of the scene/screen
72
+ // usecases
73
+ // config path
74
+ func NewProceduralRunnerCommand (use string ) * cobra.Command {
75
+
76
+ var name string
77
+ var usecasesString string
78
+ var configFilePath string
79
+
80
+ genCmd := & cobra.Command {
81
+ Use : use ,
82
+ Short : "generate source & unit tests files" ,
83
+ Run : func (cmd * cobra.Command , args []string ) {
84
+
85
+ fmt .Println ("Please enter the prefix of the scene/screen." )
86
+ fmt .Println ("example: ArticleDetail or ChatList or UserList and so on" )
87
+ fmt .Print ("insert: " )
88
+ fmt .Scanln (& name )
89
+
90
+ fmt .Println ("\n Please enter usecases" )
91
+ fmt .Println ("example: Fetch,Delete,Update" )
92
+ fmt .Print ("insert: " )
93
+ fmt .Scanln (& usecasesString )
94
+
95
+ fmt .Println ("\n Please enter the config file" )
96
+ fmt .Println ("example: ./some_path/some_config.yaml" )
97
+ fmt .Print ("insert: " )
98
+ fmt .Scanln (& configFilePath )
99
+
100
+ run (
101
+ name ,
102
+ usecasesString ,
103
+ "" , // unused
104
+ "" , // unused
105
+ configFilePath ,
106
+ )
107
+ },
108
+ }
109
+ return genCmd
110
+ }
111
+
112
+ func run (
113
+ name string ,
114
+ usecasesString string ,
115
+ sourceDir string ,
116
+ testDir string ,
117
+ configFilePath string ,
118
+ ) {
119
+
120
+ fmt .Printf ("\033 [32m%s\033 [0m\n " , logo )
121
+
122
+ gen := gen .NewGenerator (
123
+ gen.Genflag {
124
+ Name : name ,
125
+ UsecasesString : usecasesString ,
126
+ SourceDir : sourceDir ,
127
+ TestDir : testDir ,
128
+ ConfigFilePath : configFilePath ,
129
+ },
130
+ )
131
+
132
+ err := gen .Run ()
133
+
134
+ if err != nil {
135
+ fmt .Printf ("\033 [31m[Error] failed to generate: %s\n \033 [0m" , err .Error ())
136
+ } else {
137
+ fmt .Printf ("\033 [32m[Log] Done!\n \n \033 [0m" )
138
+ }
139
+ }
0 commit comments