diff options
| author | Gustav Sörnäs <gustav@sornas.net> | 2020-11-22 23:00:36 +0100 |
|---|---|---|
| committer | Gustav Sörnäs <gustav@sornas.net> | 2020-11-22 23:00:36 +0100 |
| commit | cfc6244b9cb88ec9521ec02dd0119c3b9f9bbee9 (patch) | |
| tree | f3cf15e948d764a8baa26c742b3f560fb9d81c17 | |
| parent | 3e9712c3782fc9c1450738236c234c63022acd11 (diff) | |
| download | kodapa-cfc6244b9cb88ec9521ec02dd0119c3b9f9bbee9.tar.gz | |
implement Display for Agenda
| -rw-r--r-- | src/agenda.rs | 26 | ||||
| -rw-r--r-- | src/discord.rs | 2 | ||||
| -rw-r--r-- | src/slack.rs | 2 |
3 files changed, 18 insertions, 12 deletions
diff --git a/src/agenda.rs b/src/agenda.rs index 2543daa..a132bbb 100644 --- a/src/agenda.rs +++ b/src/agenda.rs @@ -35,6 +35,21 @@ impl Agenda { } } +impl fmt::Display for Agenda { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + let s = self + .points + .iter() + .map(|p| p.to_string()) + .collect::<Vec<_>>() + .join("\n"); + write!(f, "{}", match s.as_str() { + "" => "Empty agenda", + _ => &s + }) + } +} + pub enum Emoji { Ok, Confused, @@ -61,16 +76,7 @@ where agenda.write(); Some(Emoji::Ok) } else if message.starts_with("!agenda") { - let s = read_agenda() - .points - .iter() - .map(|p| p.to_string()) - .collect::<Vec<_>>() - .join("\n"); - send_message(match s.as_str() { - "" => "Agenda is empty".to_string(), - _ => s, - }); + send_message(read_agenda().to_string()); None } else if message.starts_with("!clear") { Agenda { points: Vec::new() }.write(); diff --git a/src/discord.rs b/src/discord.rs index e0119a4..fb121fb 100644 --- a/src/discord.rs +++ b/src/discord.rs @@ -1,4 +1,4 @@ -use crate::agenda::{parse_message, AgendaPoint, Emoji}; +use crate::agenda::{self, parse_message, AgendaPoint, Emoji}; use discord::{ model::{ChannelId, Event, PossibleServer, ReactionEmoji, UserId}, diff --git a/src/slack.rs b/src/slack.rs index 49c8cfa..9698109 100644 --- a/src/slack.rs +++ b/src/slack.rs @@ -1,4 +1,4 @@ -use crate::agenda::{parse_message, AgendaPoint, Emoji}; +use crate::agenda::{self, parse_message, AgendaPoint, Emoji}; use futures::join; use slack::{Event, Message}; |
