feat: build commands from arguments instead of strings

This commit is contained in:
2026-09-07 13:49:24 +00:00
parent 25f7b7df9d
commit 1bb205bb79
4 changed files with 75 additions and 63 deletions

View File

@@ -13,7 +13,7 @@ pub fn down() -> Result<()> {
pub fn run(service: &str, rest: &[String]) -> Result<()> {
CommandBuilder::docker_compose()
.args("run --rm")
.args(service)
.arg(service)
.args(rest)
.exec()
}
@@ -21,7 +21,7 @@ pub fn run(service: &str, rest: &[String]) -> Result<()> {
pub fn exec(service: &str, rest: &[String]) -> Result<()> {
CommandBuilder::docker_compose()
.args("exec")
.args(service)
.arg(service)
.args(rest)
.exec()
}
@@ -30,9 +30,13 @@ pub fn ps() -> Result<()> {
CommandBuilder::docker_compose().args("ps").exec()
}
pub fn start(containers: Option<&str>) -> Result<()> {
let args = format!("start {}", containers.unwrap_or(""));
CommandBuilder::docker_compose().args(&args).exec()
pub fn start(service: Option<&str>) -> Result<()> {
let mut command = CommandBuilder::docker_compose().args("start");
if let Some(service) = service {
command = command.arg(service);
}
command.exec()
}
pub fn stop() -> Result<()> {