shiny_common/
clock.rs

1use chrono::{DateTime, Utc};
2
3pub trait Clock: Send + Sync {
4    fn now(&self) -> DateTime<Utc>;
5}
6
7pub struct StaticClock(pub DateTime<Utc>);
8
9impl Clock for StaticClock {
10    fn now(&self) -> DateTime<Utc> {
11        self.0
12    }
13}
14
15pub struct SystemClock;
16
17impl Clock for SystemClock {
18    fn now(&self) -> DateTime<Utc> {
19        Utc::now()
20    }
21}