summaryrefslogtreecommitdiff
path: root/snippets
diff options
context:
space:
mode:
Diffstat (limited to 'snippets')
-rw-r--r--snippets103
1 files changed, 103 insertions, 0 deletions
diff --git a/snippets b/snippets
new file mode 100644
index 0000000..dc4e601
--- /dev/null
+++ b/snippets
@@ -0,0 +1,103 @@
+
+
+ match self.vcard_data.get_mut() {
+ Some(vcard_builder) => *vcard_builder = vcard_builder.with_name(
+ parameters!(),
+ name.last_name.is_empty().then(|| name.last_name),
+ name.first_name.is_empty().then(|| name.first_name),
+ name.middle_name.is_empty().then(|| name.middle_name),
+ name.prefix.is_empty().then(|| name.prefix),
+ name.suffix.is_empty().then(|| name.suffix)
+ ),
+ None => (),
+ };
+
+ --------------------------------------------------------------
+
+ let mut types = String::new();
+ if address.work {
+ types.push_str("WORK");
+ }
+ if address.home {
+ if types.is_empty() {
+ types.push(',');
+ }
+ types.push_str("HOME")
+ }
+
+ match self.vcard_data.get_mut() {
+ Some(vcard_builder) => *vcard_builder = vcard_builder.with_adr(
+ parameters!("TYPE" => types),
+ address.post_office_box.is_empty().then(|| address.post_office_box),
+ address.extension.is_empty().then(|| address.extension),
+ address.street.is_empty().then(|| address.street),
+ address.locality.is_empty().then(|| address.locality),
+ address.region.is_empty().then(|| address.region),
+ address.code.is_empty().then(|| address.code),
+ address.country.is_empty().then(|| address.country),
+ ),
+ None => (),
+ };
+
+ ----------------------------------------------------------------
+
+ let mut types = String::new();
+ if telephone.work {
+ types.push_str("WORK");
+ }
+ if telephone.home {
+ if types.is_empty() {
+ types.push(',');
+ }
+ types.push_str("HOME")
+ }
+ if telephone.text {
+ if types.is_empty() {
+ types.push(',');
+ }
+ types.push_str("TEXT")
+ }
+ if telephone.voice {
+ if types.is_empty() {
+ types.push(',');
+ }
+ types.push_str("VOICE")
+ }
+ if telephone.fax {
+ if types.is_empty() {
+ types.push(',');
+ }
+ types.push_str("FAX")
+ }
+ if telephone.cell {
+ if types.is_empty() {
+ types.push(',');
+ }
+ types.push_str("CELL")
+ }
+ if telephone.video {
+ if types.is_empty() {
+ types.push(',');
+ }
+ types.push_str("VIDEO")
+ }
+ if telephone.pager {
+ if types.is_empty() {
+ types.push(',');
+ }
+ types.push_str("PAGER")
+ }
+ if telephone.text_phone {
+ if types.is_empty() {
+ types.push(',');
+ }
+ types.push_str("TEXTPHONE")
+ }
+
+ match self.vcard_data.get_mut() {
+ Some(vcard_builder) => *vcard_builder = vcard_builder.with_tel(
+ parameters!("TYPE" => types),
+ telephone.number,
+ ),
+ None => (),
+ }; \ No newline at end of file