fej/src/fej/ivago/pickup_time.rs

36 lines
919 B
Rust
Raw Normal View History

use super::BasicDate;
use serde::ser::{Serialize, SerializeStruct, Serializer};
/// Represents a date when a pickup will occur. Label describes which type of
/// trash will be picked up.
2021-04-05 12:20:55 +02:00
pub struct PickupTime {
date: BasicDate,
label: String,
}
impl PickupTime {
/// Creates a new PickupTime instance.
///
/// # Arguments
///
/// * `date` - Date of pickup time
/// * `label` - Type of trash
2021-04-05 12:20:55 +02:00
pub fn new(date: BasicDate, label: String) -> PickupTime {
2021-05-11 22:11:35 +02:00
PickupTime { date, label }
2021-04-05 12:20:55 +02:00
}
}
impl Serialize for PickupTime {
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where
S: Serializer,
{
let mut s = serializer.serialize_struct("PickupTime", 2)?;
s.serialize_field("date", &self.date)?;
s.serialize_field("label", &self.label)?;
s.end()
}
}
// I'd put tests here, but there's barely anything to do