#[macro_export]
macro_rules! office_hours {
({ $($code:stmt)* }) => {{
use office_hours::Clock;
office_hours!(Clock::NineAm, Clock::FivePm, { $($code)* })
}};
($start:expr, $finish:expr, { $($code:stmt)* }) => {{
use office_hours::{Clock, OfficeHours};
let office_hours = OfficeHours::new($start, $finish);
if office_hours.now() {
$($code)*
}
}};
($start_var:expr, $finish_var:expr, | $start:pat_param, $finish:pat_param | { $($code:stmt)* }) => {{
use office_hours::{Clock, OfficeHours};
let office_hours = OfficeHours::new($start_var, $finish_var);
let $start = &office_hours.start;
let $finish = &office_hours.finish;
if office_hours.now() {
$($code)*
}
}};
}