pub fn new(added: String, add_schedule: Option) -> serde_yaml::Value { match add_schedule.clone() { None => new_add(added), Some(add_schedule) => new_add_with_schedule(added, add_schedule), } } fn new_add(added: String) -> serde_yaml::Value { serde_yaml::Value::String(added) } fn new_add_with_schedule(added: String, schedule: String) -> serde_yaml::Value { let mut m = serde_yaml::Mapping::new(); m.insert("schedule".into(), schedule.into()); m.insert("do".into(), added.into()); serde_yaml::Value::Mapping(m) }