fej/src/ivago/controller/structs/pickup_time.rs

33 lines
797 B
Rust

use super::BasicDate;
use serde::ser::{Serialize, SerializeStruct, Serializer};
/// Represents a pickup time instance. All fields are a direct map of the
/// original API
pub struct PickupTime {
date: BasicDate,
label: String,
}
impl PickupTime {
pub fn new(date: BasicDate, label: String) -> PickupTime {
PickupTime {
date: date,
label: label,
}
}
}
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