]> git.r.bdr.sh - rbdr/blog/blob - src/command/sync_down.rs
bba34b29a0837a1e01086dd82186986e64995a97
[rbdr/blog] / src / command / sync_down.rs
1 use std::io::{Result};
2 use crate::configuration::Configuration;
3 use crate::remote::sync_down;
4
5 pub struct SyncDown;
6
7 impl SyncDown {
8 pub fn new() -> Self {
9 SyncDown
10 }
11 }
12
13 impl super::Command for SyncDown {
14 fn before_dependencies(&self) -> Vec<Box<dyn super::Command>> {
15 vec![]
16 }
17
18 fn execute(&self, _: Option<&String>, configuration: &Configuration, command: &String) -> Result<()> {
19 if command == self.command() {
20 return sync_down(&configuration.data_directory, &configuration.remote_config);
21 }
22 return Ok(())
23 }
24
25 fn after_dependencies(&self) -> Vec<Box<dyn super::Command>> {
26 vec![]
27 }
28
29 fn command(&self) -> &'static str {
30 "sync-down"
31 }
32
33 fn help(&self) -> &'static str {
34 "\t\t\t\tPulls from the git remote if configured"
35 }
36 }
37