reactive_graph_tooling/tooling/repository/
args.rs

1use crate::tooling::repository::Repository;
2use clap::Parser;
3
4#[derive(Debug, Parser)]
5pub struct RepositoryArgs {
6    /// The repository owner.
7    #[clap(short, long)]
8    repository_owner: Option<String>,
9
10    /// The repository name.
11    #[clap(short, long)]
12    repository_name: Option<String>,
13}
14
15impl RepositoryArgs {
16    pub fn repository_owner(&self, default_repository: &Box<dyn Repository>) -> String {
17        self.repository_owner.clone().unwrap_or(default_repository.repository_owner())
18    }
19    pub fn repository_name(&self, default_repository: &Box<dyn Repository>) -> String {
20        self.repository_name.clone().unwrap_or(default_repository.repository_name())
21    }
22}