Extract the project name from a Github origin URL
(origin: &str)
| 99 | |
| 100 | /// Extract the project name from a Github origin URL |
| 101 | pub fn get_github_project_name(origin: &str) -> Option<String> { |
| 102 | trace!("Getting project name for: {}", origin); |
| 103 | let project_regex = |
| 104 | Regex::new(r"((http[s]?|ssh)://)?(\S+@)?[^:/]+[:/](?P<project>\S+?)(\.git)?$").unwrap(); |
| 105 | let captures = project_regex.captures(origin)?.name("project")?; |
| 106 | Some(String::from(captures.as_str())) |
| 107 | } |
| 108 | |
| 109 | #[cfg(test)] |
| 110 | mod tests { |
no outgoing calls