From 2e52521ee797665fcfd8adbdc7b00e2a1236fea3 Mon Sep 17 00:00:00 2001 From: franklin Date: Thu, 25 Mar 2021 12:31:53 +0100 Subject: [PATCH] refactor: extract parseExtraArgs --- cmd/actions/down.go | 21 +++------------------ cmd/actions/root.go | 10 ++++++++++ cmd/actions/up.go | 12 ++---------- 3 files changed, 15 insertions(+), 28 deletions(-) diff --git a/cmd/actions/down.go b/cmd/actions/down.go index e93ee99..d39555b 100644 --- a/cmd/actions/down.go +++ b/cmd/actions/down.go @@ -17,31 +17,16 @@ var ( Example: " squadron down --namespace demo", Args: cobra.MinimumNArgs(0), RunE: func(cmd *cobra.Command, args []string) error { - var extraArgs []string - var units []string - for i, arg := range args { - if arg == "--" { - extraArgs = args[i:] - units = args[:i] - } - } - return down(log, units, cwd, flagNamespace, extraArgs) + _, helmArgs := parseExtraArgs(args) + return down(log, cwd, flagNamespace, helmArgs) }, } ) -func down(l *logrus.Entry, unitNames []string, cwd, namespace string, extraArgs []string) error { +func down(l *logrus.Entry, cwd, namespace string, extraArgs []string) error { sq, err := squadron.New(l, cwd, namespace, nil) if err != nil { return err } - - var units map[string]squadron.Unit - if len(unitNames) == 0 { - units = sq.Units() - } - for _, un := range unitNames { - units[un] = sq.Units()[un] - } return sq.Down(extraArgs) } diff --git a/cmd/actions/root.go b/cmd/actions/root.go index 86d7b8e..1619860 100644 --- a/cmd/actions/root.go +++ b/cmd/actions/root.go @@ -53,3 +53,13 @@ func newLogger(verbose bool) *logrus.Entry { } return logrus.NewEntry(logger) } + +func parseExtraArgs(args []string) (out []string, extraArgs []string) { + for i, arg := range args { + if arg == "--" { + out, extraArgs = args[:i], args[i+1:] + break + } + } + return +} diff --git a/cmd/actions/up.go b/cmd/actions/up.go index aa26340..789cc3e 100644 --- a/cmd/actions/up.go +++ b/cmd/actions/up.go @@ -19,16 +19,8 @@ var ( Example: " squadron up frontend backend --build --push --namespace demo -- --dry-run", Args: cobra.MinimumNArgs(0), RunE: func(cmd *cobra.Command, args []string) error { - var extraArgs []string - units := args - for i, arg := range args { - if arg == "--" { - extraArgs = args[i+1:] - units = args[:i] - break - } - } - return up(log, units, cwd, flagNamespace, flagBuild, flagPush, flagFiles, extraArgs) + unitNames, helmArgs := parseExtraArgs(args) + return up(log, unitNames, cwd, flagNamespace, flagBuild, flagPush, flagFiles, helmArgs) }, } )