diff options
| author | Kevin J Hoerr <kjhoerr@protonmail.com> | 2019-10-29 00:21:26 -0400 |
|---|---|---|
| committer | Kevin J Hoerr <kjhoerr@protonmail.com> | 2019-10-29 00:21:26 -0400 |
| commit | 067e9784b54e4645412e5e7d8d7d2bc70bdcf646 (patch) | |
| tree | 08dfd1a323a88f5db41eb25b568fc9b9b88b0b03 /src/routes/messages/mod.rs | |
| parent | 7fa4d1973e6f82551d842919e54629b9a7ab08f0 (diff) | |
| download | august-offensive-067e9784b54e4645412e5e7d8d7d2bc70bdcf646.tar.gz august-offensive-067e9784b54e4645412e5e7d8d7d2bc70bdcf646.tar.bz2 august-offensive-067e9784b54e4645412e5e7d8d7d2bc70bdcf646.zip | |
Split messages into separate module; add unit tests for each message type
Diffstat (limited to 'src/routes/messages/mod.rs')
| -rw-r--r-- | src/routes/messages/mod.rs | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/src/routes/messages/mod.rs b/src/routes/messages/mod.rs new file mode 100644 index 0000000..26ae1bb --- /dev/null +++ b/src/routes/messages/mod.rs @@ -0,0 +1,23 @@ +use std::marker::Sized; + +pub mod callback; +pub mod not_understood; + +#[derive(Serialize)] +pub struct OutgoingMsg<T> { + pub result_type: String, + pub content: T, +} + +pub trait Message { + fn name(&self) -> String; + fn as_outgoing(self) -> OutgoingMsg<Self> + where + Self: Sized, + { + OutgoingMsg { + result_type: self.name(), + content: self, + } + } +} |
