1use bstr::BStr;
2
3use crate::Entry;
4
5impl<'a> Entry<'a> {
7 pub fn new_name(&self) -> Option<&'a BStr> {
9 self.new_name
10 }
11 pub fn new_email(&self) -> Option<&'a BStr> {
13 self.new_email
14 }
15 pub fn old_name(&self) -> Option<&'a BStr> {
17 self.old_name
18 }
19 pub fn old_email(&self) -> &'a BStr {
21 self.old_email
22 }
23}
24
25#[allow(missing_docs)]
29impl<'a> Entry<'a> {
30 pub fn change_name_by_email(proper_name: impl Into<&'a BStr>, commit_email: impl Into<&'a BStr>) -> Self {
31 Entry {
32 new_name: Some(proper_name.into()),
33 old_email: commit_email.into(),
34 ..Default::default()
35 }
36 }
37 pub fn change_email_by_email(proper_email: impl Into<&'a BStr>, commit_email: impl Into<&'a BStr>) -> Self {
38 Entry {
39 new_email: Some(proper_email.into()),
40 old_email: commit_email.into(),
41 ..Default::default()
42 }
43 }
44 pub fn change_name_and_email_by_email(
45 proper_name: impl Into<&'a BStr>,
46 proper_email: impl Into<&'a BStr>,
47 commit_email: impl Into<&'a BStr>,
48 ) -> Self {
49 Entry {
50 new_name: Some(proper_name.into()),
51 new_email: Some(proper_email.into()),
52 old_email: commit_email.into(),
53 ..Default::default()
54 }
55 }
56
57 pub fn change_name_and_email_by_name_and_email(
58 proper_name: impl Into<&'a BStr>,
59 proper_email: impl Into<&'a BStr>,
60 commit_name: impl Into<&'a BStr>,
61 commit_email: impl Into<&'a BStr>,
62 ) -> Self {
63 Entry {
64 new_name: Some(proper_name.into()),
65 new_email: Some(proper_email.into()),
66 old_name: Some(commit_name.into()),
67 old_email: commit_email.into(),
68 }
69 }
70}