Skip to content

Instantly share code, notes, and snippets.

@elpete
Created November 18, 2015 17:58
Show Gist options
  • Select an option

  • Save elpete/c0ed68079e5ad631fa4a to your computer and use it in GitHub Desktop.

Select an option

Save elpete/c0ed68079e5ad631fa4a to your computer and use it in GitHub Desktop.
CommandBox Toggle Command and Aliases
# CommandBox
alias bss="box server toggle"
alias bsa="box server stop --all"
alias bfa="box server forget --all --force"
alias bsfa="box server stop --all --forget"
{
"name": "server-toggle",
"version": "1.0.0",
"author": "Eric Peterson",
"createPackageDirectory": true,
"packageDirectory": "server",
"homepage": "https://github.com/elpete/cbox-server-toggle",
"repository": {
"type": "git",
"URL": "https://github.com/elpete/cbox-server-toggle"
},
"bugs": "https://github.com/elpete/cbox-server-toggle/issues",
"slug": "server-toggle",
"shortDescription": "Toggles the status of a CommandBox server",
"type": "commandbox-commands",
"keywords": "server,toggle,commandbox",
"private": false
}
/**
* Toggle an embedded CFML server. Run command from the web root of the server, or use the short name.
* .
* {code:bash}
* server toggle
* server toggle --!open
* server toggle serverName
* {code}
**/
component extends="commandbox.system.BaseCommand" aliases="toggle" excludeFromHelp=false {
// DI
property name="serverService" inject="ServerService";
/**
* @name.hint the short name of the server to stop
* @name.optionsUDF serverNameComplete
* @directory.hint web root for the server
* @open.hint open a browser after starting
**/
function run(string name="", string directory="", boolean openbrowser=true) {
// Discover by shortname or webroot and get server info
variables.server = serverService.getServerInfoByDiscovery(
directory = arguments.directory,
name = arguments.name
);
if (variables.server.keyExists("status") && (
variables.server.status == "running" ||
variables.server.status == "started"
)
) {
runCommand("server stop")
} else {
var openFlag = arguments.openbrowser ? "" : " --!openbrowser";
runCommand("server start #openFlag#");
}
}
function serverNameComplete() {
return serverService.getServerNames();
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment