Skip to content

Commit

Permalink
Merge pull request #5 from GeekTree0101/feature/procedural_command
Browse files Browse the repository at this point in the history
Support a procedural command line scanner RunnerCommand
  • Loading branch information
GeekTree0101 authored Aug 29, 2021
2 parents 1da75a7 + b8af8d2 commit 33f3ed9
Showing 1 changed file with 77 additions and 18 deletions.
95 changes: 77 additions & 18 deletions runner.go
Original file line number Diff line number Diff line change
Expand Up @@ -41,31 +41,19 @@ func NewRunnerCommand(use string) *cobra.Command {
Short: "generate source & unit tests files",
Run: func(cmd *cobra.Command, args []string) {

fmt.Printf("\033[32m%s\033[0m\n", logo)

if len(name) == 0 {
fmt.Println("[Error] invalid usecase name\033[0m")
return
}

gen := gen.NewGenerator(
gen.Genflag{
Name: name,
UsecasesString: usecasesString,
SourceDir: sourceDir,
TestDir: testDir,
ConfigFilePath: configFilePath,
},
run(
name,
usecasesString,
sourceDir,
testDir,
configFilePath,
)

err := gen.Run()

if err != nil {
fmt.Printf("\033[31m[Error] failed to generate: %s\n\033[0m", err.Error())
} else {
fmt.Printf("\033[32m[Log] Done!\n\n\033[0m")
}

},
}

Expand All @@ -78,3 +66,74 @@ func NewRunnerCommand(use string) *cobra.Command {

return genCmd
}

// Procedural runner command
// name: the prefix of the scene/screen
// usecases
// config path
func NewProceduralRunnerCommand(use string) *cobra.Command {

var name string
var usecasesString string
var configFilePath string

genCmd := &cobra.Command{
Use: use,
Short: "generate source & unit tests files",
Run: func(cmd *cobra.Command, args []string) {

fmt.Println("Please enter the prefix of the scene/screen.")
fmt.Println("example: ArticleDetail or ChatList or UserList and so on")
fmt.Print("insert: ")
fmt.Scanln(&name)

fmt.Println("\nPlease enter usecases")
fmt.Println("example: Fetch,Delete,Update")
fmt.Print("insert: ")
fmt.Scanln(&usecasesString)

fmt.Println("\nPlease enter the config file")
fmt.Println("example: ./some_path/some_config.yaml")
fmt.Print("insert: ")
fmt.Scanln(&configFilePath)

run(
name,
usecasesString,
"", // unused
"", // unused
configFilePath,
)
},
}
return genCmd
}

func run(
name string,
usecasesString string,
sourceDir string,
testDir string,
configFilePath string,
) {

fmt.Printf("\033[32m%s\033[0m\n", logo)

gen := gen.NewGenerator(
gen.Genflag{
Name: name,
UsecasesString: usecasesString,
SourceDir: sourceDir,
TestDir: testDir,
ConfigFilePath: configFilePath,
},
)

err := gen.Run()

if err != nil {
fmt.Printf("\033[31m[Error] failed to generate: %s\n\033[0m", err.Error())
} else {
fmt.Printf("\033[32m[Log] Done!\n\n\033[0m")
}
}

0 comments on commit 33f3ed9

Please sign in to comment.