Smaller improvements

main v0.0.2
René Jochum 2 years ago
parent 428ceccad0
commit 9e7245efd0
Signed by: jochum
GPG Key ID: F7D906F5E51E8E5E

@ -28,7 +28,8 @@ type ComponentsKey struct{}
type Components struct { type Components struct {
components map[string]Component components map[string]Component
service micro.Service service micro.Service
flagPrefix string
} }
func Context(ctx context.Context) (*Components, error) { func Context(ctx context.Context) (*Components, error) {
@ -61,14 +62,26 @@ func New(components ...Component) *Components {
return com return com
} }
func (c *Components) SetService(service micro.Service) { func (c *Components) SetService(service micro.Service) *Components {
c.service = service c.service = service
return c
} }
func (c *Components) Service() micro.Service { func (c *Components) Service() micro.Service {
return c.service return c.service
} }
func (c *Components) SetFlagPrefix(flagPrefix string) *Components {
c.flagPrefix = flagPrefix
return c
}
func (c *Components) FlagPrefix() string {
return c.flagPrefix
}
func (c *Components) Add(components ...Component) { func (c *Components) Add(components ...Component) {
for _, component := range components { for _, component := range components {
if component == nil { if component == nil {
@ -102,7 +115,7 @@ func (c *Components) Must(name string) Component {
func (c *Components) MergeFlags(flags []cli.Flag) []cli.Flag { func (c *Components) MergeFlags(flags []cli.Flag) []cli.Flag {
for _, component := range c.components { for _, component := range c.components {
flags = component.MergeFlags(flags) flags = component.MergeFlags(c, flags)
} }
return flags return flags

@ -11,9 +11,9 @@ type Component interface {
Name() string Name() string
Priority() int Priority() int
Initialized() bool Initialized() bool
Init(components *Components, context *cli.Context) error Init(components *Components, cli *cli.Context) error
Stop() error Stop() error
MergeFlags(cli []cli.Flag) []cli.Flag MergeFlags(components *Components, flags []cli.Flag) []cli.Flag
Health(context context.Context) (string, bool) Health(context context.Context) (string, bool)
WrapperFunc(ctx context.Context, req server.Request, rsp interface{}) error WrapperFunc(ctx context.Context, req server.Request, rsp interface{}) error

Loading…
Cancel
Save