From a3f7fe1399fae42f9f9386a59c520c34ff705a29 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafael=20Mendon=C3=A7a=20Fran=C3=A7a?= Date: Thu, 28 Mar 2024 17:44:33 +0000 Subject: [PATCH] Remove duplication --- src/main.rs | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/src/main.rs b/src/main.rs index c30128d..e4c758c 100644 --- a/src/main.rs +++ b/src/main.rs @@ -4,7 +4,7 @@ mod docker_client; mod rails_new; use rails_new::{Cli, Commands}; -use std::io::Write; +use std::{io::Write, process::Command}; use clap::Parser; @@ -34,22 +34,20 @@ fn main() { assert!(status.success()); + let mut command: Command; + match &cli.command { Some(Commands::RailsHelp {}) => { - let status = DockerClient::get_help(&ruby_version, &rails_version) - .status() - .expect("Failed to execute process"); - - assert!(status.success()); + command = DockerClient::get_help(&ruby_version, &rails_version) } None => { // Run the image with docker run -v $(pwd):/$(pwd) -w $(pwd) rails-new-$RUBY_VERSION-$RAILS_VERSION rails new $@ - let status = DockerClient::run_image(&ruby_version, &rails_version, cli.args) - .status() - .expect("Failed to execute process"); - - assert!(status.success()); + command = DockerClient::run_image(&ruby_version, &rails_version, cli.args) } } + + let status = command.status().expect("Failed to execute process"); + + assert!(status.success()); }