From 6b9fdddd8d64f9f35c4ffc37f992ab74192100e7 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 cfae5b9..5235a1c 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; @@ -40,22 +40,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()); }