Rework MergeFlags->Flags

main v0.0.10
René Jochum 2 years ago
parent 1e63bfe02f
commit 6be17a8fce
Signed by: jochum
GPG Key ID: F7D906F5E51E8E5E

@ -101,9 +101,9 @@ func (c *Components) Must(name string) Component {
return component
}
func (c *Components) MergeFlags(flags []cli.Flag) []cli.Flag {
func (c *Components) AppendFlags(flags []cli.Flag) []cli.Flag {
for _, component := range c.components {
flags = component.MergeFlags(c, flags)
flags = append(flags, component.Flags(c, flags)...)
}
return flags

@ -90,13 +90,15 @@ func (c *LogrusComponet) Stop() error {
return nil
}
func (c *LogrusComponet) MergeFlags(r *components.Components, flags []cli.Flag) []cli.Flag {
return components.MergeFlag(flags, &cli.StringFlag{
Name: fmt.Sprintf("%s_loglevel", strings.ToLower(r.FlagPrefix())),
Value: "info",
Usage: "Logrus log level default 'info', {panic,fatal,error,warn,info,debug,trace} available",
EnvVars: []string{fmt.Sprintf("%s_LOG_LEVEL", strings.ToUpper(r.FlagPrefix()))},
})
func (c *LogrusComponet) Flags(r *components.Components, flags []cli.Flag) []cli.Flag {
return []cli.Flag{
&cli.StringFlag{
Name: fmt.Sprintf("%s_loglevel", strings.ToLower(r.FlagPrefix())),
Value: "info",
Usage: "Logrus log level default 'info', {panic,fatal,error,warn,info,debug,trace} available",
EnvVars: []string{fmt.Sprintf("%s_LOG_LEVEL", strings.ToUpper(r.FlagPrefix()))},
},
}
}
func (c *LogrusComponet) Health(context context.Context) error {

@ -1,27 +0,0 @@
package components
import "github.com/urfave/cli/v2"
func MergeFlag(flags []cli.Flag, flag cli.Flag) []cli.Flag {
has := false
for _, f := range flags {
if f.Names()[0] == flag.Names()[0] {
has = true
break
}
}
if has {
return flags
}
return append(flags, flag)
}
func MergeFlags(flags []cli.Flag, newFlags ...cli.Flag) []cli.Flag {
for _, f := range newFlags {
flags = MergeFlag(flags, f)
}
return flags
}

@ -13,7 +13,7 @@ type Component interface {
Initialized() bool
Init(components *Components, cli *cli.Context) error
Stop() error
MergeFlags(r *Components, flags []cli.Flag) []cli.Flag
Flags(r *Components, flags []cli.Flag) []cli.Flag
Health(context context.Context) error
WrapHandlerFunc(ctx context.Context, req server.Request, rsp interface{}) error

Loading…
Cancel
Save