]> git.r.bdr.sh - rbdr/blog/blob - src/command/add_remote.rs
040e5729b25201ce0160433f1170635a8097b987
[rbdr/blog] / src / command / add_remote.rs
1 use std::io::Result;
2 use crate::configuration::Configuration;
3 use crate::remote::add;
4
5 pub struct AddRemote;
6
7 impl AddRemote {
8 pub fn new() -> Self {
9 AddRemote
10 }
11 }
12
13 impl super::Command for AddRemote {
14 fn before_dependencies(&self) -> Vec<Box<dyn super::Command>> {
15 vec![]
16 }
17
18 fn execute(&self, input: Option<&String>, configuration: &Configuration, _: &String) -> Result<()> {
19 let input = input.expect("You must provide a location for the remote.");
20 add(&configuration.config_directory, &configuration.remote_config, input)
21 }
22
23 fn after_dependencies(&self) -> Vec<Box<dyn super::Command>> {
24 vec![]
25 }
26
27 fn command(&self) -> &'static str {
28 "add-remote"
29 }
30
31 fn help(&self) -> &'static str {
32 "<git_url>\t\tAdds or updates a git remote to sync with"
33 }
34 }