Skip to content

Commit

Permalink
fix(rust)
Browse files Browse the repository at this point in the history
  • Loading branch information
FGRibreau committed Oct 18, 2019
1 parent 197a9b5 commit 0a75ab4
Show file tree
Hide file tree
Showing 4 changed files with 44 additions and 22 deletions.
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
"test:python": "docker run -i -v $(pwd):/app -w /app python:2.7-alpine3.7 python test/*.test.py",
"test:python3": "docker run -i -v $(pwd):/app -w /app python:3.6-alpine3.7 python test/*.test.py",
"test:ruby": "docker run -i -v $(pwd):/app -w /app centurylink/ruby-base:2.2 ruby test/platform.ruby.test.rb",
"test:rust": "docker run -i -v $(pwd)/platform/rust:/source -e CARGO_HOME=/source/cargo jimmycuadra/rust:1.19.0 cargo test",
"test:rust": "docker run -i -v $(pwd)/platform/rust:/source -w /source -e CARGO_HOME=/source/cargo rust:1.38.0-slim-stretch cargo test",
"watch": "mocha -r should -R spec -u tdd -w",
"compile": "projectz compile",
"updtr": "updtr",
Expand Down
18 changes: 10 additions & 8 deletions platform/rust/Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

27 changes: 18 additions & 9 deletions platform/rust/src/lib.rs

Large diffs are not rendered by default.

19 changes: 15 additions & 4 deletions platform/rust/src/lib.tmpl.rs
Original file line number Diff line number Diff line change
Expand Up @@ -64,13 +64,24 @@ pub fn is_valid(email: &str) -> bool {
return !email_domain_is_in_blacklist;
}

fn all_domain_suffixes(email: &str) -> Vec<String>{
let domains = email.split("@").skip(1).collect::<String>();
let domain_part: Vec<&str> = domains.split('.').collect();
(1..domain_part.len()+1).map(|i| (domain_part[0..i]).iter().map(|&x| x).collect::<Vec<&str>>().join(".")).collect::<Vec<String>>()
fn all_domain_suffixes(email: &str) -> Vec<String> {
let domains1: Vec<&str> = email.split("@").skip(1).collect();

let mut domains = domains1.first().unwrap().split(".").collect::<Vec<&str>>();
domains.reverse();

let parts: Vec<String> = domains[1..domains.len()]
.iter()
.fold(vec![String::from(domains[0].clone())], |v, domain_part| {
let new_domain = format!("{}.{}", domain_part, v[v.len() - 1]);
return [v, vec![new_domain]].concat();
});

return parts[1..parts.len()].to_owned();
}



fn suffix_is_blacklisted(domain: &str) -> bool{
return BLACKLIST.contains(&domain)
}
Expand Down

0 comments on commit 0a75ab4

Please sign in to comment.