예제 #1
0
파일: cli.go 프로젝트: sdaros/passgo
func registerCliFlagsWithPassgoRegistrar(passgo *app.App, flagSet *flag.FlagSet) {
	passgo.Register("passgoFlags", PassgoFlags)
	flagsToParse := passgo.Lookup("passgoFlags").([]PassgoFlag)
	for _, flag := range flagsToParse {
		flagSet.Var(flag, flag.Name(), flag.Usage())
		passgo.Register(flag.Name(), flag)
	}
}
예제 #2
0
func registerPasswordCommandParamsWithPassgoRegistrar(passgo *app.App) *app.App {
	pLength := password.NewLength()
	pLength.Set("10")
	passgo.Register(pLength.Name(), pLength)

	noSymbols := password.NewNoSymbols()
	passgo.Register(noSymbols.Name(), noSymbols)

	return passgo
}
예제 #3
0
파일: cli.go 프로젝트: sdaros/passgo
func thenRegisterCommandToExecute(passgo *app.App) func(*flag.Flag) {
	fn := func(f *flag.Flag) {
		currentFlag := f.Value.(PassgoFlag)
		currentFlagIsOf := cmd.PassgoCommands[currentFlag.Name()]
		switch currentFlagIsOf.(type) {
		case cmd.Command:
			commandToExecute := currentFlagIsOf
			passgo.Register("commandToExecute", commandToExecute)
		}
	}
	return fn
}
예제 #4
0
func registerGenerateCommandFlagsWithPassgoRegistrar(passgo *app.App) *app.App {
	url := generate.NewUrl()
	url.Set("https://cip.li")
	passgo.Register(url.Name(), url)

	userName := generate.NewUserName()
	userName.Set("zap_rowsdower")
	passgo.Register(userName.Name(), userName)

	pLength := password.NewLength()
	pLength.Set("10")
	passgo.Register(pLength.Name(), pLength)

	noSymbols := password.NewNoSymbols()
	passgo.Register(noSymbols.Name(), noSymbols)

	return passgo
}