-use std::fs::{create_dir_all, write};
-use std::io::Result;
+use std::io::{Error, ErrorKind::Other, Result};
use crate::configuration::Configuration;
+use crate::remote::add;
pub struct AddRemote;
}
fn execute(&self, input: Option<&String>, configuration: &Configuration, _: &String) -> Result<()> {
- create_dir_all(&configuration.config_directory)?;
- let input = input.expect("You must provide a location for the remote.");
- write(&configuration.remote_config, input)?;
- return Ok(())
+ let input = input
+ .ok_or_else(|| Error::new(Other, "You must provide a location for the remote."))?;
+ add(&configuration.config_directory, &configuration.remote_config, input)
}
fn after_dependencies(&self) -> Vec<Box<dyn super::Command>> {