refactor: standardize help generation

This commit is contained in:
Jose Diaz-Gonzalez
2020-02-10 00:37:00 -05:00
parent be5ea845fc
commit ef7894fdfa
67 changed files with 816 additions and 603 deletions

View File

@@ -1,6 +1,6 @@
#!/usr/bin/env bash
[[ " help proxy:help " == *" $1 "* ]] || exit "$DOKKU_NOT_IMPLEMENTED_EXIT"
source "$PLUGIN_AVAILABLE_PATH/proxy/internal-functions"
source "$PLUGIN_AVAILABLE_PATH/proxy/help-functions"
set -eo pipefail
[[ $DOKKU_TRACE ]] && set -x

41
plugins/proxy/help-functions Executable file
View File

@@ -0,0 +1,41 @@
#!/usr/bin/env bash
set -eo pipefail
[[ $DOKKU_TRACE ]] && set -x
cmd-proxy-help() {
declare desc="help command"
declare CMD="$1"
local plugin_name="proxy"
local plugin_description="Manage the proxy integration for an app"
if [[ "$CMD" == "$plugin_name:help" ]]; then
echo -e "Usage: dokku $plugin_name[:COMMAND]"
echo ''
echo "$plugin_description"
echo ''
echo 'Additional commands:'
fn-help-content | sort | column -c2 -t -s,
elif [[ $(ps -o command= $PPID) == *"--all"* ]]; then
fn-help-content
else
cat <<help_desc
$plugin_name, $plugin_description
help_desc
fi
}
fn-help-content() {
declare desc="return help content"
cat <<help_content
proxy <app>, [DEPRECATED] Show proxy settings for app
proxy:disable <app>, Disable proxy for app
proxy:enable <app>, Enable proxy for app
proxy:ports <app>, List proxy port mappings for app
proxy:ports-add <app> [<scheme>:<host-port>:<container-port>...], Add proxy port mappings to an app
proxy:ports-clear <app>, Clear all proxy port mappings for an app
proxy:ports-remove <app> [<host-port>|<scheme>:<host-port>:<container-port>...], Remove specific proxy port mappings from an app
proxy:ports-set <app> [<scheme>:<host-port>:<container-port>...], Set proxy port mappings for an app
proxy:report [<app>] [<flag>], Displays a proxy report for one or more apps
proxy:set <app> <proxy-type>, Set proxy type for app
help_content
}

View File

@@ -75,36 +75,3 @@ fn-proxy-enabled() {
fi
echo "$PROXY_ENABLED"
}
proxy_help_content_func() {
declare desc="return proxy plugin help content"
cat <<help_content
proxy <app>, [DEPRECATED] Show proxy settings for app
proxy:disable <app>, Disable proxy for app
proxy:enable <app>, Enable proxy for app
proxy:ports <app>, List proxy port mappings for app
proxy:ports-add <app> [<scheme>:<host-port>:<container-port>...], Add proxy port mappings to an app
proxy:ports-clear <app>, Clear all proxy port mappings for an app
proxy:ports-remove <app> [<host-port>|<scheme>:<host-port>:<container-port>...], Remove specific proxy port mappings from an app
proxy:ports-set <app> [<scheme>:<host-port>:<container-port>...], Set proxy port mappings for an app
proxy:report [<app>] [<flag>], Displays a proxy report for one or more apps
proxy:set <app> <proxy-type>, Set proxy type for app
help_content
}
cmd-proxy-help() {
if [[ $1 == "proxy:help" ]]; then
echo -e 'Usage: dokku proxy[:COMMAND]'
echo ''
echo 'Manage the proxy used by dokku on a per app.'
echo ''
echo 'Additional commands:'
proxy_help_content_func | sort | column -c2 -t -s,
elif [[ $(ps -o command= $PPID) == *"--all"* ]]; then
proxy_help_content_func
else
cat <<help_desc
proxy, Manage the proxy used by dokku on a per app
help_desc
fi
}