diff options
author | Pietro Albini <pietro@pietroalbini.org> | 2019-01-22 15:37:15 +0100 |
---|---|---|
committer | Pietro Albini <pietro@pietroalbini.org> | 2019-01-22 15:38:52 +0100 |
commit | a019513efb557941dcf301aba5585aa5111f2279 (patch) | |
tree | d772db52fe2cb83de68314d6108aa194463549cb /src/validate.rs | |
parent | b04ab9108b4324da2bad7e5b560c9339b2a90066 (diff) |
add support for `email = false` to disable email validation
This allows a person to explicitly opt out from the mailing lists.
Diffstat (limited to 'src/validate.rs')
-rw-r--r-- | src/validate.rs | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/validate.rs b/src/validate.rs index 3c2d6c7..c9c66a5 100644 --- a/src/validate.rs +++ b/src/validate.rs @@ -1,5 +1,6 @@ use crate::data::Data; use failure::{bail, Error}; +use crate::schema::Email; use regex::Regex; use std::collections::HashSet; @@ -107,7 +108,7 @@ fn validate_list_email_addresses(data: &Data, errors: &mut Vec<String>) { } wrapper(team.members(data)?.iter(), errors, |member, _| { let member = data.person(member).unwrap(); - if member.email().is_none() { + if let Email::Missing = member.email() { bail!( "person `{}` is a member of a mailing list but has no email address", member.github() @@ -179,7 +180,7 @@ fn validate_list_addresses(data: &Data, errors: &mut Vec<String>) { /// Ensure people email addresses are correct fn validate_people_addresses(data: &Data, errors: &mut Vec<String>) { wrapper(data.people(), errors, |person, _| { - if let Some(email) = person.email() { + if let Email::Present(email) = person.email() { if !email.contains('@') { bail!("invalid email address of `{}`: {}", person.github(), email); } |