diff --git a/plugins/config/config.go b/plugins/config/config.go index 61d4ddbd1..401ff3c35 100644 --- a/plugins/config/config.go +++ b/plugins/config/config.go @@ -5,11 +5,10 @@ import ( "github.com/dokku/dokku/plugins/common" configenv "github.com/dokku/dokku/plugins/config/src/configenv" - columnize "github.com/ryanuber/columnize" ) //GetWithDefault gets a value from a config. If appName is empty the global config is used. -func GetWithDefault(appName string, key string, defaultValue string) string { +func GetWithDefault(appName string, key string, defaultValue string) (value string) { env, err := loadConfig(appName) if err != nil { return defaultValue @@ -18,12 +17,12 @@ func GetWithDefault(appName string, key string, defaultValue string) string { } //HasKey determines if the config given by appName has a value for the given key -func HasKey(appName string, key string) bool { +func HasKey(appName string, key string) (ok bool) { env, err := loadConfig(appName) if err != nil { return false } - _, ok := env.Get(key) + _, ok = env.Get(key) return ok } @@ -68,22 +67,9 @@ func UnsetMany(appName string, keys []string, restart bool) { } } -//PrettyPrintEnvEntries in columns -func PrettyPrintEnvEntries(prefix string, entries map[string]string) string { - colConfig := columnize.DefaultConfig() - colConfig.Prefix = prefix - colConfig.Delim = "\x00" - lines := make([]string, 0, len(entries)) - for k, v := range entries { - lines = append(lines, fmt.Sprintf("%s:\x00%s", k, v)) - } - return columnize.Format(lines, colConfig) -} - //GetCommonArgs extracts common positional args (appName and keys) -func GetCommonArgs(global bool, args []string) (string, []string) { +func GetCommonArgs(global bool, args []string) (appName string, keys []string) { nextArg := 0 - appName := "" if !global { if len(args) > 0 { appName = args[0] @@ -94,12 +80,12 @@ func GetCommonArgs(global bool, args []string) (string, []string) { nextArg++ } } - keys := args[nextArg:] + keys = args[nextArg:] return appName, keys } //GetConfig for the given app (global config if appName is empty). Merge with global config if merged is true. -func GetConfig(appName string, merged bool) *configenv.Env { +func GetConfig(appName string, merged bool) (env *configenv.Env) { env, err := loadConfig(appName) if err != nil { common.LogFail(err.Error()) @@ -121,7 +107,7 @@ func Restart(appName string) { common.PlugnTrigger("app-restart", appName) } -func loadConfig(appName string) (*configenv.Env, error) { +func loadConfig(appName string) (env *configenv.Env, err error) { if appName == "" || appName == "--global" { return configenv.LoadGlobal() } diff --git a/plugins/config/src/configenv/configenv.go b/plugins/config/src/configenv/configenv.go index be8b1632d..c07c4a677 100644 --- a/plugins/config/src/configenv/configenv.go +++ b/plugins/config/src/configenv/configenv.go @@ -123,10 +123,10 @@ func (e *Env) ExportBundle(dest io.Writer) error { } //LoadApp loads an environment for the given app -func LoadApp(appName string) (*Env, error) { +func LoadApp(appName string) (env *Env, err error) { appfile, err := getAppFile(appName) if err != nil { - return nil, err + return } return loadFromFile(appName, appfile) } @@ -137,15 +137,16 @@ func LoadGlobal() (*Env, error) { } //NewFromString creates an env from the given ENVFILE contents representation -func NewFromString(rep string) (*Env, error) { +func NewFromString(rep string) (env *Env, err error) { envMap, err := godotenv.Unmarshal(rep) - env := &Env{ + env = &Env{ "", "", envMap, } - return env, err + return } + func loadFromFile(name string, filename string) (env *Env, err error) { envMap := make(map[string]string) if _, err := os.Stat(filename); err == nil { @@ -178,19 +179,19 @@ func (e *Env) Unset(key string) { } //Keys gets the keys in this environment -func (e *Env) Keys() []string { - keys := make([]string, 0, len(e.env)) +func (e *Env) Keys() (keys []string) { + keys = make([]string, 0, len(e.env)) for k := range e.env { keys = append(keys, k) } sort.Strings(keys) - return keys + return } //Get an environment variable -func (e *Env) Get(key string) (string, bool) { - v, ok := e.env[key] - return v, ok +func (e *Env) Get(key string) (value string, ok bool) { + value, ok = e.env[key] + return } //GetDefault an environment variable or a default if it doesnt exist